Ubuntu Kylin 部署 .Net Core 应用程序

.NET
379
0
0
2022-03-29
标签   .NET Core
Ubuntu Kylin 部署 .Net Core 应用程序

前几日在头条上看到了 优麒麟[
https://www.ubuntukylin.com/] ,出于好奇就下载安装玩玩,整体感觉不错(当然服务器上使用建议使用银河麒麟[
http://www.kylinos.cn/scheme/server.html])。当然这不是重点,重点是要在它上面部署的.Net Core 应用程序。


1、安装.Net Core 运行环境

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

sudo 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

1.2、安装运行时

1.2.1、更新包

sudo apt-get update

1.2.1.1、运行后错误

Ubuntu Kylin 部署 .Net Core 应用程序

1.2.1.1、解决方案:

sudo apt update

后面一路 y 搞定

Ubuntu Kylin 部署 .Net Core 应用程序

1.2.2、安装运行时

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-3.1
Ubuntu Kylin 部署 .Net Core 应用程序

1.2.3、验证是否安装成功

dotnet --info
Ubuntu Kylin 部署 .Net Core 应用程序

2、安装Nginx

2.1、安装

sudo apt-get install -y nginx
Ubuntu Kylin 部署 .Net Core 应用程序

2.2、查看nginx是否安装成功

nginx -v
Ubuntu Kylin 部署 .Net Core 应用程序

2.3、在浏览器中验证

在浏览器中 输入:ip地址

Ubuntu Kylin 部署 .Net Core 应用程序

3、上传应用程序

3.1、创建文件夹

sudo mkdir -p /var/www/web

3.2、ftp 上传发布后的应用程序

3.3、配置 nginx 代理

3.3.1、编辑配置文件

sudo vim /etc/nginx/sites-available/default

3.3.2、内容

server {
    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;
    }
}
Ubuntu Kylin 部署 .Net Core 应用程序

3.3.3、验证配置文件与重新加载配置

sudo nginx -t
sudo nginx -s reload

4、配置守护进程Supervisor

4.1、安装 supervisor

sudo apt-get install supervisor

4.2、配置 aspnetCoreDemo.conf 配置文件

sudo vim /etc/supervisor/conf.d/aspnetCoreDemo.conf

4.2.1、内容

[program:aspnetCoreDemo]
command=/usr/bin/dotnet /var/www/web/aspnetCoreDemo.dll
directory=/var/www/web/
autostart=true
autorestart=true
stderr_logfile=/var/log/aspnetCoreDemo.err.log
stdout_logfile=/var/log/aspnetCoreDemo.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=www-data
stopsignal=INT
stopasgroup=true
killasgroup=true

4.3、重启supervisor

sudo service supervisor restart  

注意:一定要设置 /var/www/web/ 的权限

出现问题后可在上面配置的日志文件中查看详细信息


至此可在浏览器中访问了


当然如果有啥问题可与我联系。