在阅读本文以前,您必须对Linux中涉及的常见命令有必定了解,本文侧重实战,不会对相关概念详述。html
注:本文实验环境是 Oracle VM VirtualBox虚拟机, CentOS-7-x86_64-Minimal-1908系统 。python
vi /etc/sysconfig/network-scripts/ifcfg-eno
ONBOOT=no
修改成 ONBOOT=yes
sudo service network restart
ip addr
查看 ipyum install epel-release
yum install nginx
systemctl start nginx
systemctl enable nginx
server { 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 的白名单。接下来咱们经过一些命令解决这个问题。linux
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
先建立 Supervisor 配置文件的目录nginx
mkdir /etc/supervisor
经过 echo_supervisord_conf 指令(用来生成初始配置文件,文件名能够自定义)来初始化一个配置文件:shell
echo_supervisord_conf > /etc/supervisor/supervisord.conf
经过 vim 命令修改建立好的 supervisord.conf 配置信息,或有视图界面的直接打开编辑vim
vi /etc/supervisor/supervisord.conf
文件内容末尾找到如下内容进行修改centos
;[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,添加如下配置内容(分号后面的是注释,注意看注释,省得配置错了)tcp
[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
centos7
1.进入/usr/lib/systemd/system/
目录 cd /usr/lib/systemd/system/
2.建立自定义配置文件 supervisord.service touch supervisord.service
3.编辑 supervisord.service 文件,有视图界面就直接打开编辑 vi supervisord.service
4.添加如下内容,保存退出
[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.target
5.设置开机启动 systemctl enable supervisord.service
6.检测是否配置成功 systemctl is-enabled supervisord