300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Ubuntu20.04下Nginx的.NetCore项目部署流程

Ubuntu20.04下Nginx的.NetCore项目部署流程

时间:2022-07-22 18:07:33

相关推荐

Ubuntu20.04下Nginx的.NetCore项目部署流程

Ubuntu20.04下Nginx的Web项目部署流程:点此跳转

本文旨在介绍在Ubuntu20.04系统中配置Nginx服务,并进行.NetCore项目部署。

第一部分:.NetCore项目部署

参考文章:点此跳转

步骤一:安装.NET Core SDK

下面是Ubuntu20.04版本的.net环境配置,其它版本参考官方文档

1、打开终端并运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库:

wget /config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.debsudo dpkg -i packages-microsoft-prod.debrm packages-microsoft-prod.deb

2、安装 SDK:

sudo apt-get update; \sudo apt-get install -y apt-transport-https && \sudo apt-get update && \sudo apt-get install -y dotnet-sdk-6.0

3、安装好之后试着执行一下dotnet --info命令,出现以下信息则说明安装成功。

步骤二:创建项目

这里使用VS新建一个了项目test。路径为:/home/hdc/test。

进入到项目目录(Program.cs文件所在的位置)并运行:

cd /home/hdc/testdotnet run

如果能监听成功,说明没问题。

步骤三:安装Nginx并启动

1、执行以下命令:

sudo apt-get install nginxsudo service ngnix start

2、启动后使用浏览器访问服务器地址,显示以下内容则表示成功。

3、安装好之后进入到以下目录,打开default文件并删除说有内容,修改为以下的内容

执行命令:

cd /etc/nginx/sites-availablesudo vim default

修改内容:

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;try_files $uri $uri/ =404;}}

顺便记录几个常用的编辑命令

sudo vim Program.cs //打开或新建Program.cs文件i //进入编辑模式Esc键 //退出编辑模式yy //复制光标所在行5yy //复制光标起后5行p //粘贴dd //删除光标所在行5dd //删除光标起后5行u //撤销操作:q! //不保存并退出:wq //保存并退出

4、重新启动Nginx来应用配置

sudo nginx -t //检测配置文件中是否有错误sudo systemctl restart nginx

5、重新运行我们刚才的test项目,然后打开本机浏览器,输入:http://192.168.1.95访问,如果出现自己项目的画面(如下图),说明配置已经成功。服务器已经不再是IIS,取而代之的是ubuntu上的nginx,版本为1.10.1

Tips:如果不成功的话,试着用以下命令更新一下系统

sudo apt-get updatesudo apt-get upgradesudo apt-get dist-upgradesudo reboot

步骤四:配置守护进程Supervisor

到目前为止,应用程序还是我们自己手动运行起来的,而且还不能Ctrl+C关闭并退出,否则你的网站将无法访问!所以我们需要有一个类似监视器的角色来保证 Core进程的正常运行,那么Supervisor会是我们的首选。

1、安装supervisor

sudo apt-get install supervisor

2、发布上面的test项目,记录下你的发布路径(如下图)

在项目根目录下执行命令:

dotnet publish

3、发布成功之后记得切换到发布目录执行下dotnet运行命令,然后重复上面的步骤5看下是否可以正常访问,没问题的话我们进行下一步

cd /home/hdc/test/bin/Debug/netcoreapp1.1dotnet test.dll

4、切换到var路径,创建一个netcore文件夹,再在其下创建一个test-publish文件夹,然后将上面发布后的所有文件拷贝到这里

cd /varsudo mkdir netcorecd netcoresudo mkdir test-publishcd test-publishsudo cp -a /home/hdc/test/bin/Debug/netcoreapp1.1/publish/* /var/netcore/test-publishls

5、创建test.conf的supervisor配置文件,并将以下内容添加进去

cd /etc/supervisor/conf.dsudo vim test.conf

添加内容:

[program:test]command=/usr/bin/dotnet /var/netcore/test-publish/test.dlldirectory=/var/netcore/test-publish/autostart=trueautorestart=truestderr_logfile=/var/log/test.err.logstderr_logfile=/var/log/test.out.logenvironment=ASPNETCORE_ENVIRONMENT=Productionuser=www-datastopsingnal=INTstopasgroup=truekillasgroup=true

6、重新启动supervisor来应用配置!然后试着用本机访问下ubuntu server的IP,看下网站是否如你所愿的展示在了你的面前!如果和上面的步骤5一致,那么整个部署流程已经暂时告一段落,这样一来即使你重启了服务器,网站依旧可以访问。

sudo service supervisor restart

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