Centos7 развертывания .Net сердечника + Nginx + Супервизор

1, установить .Net Ядро SDK

  1.1,  перед установкой .NET, вам необходимо зарегистрировать ключ Microsoft, зарегистрировать хранилище продуктов и установить необходимую зависимость. Каждая машина должна заполнить только одну.             

Sudo мин UVH https: // packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

  1,2, обновления продуктов, доступных для установки, а затем установить .NET SDK.

Sudo ни обновления 
Sudo ни установить DotNet -sdk- 2.2

  1.3, убедитесь, что установка прошла успешно

DotNet --version

2, развертывание основного проекта .Net

  2,1, после выхода проекта .Net Ядро Linux загружается в новую yunying папки, а затем введите yunying папки, запустить проект

  2,2, то браузер на сайте: HTTP: // IP: 5000, если вы не можете посетить, первый отключить брандмауэр

 

3, установить и настроить Nginx Nginx, чтобы направить проект

  3.1, добавил источник

Sudo мин -Uvh HTTP: // nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

  3.2, установить Nginx

Sudo ням установить -y Nginx

  3.3, Nginx запуск и настроена на автоматический запуск

Sudo systemctl начать Nginx 
Sudo systemctl включить Nginx

  3.4, чтобы увидеть, если установка была выполнена успешно

                Введите в браузере: HTTP: // IP

  

 

  3.5, изменить файл конфигурации Nginx, содержимое файла /etc/nginx/conf.d/default.conf заменен:

Сервер { 
    слушать        80 ; 
    Местонахождение / { 
    proxy_pass HTTP: // локальный: 5000; 
    proxy_http_version 1.1 ; 
    proxy_set_header Обновление $ http_upgrade; 
    proxy_set_header соединения держать - жив; 
    proxy_set_header хоста $ хоста; 
    proxy_cache_bypass $ http_upgrade; 
    proxy_set_header Х -Forwarded- Для 
    proxy_add_x_forwarded_for; 
    proxy_set_header X -Forwarded- Прото $ схема; 
    } 
}

После настройки выполнения Nginx -s перезагрузки или перезапуска systemctl перезагрузки Nginx Nginx, выполнить 2 операции запуска основного проекта .net снова, а затем получить доступ к порту 80, то можно сообщать 502 ошибок, из-за проблем с настройкой SELinux.

Есть два решения:

а, отключить SELinux

Входной сигнал: seatatus, если SELInux статус: включено, указывает поворот, изменить файл конфигурации / и т.д. / SELinux / конфигурации изменить SELINUX = отключено 

Или бежать:

setenforce 0 
Сед -i ' s / принуждени $ / отключено / г ' / и т.д. / SELinux / конфигурации

 

б, список допустимых Nginx добавлен SELinux

1, ни установить policycoreutils- питон 
2, Судо кошку / вар /log/audit/audit.log | Grep Nginx | Grep отказано | audit2allow - М mynginx 
3, Sudo semodule
-i mynginx.pp

Заново запустить проект .Net ядра и доступа, это может быть успешный визит.

4, настроить демон Supervisor

  4.1 Установка супервизора :

1、yum install python-setuptools
2、easy_install supervisor

  4.2、配置Supervisor

创建supervisor文件夹,通过echo_supervisord_conf初始化配置文件

1、mkdir /etc/supervisor
2、echo_supervisord_conf > /etc/supervisor/supervisord.conf

  4.3、修改新建的supervisord.conf配置信息,将最后面的修改为

即去掉最后两行前面的“;”号。

  4.4、为.Net Core 项目添加进程配置文件:

在/etc/supervisor/目录下创建名字为conf.d文件夹,在conf.d文件夹中创建一个WebDemo.ini文件,在WebDemo.ini文件添加以下配置

[program:WebDemo]
command=dotnet WebDemo.dll ; 运行程序的命令
directory=/root/yunying/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/WebDemo.err.log ; 错误日志文件
stdout_logfile=/var/log/WebDemo.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT

  4.5、启动Supervisor服务: 

supervisord -c /etc/supervisor/supervisord.conf

启动服务后可以通过命令查看是否配置成功

ps -ef | grep WebDemo.dll

如果看到以下内容,表示配置成功,就可以访问.Net Core项目了

  4.6 配置Supervisor开机启动

进入/usr/lib/systemd/system/目录,并创建supervisord.service文件,添加内容:

[Unit]
Description=Supervisor daemon
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target

使配置生效:

systemctl daemon-reload

设置服务开机启动:

systemctl enable supervisord

启动supervisor进程:

systemctl start supervisord

验证是否为开机启动:

systemctl is-enabled supervisord

 

 

5、常用命令:

  5.1、Nginx

nginx             //启动nginx
nginx -s reload   //重启nginx
nginx -s stop     //关闭nginx

  5.2、supervisor

supervisorctl status    //查看所有任务状态
supervisorctl shutdown  //关闭所有任务
supervisorctl start|stop|restart all          //控制所有进程
supervisorctl start|stop|restart program_name //控制目标进程 

 

      

рекомендация

отwww.cnblogs.com/zhuyuchao/p/11262666.html