2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > ASP.NET Core 发布至Linux生产环境 Ubuntu 系统

ASP.NET Core 发布至Linux生产环境 Ubuntu 系统

时间:2023-12-21 14:56:34

相关推荐

ASP.NET Core 发布至Linux生产环境 Ubuntu 系统

Core 发布至Linux生产环境 Ubuntu 系统,之前跟大家讲解了 dotnet publish 发布,而没有将整个系统串起来。

今天就跟大家综合的讲一下 Core发布至Linux生产环境。

开发及发布环境:WIN10 x64

生产Linux环境:Ubuntu 14.04

发布的示例代码:/linezero/NETCoreBBS

代码下载下来,首先请注释 Program.cs 中.UseUrls("http://*:80")

本篇将以发布dotnet publish两种方式做介绍。

默认发布

下载示例代码,定位到src\NetCoreBBS 文件夹。

首先dotnet restore, 然后输入dotnet publish命令既可。

自带运行时发布

定位到src\NetCoreBBS 文件夹,打开 project.json 文件。

注释掉"type": "platform"

首先同样 dotnet restore, 然后输入dotnet publish -rubuntu.14.04-x64

Ubuntu配置

将刚才发布的文件夹分别上传至ubuntu系统,这里给大家推荐一个工具WinSCP。

对于默认发布,则使用, dotnet NetCoreBBS.dll这里需要安装.NET Core SDK。

对于自带运行时,设置权限,及安装对应依赖,无需安装SDK,直接使用 ./NetCoreBBS运行。

设置权限:chmod -R 755 NetCoreBBS

1.安装.NET Core SDK

/net/core#ubuntu

Ubuntu 14.04

sudo sh -c 'echo "deb [arch=amd64] https://apt-/repos/dotnet/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'sudo apt-key adv --keyserver apt- --recv-keys 417A0893sudo apt-get update

sudo apt-get install dotnet-dev-1.0.0-preview2-003121

安装好以后,就可以使用 dotnet 命令。

2.安装及配置Nginx

sudo apt-get install nginx

安装好以后,定位到/etc/nginx/sites-available/default 文件。更改server 节点如下。

server {listen 80;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;}}

然后重新启动 Nginx

sudo service nginx restart

3.安装及配置supervisor

sudo apt-get install supervisor

安装好supervisor 以后,下面就来配置。

定位到/etc/supervisor/conf.d/ 文件夹,添加一个NetCoreBBS.conf 文件。

下面是dotnetNetCoreBBS.dll 命令方式。经过多次的坑,终于得到最终配置文件。这里因为用到Sqlite 数据库,需要指定目录。

[program:NetCoreBBS]command=/usr/bin/dotnet /root/publish/NetCoreBBS.dlldirectory=/root/publishautostart=trueautorestart=truestderr_logfile=/var/log/NetCoreBBS.err.logstdout_logfile=/var/log/NetCoreBBS.out.logenvironment=ASPNETCORE__ENVIRONMENT=Productionuser=rootstopsignal=INT

重启supervisor,这里由于我放置在root 文件夹,所以需要root 用户,大家也可以放置在其他文件夹。

sudo service supervisor restart

下面是自带运行时方式,自带运行时可以省略掉第一步,无需安装SDK 安装几个依赖就行。可以参考之前文章:/linezero/p/5475246.html

[program:NetCoreBBS]command=/root/publishself/NetCoreBBSdirectory=/root/publishselfautostart=trueautorestart=truestderr_logfile=/var/log/NetCoreBBS.err.logstdout_logfile=/var/log/NetCoreBBS.out.logenvironment=ASPNETCORE__ENVIRONMENT=Productionuser=rootstopsignal=INT

然后我们访问设置的ip 或者域名就能访问 Core 站点了。

大家如果要配置多个站点,可以在Nginx 里进行配置。

参考文档:/en/latest/publishing/linuxproduction.html

如果你觉得本文对你有帮助,请点击“推荐”,谢谢。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。