华为云ubunbu部署.NetCore3.1项目(DDD商城)
提前项目打包发布,文件传输工具Filezilla,注意是选择sftp协议,将publish文件传到/home文件夹下
第一步 .NetCoreSDK安装
微软官方的文档https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu
1.Microsoft软件包签名密钥添加到您的受信任密钥列表中
2.NET Core SDK允许您使用.NET Core开发应用程序。如果安装.NET Core SDK,则无需安装相应的运行时
阿里云腾讯云服务器如果收到类似于的错误消息Unable to locate package dotnet-sdk-3.0的报错
1,请先检查系统版本与安装命令是否对应
2,参考https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu#apt-troubleshooting
或者参考https://www.cnblogs.com/HDK2016/p/12673235.html
华为云服务器底层架构不同,安装方法如下
由于鲲鹏使用的是ARM的cpu,,非x86的,所以会出错,具体原因我也不清楚,可以直接安装官方提供的arm上的sdk或者rumtime的包,然后直接运行.net core的程序
官网下载地址:https://dotnet.microsoft.com/download/dotnet-core
参考文档第4步:https://bbs.huaweicloud.com/forum/thread-46787-1-1.html
第二步 .Nginx安装
关于ngnix:https://zhuanlan.zhihu.com/p/34943332
安装命令sudo apt-get install nginx
启动命令sudo service nginx start
安装成功后直接访问服务器地址,若出现Welcome to nginx!
则nginx安装成功
然后需要修改配置文件
vim /etc/nginx/sites-available/default
配置内容如下:80是暴漏在外面的端口,5002是项目的启动端口,进行了代理
最后使用nginx -s reload
命令来优雅重启nginx
(需要注意的是一定先把暴露在外面的端口在安全组中开放,否则会没反应)
server { listen 80; listen [::]:80; location / { proxy_pass http://localhost:5002; //刚才发布项目的端口 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; } }
宝大佬的备注:
默认安装路径
所有的配置文件都在/etcinx下,并且每个虚拟主机已经安排在了/etcinx/sites-available下
程序文件在/usr/sbininx --只是一个启动程序
日志放在了ar/loginx中
并已经在/etc/init.d/下创建了启动脚本nginx
默认的虚拟主机的目录设置在了ar/wwwinx-default (有的版本 默认的虚拟主机的目录设置在了ar/www, 请参考/etcinx/sites-available里的配置)
第三步 PM2进程守护安装
执行pm2 start "dotnet xiaodingmarket_service.dll --urls=http://*:4999 --port=4999" --name market
命令就可以让pm2来帮助我们守护啦。就是这么简单,没有繁琐的配置。
使用 pm2 ls
命令可以看到pm2正在守护程序的列表。
就此 部署成功