Centos7は、.NETのコア+ nginxの+スーパーバイザーを展開します

1、ネットコアSDKをインストールします

  1.1、  あなたは.NETをインストールする前に、あなたは、マイクロソフトのキーを登録し、製品のリポジトリを登録し、必要な依存関係をインストールする必要があります。各マシンには、一つだけを完了する必要があります。             

須藤回転数UVHます。https:// packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

  1.2、インストールのための製品のアップデートが利用可能にし、その後は、.NET SDKをインストールします。

sudoのyumの更新
DOTNETをインストールsudoのyumを -sdk- 2.2

  1.3、インストールが成功したことを確認

DOTNETの--version

2、ネットコア事業の展開

  ネットコアLinuxプロジェクトのリリースは新しいフォルダyunyingにアップロードし、そのフォルダをyunying入力した後、2.1、プロジェクトを実行します

  2.2、その後、ブラウザを訪問します。http:// IP:5000、あなたが訪問することができない場合は、最初のファイアウォールをオフにします

 

3、プロジェクトを転送するためにnginxのnginxのインストールと設定

  3.1、ソースを加え

須藤回転数-Uvhます。http:// nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

  3.2、nginxのインストール

sudoのyumは-y nginxのインストール

  3.3は、nginxのは起動し、自動的に起動するように設定します

sudoはnginxの開始systemctl 
nginxのを有効systemctl sudoを

  インストールが成功したかどうかを確認するために3.4

                ブラウザに入力します。http:// IP

  

 

  3.5、nginxの設定ファイルを変更し、ファイルの内容が置き換えられ/etc/nginx/conf.d/default.conf:

サーバー{ 
    聞く        80 
    場所 / { 
    proxy_passます。http:// localhostを: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 X -Forwarded- については
    proxy_add_x_forwarded_for。
    proxy_set_header X -Forwarded- プロト$スキーム。
    } 
}

設定nginxのの-sは、2つの操作が再びネットコアプロジェクトを実行し、ポート80にアクセスし実行し、リロードまたは再起動systemctl再起動nginxのnginxの実行後、502エラーを報告するため、SELinuxの設定の問題可能です。

解決策は2つあります:

、SELinuxを無効にします

入力:seatatusは、SELinuxのステータス場合:有効になって、設定ファイルを変更し、ターンを示しては/ etc / selinuxを/ configに変更SELinuxが無効= 

または実行します。

setenforce 0 
のsed -i ' sの/ / gを無効に$ /を強制'は/ etc / selinuxを/ configに

 

B、許容nginxののリストは、SELinuxを追加しました

1、yumをpolicycoreutils-インストールのpython 
2、sudoの猫 / VARの /log/audit/audit.logを| グレップのnginxの| grepを拒否| audit2allow - M mynginx 
3、須藤semodule
-i mynginx.pp

再実行します。ネットコアプロジェクトとアクセス、それが成功した訪問することができます。

4、設定デーモンスーパーバイザー

  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