在阅读本文之前,您必须对Linux中涉及的常见命令有一定了解,本文侧重实战,不会对相关概念详述。
注:本文实验环境是 Oracle VM VirtualBox虚拟机, CentOS-7-x86_64-Minimal-1908系统 。
vi /etc/sysconfig/network-scripts/ifcfg-enoONBOOT=no 修改为 ONBOOT=yessudo service network restartip addr 查看 ipyum install epel-releaseyum install nginxsystemctl start nginxsystemctl enable nginxserver {
listen 81;
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;
}
}
systemctl start firewalld //启动防火墙
systemctl status firewalld //查看防火墙状态
firewall-cmd --permanent --zone=public --add-service=http //允许HTTP
firewall-cmd --permanent --zone=public --add-service=https //允许HTTPS
firewall-cmd --reload //重新加载防火墙
firewall-cmd --zone=public --add-port=80/tcp --permanent //开启80端口
firewall-cmd --list-ports //查看已经开放的端口
原因是由于 SELinux 保护机制所导致,我们需要将 nginx 添加至 SELinux 的白名单。接下来我们通过一些命令解决这个问题。
yum install policycoreutils-python
sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
sudo semodule -i mynginx.pp
yum install python-setuptools
easy_install supervisor
mkdir /etc/supervisorecho_supervisord_conf > /etc/supervisor/supervisord.confvi /etc/supervisor/supervisord.conf文件内容末尾找到以下内容进行修改
;[include]
;files = relative/directory/*.ini
[include]
files = /etc/supervisor/conf.d/*.conf创建目录,添加配置文件
mkdir /etc/supervisor/conf.d
cd /etc/supervisor/conf.d
touch netcore.conf通过 vi 指令或视图界面编辑 netcore.conf,添加以下配置内容(分号后面的是注释,注意看注释,免得配置错了)
[program:NetCoreDemo] ;自定义进程名称, 根据自己喜好命名
command=dotnet NetCoreDemo.dll ;程序启动命令 使用dotnet 命令(dll是你的项目文件)
directory=/root/Documents/NETCore ;命令执行的目录 你.NET Core 程序存放目录
autostart=true ;在Supervisord启动时,程序是否启动
autorestart=true ;程序退出后自动重启
startretries=5 ;启动失败自动重试次数,默认是3
startsecs=1 ;自动重启间隔
user=root ;设置启动进程的用户,默认是root
priority=999 ;进程启动优先级,默认999,值小的优先启动
stderr_logfile=/etc/supervisor/log/GDSMPlateForm.err.log ;标准错误日志 路径可以自定义,文件夹要建好
stdout_logfile=/etc/supervisor/log/GDSMPlateForm.out.log ;标准输出日志 路径可以自定义,文件夹要建好
environment=ASPNETCORE_ENVIRONMENT=Production ;进程环境变量
stopsignal=INT ;请求停止时用来杀死程序的信号启动 supervisor 服务 supervisord -c /etc/supervisor/supervisord.conf
/usr/lib/systemd/system/目录 cd /usr/lib/systemd/system/touch supervisord.servicevi supervisord.service4.添加以下内容,保存退出
[Unit]
Description=Supervisor daemon
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.targetsystemctl enable supervisord.service6.检测是否配置成功 systemctl is-enabled supervisord
原文:https://www.cnblogs.com/dotnetlibao/p/11770027.html