.NetCore项目nginx发布

简介: .NetCore项目nginx发布

环境:

系统:win10专业版


开发工具:Visual Studio 2019


.NET环境:.NET Core 3.1


项目:ASP.NET Core Web API


运行系统:Alibaba Cloud Linux 3.2104 LTS 64位 快速启动版


服务器:nginx


服务器型号


image.png


项目创建:


image.png

image.png


这里选择.NET Core 3.1版本,因为只有它是长期支持的,如果是vs2022版本是.NET Core 6.0那个很麻烦找配套。


image.png


创建完毕


image.png


添加自定义的API控制器


image.png

这里我用Test作为控制器名称。


image.png


修改访问路径

image.png

示例代码

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace APIDemo20221020.Controllers
{
    [Route("api/[controller]/[action]")]
    [ApiController]
    public class TestController : ControllerBase
    {
        public Object GetInfo() {
            Dictionary<String, Object> map = new Dictionary<string, object>();
            map.Add("state",true);
            map.Add("message","访问成功");
            List<string> list=new List<string>();
            for (int i = 0; i < 100; i++)
            {
                list.Add(((char)(30000 + i)).ToString());
            }
            map.Add("result", list);
            return map;
        }
    }
}


配置跨域

ASP.NET Core微服务(三)——【跨域配置】_红目香薰的博客-CSDN博客


直接在Startup.cs中添加代码即可。


image.png


启动测试


image.png

image.png


访问:http://localhost:5000/api/Test/GetInfo


访问成功


image.png


项目发布

image.png

image.png

image.png


image.png



image.png






image.png





发布的项目

我的项目名叫做【APIDemo20221020】所以,应用程序叫做【APIDemo20221020.dll】

image.png

准备服务器【Alibaba Cloud Linux 3.2104 LTS 64位 快速启动版】

image.png


链接linux服务器


image.png

安装ASP.Net Core3.1环境

Download .NET (Linux, macOS, and Windows)


image.png


选择.NET Core 3.1版本


image.png


选择图片中标注红色外框的选项。


image.png


选择脚本安装


将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。


image.png

image.png

安装 SDK

.NET SDK 使你可以通过 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:这个版本支持.NET Core


sudo yum install aspnetcore-runtime-3.1 -y

不是很大,一会就安装完毕了。

image.png


.NET版本验证

image.png


上传linux-x64位版本的项目包

image.png



使用XFTP上传

image.png



直接启动


image.png

安装nginx

image.png


由于nginx不是自动启动的,需要咱们启动一下。


查看nginx.service状态命令:

image.png


启动nginx.service

systemctl start nginx.service
systemctl status nginx.service

image.png

nginx文件位置

nginx 日志文件 /var/log/nginx

nginx配置文件目录 /etc/nginx

nginx 可执行文件 /usr/sbin/nginx

nginx环境配置 /etc/sysconfig/nginx

nginx默认站点目录 /usr/share/nginx/html


公网访问

image.png


修改配置

image.png


修改到项目路径,输入【i】进行insert模式,修改完毕后按【ESC】加【:wq】进行保存。


这里看到有【;】,不要忘记。保存并重新启动。


这里我给了我修改server的全部编码。当然,端口号是65535里找不常用的随便用都行。


server {
        listen       8080;
       # listen       [::]:80;
        server_name  _;
#        root         /usr/share/nginx/html;
        location / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        }
        root /root/linux-x64;
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }


image.png



重新启动并运行【do】

systemctl restart nginx.service
dotnet APIDemo20221020.dll

image.png


访问成功

image.png



如果访问不了就行没开安全组:

image.png



我这里是全部,肯定是能访问的。  

相关文章
|
15天前
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
|
2月前
|
存储 开发框架 NoSQL
ASP.NET WEB——项目中Cookie与Session的用法
ASP.NET WEB——项目中Cookie与Session的用法
36 0
|
2月前
|
开发框架 前端开发 .NET
ASP.NET WEB——项目创建与文件上传操作
ASP.NET WEB——项目创建与文件上传操作
46 0
|
3月前
|
开发框架 前端开发 JavaScript
盘点72个ASP.NET Core源码Net爱好者不容错过
盘点72个ASP.NET Core源码Net爱好者不容错过
71 0
|
3月前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
37 0
|
3月前
|
开发框架 JavaScript .NET
ASP.NET Core的超级大BUG
ASP.NET Core的超级大BUG
42 0
|
22天前
|
前端开发 应用服务中间件 nginx
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
90 0
|
1月前
|
前端开发 应用服务中间件 nginx
nginx中配置不输入端口(指定地址)访问项目的方法
nginx中配置不输入端口(指定地址)访问项目的方法
26 0
|
1月前
|
开发框架 人工智能 .NET
C#/.NET/.NET Core拾遗补漏合集(持续更新)
C#/.NET/.NET Core拾遗补漏合集(持续更新)
|
1月前
|
开发框架 中间件 .NET
C# .NET面试系列七:ASP.NET Core
## 第一部分:ASP.NET Core #### 1. 如何在 controller 中注入 service? 在.NET中,在ASP.NET Core应用程序中的Controller中注入服务通常使用<u>依赖注入(Dependency Injection)</u>来实现。以下是一些步骤,说明如何在Controller中注入服务: 1、创建服务 首先,确保你已经在应用程序中注册了服务。这通常在Startup.cs文件的ConfigureServices方法中完成。例如: ```c# services.AddScoped<IMyService, MyService>(); //
63 0