CentOS7部署dotnet-core+vue项目
CentOS7部署dotnet-core+vue项目
1. 安装dotnet的linux环境
参考:https://blog.csdn.net/fuluadmin/article/details/109715113
1.1 NET Core SDK和运行时
.NET运行时是.NET程序运行的先决条件,而SDK并不是必须的,但如果通过git方式进行文件中转的话,就涉及到在服务器端进行编译,所以SDK也需要安装。(注:docker部署方式无需在服务器安装SDK和运行时,下文回提到)
下面一起看看在CentOs中如何安装SDK和运行时(其他环境可参考官方文档:https://docs.microsoft.com/zh-cn/dotnet/core/install/linux)。
运行如下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
通过如下命令安装SDK:
sudo yum install -y dotnet-sdk-5.0
通过如下命令安装运行时:
sudo yum install -y aspnetcore-runtime-5.0
1.2 后端打包并上传
在这个目录下进行打包操作
dotnet publish -o ./publish
找到生成的文件, 压缩, 并上传到服务器指定目录
1.3 后端注意点
需要将program.cs中的端口号改为http://0.0.0.0:5000
2. 安装linux版sqlserver
参考: https://blog.csdn.net/shirukai/article/details/80811982
下载 Microsoft SQL Server Red Hat 存储库配置文件:
curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
通过yum安装
yum install -y mssql-server
运行包安装完成后mssql conf 安装并按照提示操作以设置 SA 密码,并选择你的版本,安装完成后会自动启动数据库服务。
/opt/mssql/bin/mssql-conf setup
查看是否启动成功
systemctl status mssql-server
安装完成!
开放1433端口关闭防火墙即可远程连接。
3. nginx部署
由于自己使用了stream模块共用了443端口, 因此配置有些复杂
不知道什么原因, 必须要叠加两个/api 才能正确获得接口, 推测是上个项目也是/api结尾,
还未进行测试, 等有两个java+vue项目再说
server {
listen 44321 ssl;
server_name *****.***;
ssl_certificate /root/cert/*****.crt;
ssl_certificate_key /root/cert/*****.key;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
error_page 497 301 https://$http_host$request_uri;
location / {
root /var/www/dist-dotnet;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /api { #用户
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:5000/api/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}