提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
在 Ubuntu 20.04 上安装 .NET SDK 并运行网址
提示:以下是本篇文章正文内容,下面案例可供参考
一、安装.NET Core SDK
这里用的微软官方推荐的包,不行多试几次,有个网址经常404.
微软官网下载网址
1.添加包
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
2.安装SDK
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-7.0
dotnet 可查看当前的版本
二、新建一个项目并运行
1.新建文件夹
mkdir text
cd text
2.初始化配置 ,创建mvc,并运行
dotnet new
dotnet new mvc
dotnet restore
dotnet run
这里必须要以管理员身份才能运行
3.安装反向代理nginx,并启动
sudo apt-get install nginx
sudo service ngnix start
3.安装好之后进入到以下目录,打开default文件并修改为以下的内容
vim /etc/nginx/sites-available/default
#这里的localhost要与你前面运行的相同
proxy_pass http://localhost:5295;
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
4.重新启动Nginx来应用配置
sudo nginx -t
sudo nginx -s reload
三、配置守护进程Supervisor
到目前位置,应用程序还是我们自己手动运行起来的,而且还不能Ctrl+C关闭并退出,否则你的网站将无法访问!所以我们需要有一个类似监视器的角色来保证ASP.NET Core进程的正常运行,那么Supervisor会是我们的首选。
1.安装
sudo apt-get install supervisor
2.发布上面mvc的test项目,记录下你的发布路径
dotnet publish
3.创建一个netcore文件夹,再在其下创建一个test-publish文件夹,然后将上面发布后的所有文件拷贝到这里
cd /var
sudo mkdir netcore
cd netcore
sudo mkdir test-publish
cd test-publish
sudo cp -a /home/test/bin/Debug/netcoreapp1.1/publish/* /var/netcore/test-publish
4.创建test.conf的supervisor配置文件,并将以下内容添加进去
1 [program:test]
2 command=/usr/bin/dotnet /var/netcore/test-publish/test.dll
3 directory=/var/netcore/test-publish/
4 autostart=true
5 autorestart=true
6 stderr_logfile=/var/log/test.err.log
7 stdout_logfile=/var/log/test.out.log
8 environment=ASPNETCORE_ENUIRONMENT=Production
9 user=root
10 stopsignal=INT
11 stopasgroup=true
12 killasgroup=true
~
重新启动supervisor来应用配置
```bash
sudo service supervisor restart
再次查看发现不用run就能访问网站
# 总结:
用户用的是root,后续使用其他用户要安全