一、在CentOS上安装.net Core
CentOS 7 包管理器 - 安装 .NET Core
参考地址:https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-manager-centos7
#根据你需要的版本,修改对应版本号
sudo yum install dotnet-sdk-3.1
sudo yum install aspnetcore-runtime-3.1
sudo yum install dotnet-runtime-3.1
查看安装情况
dotnet --version
二、安装Nginx
#获取资源
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
#安装nginx
sudo yum -y install nginx
#启动nginx
sudo systemctl start nginx
#nginx开机启动
sudo systemctl enable nginx
#防火墙开放80端口
#必须,如果没有开启防火墙,请先开启防火墙再开放端口
firewall-cmd --add-port=80/tcp --permanent
#重启防火墙
firewall-cmd --reload
三、配置Nginx代理
修改配置文件/etc/nginx/nginx.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
root /wwwroot; #web api的目录
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
#添加代理内容
location /POCCManager {
rewrite ^/POCCManager/(.*)$ /$1 break; #监听/POCCManager开头的
proxy_pass http://localhost:5000; #代理地址和端口
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
修改完配置后,最好使用命令检查下配置是否正确,这样可以排除配置格式错误导致配置不生效,影响服务器的稳定运行。
nginx -t
修改配置后执行reload使配置生效
sudo nginx -s reload
四、安装Supervisor守护进程
# yum install epel-release
# yum install -y supervisor
# systemctl enable supervisord # 开机自启动
# systemctl start supervisord # 启动supervisord服务
在/etc/supervisord.d/下添加ini的配置文件就可以,我们添加一个sample.ini
这里要注意,提交到Linux之前必须把中文注释都删除,否则会有错误。
[program:Sample1]
command=dotnet Sample1.dll #要执行的命令
directory=/root/netcoresamples/sample1 #命令执行的目录
environment=ASPNETCORE__ENVIRONMENT=Production #环境变量
user=root #进程执行的用户身份
stopsignal=INT
autostart=true #是否自动启动
autorestart=true #是否自动重启
startsecs=3 #自动重启间隔
stderr_logfile=/root/netcoresamples/sample1/log/Sample1.err.log #标准错误日志
stdout_logfile=/root/netcoresamples/sample1/log/Sample1.log #标准输出日志
重新启动supervisord需执行
#supervisorctl shutdown
#supervisord -c /etc/supervisord.conf
需把9001端口加到Nginx配置上
location /supervisor{
proxy_pass http://localhost:9001/;
}