首发于我的博客TOM的小站
1、配置.NET Core运行环境
其他版本的安装可参考官方文档。
CentOS 7中的安装步骤:
安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。 打开终端并运行以下命令:
代码语言:shell复制sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
安装SDK:
代码语言:shell复制.NET SDK 使你可以通过 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:
注意要选择对应的服务器系统版本,否则会出现问题。
2、发布.NET Core 应用
在Visual Studio内右键项目文件夹,点击发布
3、在服务器上部署.NET Core应用
部分参考Linux 宝塔部署 ASP.NET Core 应用
首先cd
进入项目文件夹内。
运行你的dll文件
代码语言:shell复制nohup dotnet 项目名.dll
这里默认会运行在localhost:5000
或localhost:5001
上,若想放在其他端口可以执行nohup dotnet run --urls=http://localhost:端口
,参考NET问答: 如何给 ASP.NET Core 配置指定端口 ?
执行好之后直接关闭终端 (或通过exit退出终端,但决不能^C)
可以先在ssh内运行curl -I localhost:5000
测试是否成功。
其次 开放防火墙、安全组端口
4、设置反向代理
(参考asp.net core 程序在nginx上部署 完整教程)
找到nginx配置文件并vim nginx.conf
,进行以下配置:
server {
listen 80;
server_name example.com *.example.com;
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;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
注意修改server_name项为自己的域名,若没有域名则填公网ip即可。
检查nginx是否有错误nginx -t
重启nginx
代码语言:shell复制nginx -c /etc/nginx/nginx.conf
nginx -s reload
注:若不想反向代理,可参考:DotNet Core 2.0部署后外网IP访问