继续上篇的内容,本篇来学习下nginx的配置和守护进程supervisor的使用。

一、Nginx安装及配置

(1)安装nginx

sudo yum install epel-release #添加源
sudo yum install nginx #安装nginx

(2)启动nginx

sudo systemctl start nginx
sudo systemctl enable nginx

(3)配置防火墙

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent  #开放80端口
systemctl restart firewalld #重启防火墙以使配置即时生效

成功完成以上配置后,测试nginx是否可以访问,本地浏览器输入127.0.0.1,成功显示如下

(4)修改配置文件转发.net core应用程序

创建并编辑一个新的配置文件netcore.conf,命令如下

[root@localhost nginx]# cd /etc/nginx/conf.d
[root@localhost conf.d]# touch netcore.conf
[root@localhost conf.d]# vim netcore.conf

netcore.conf配置文件内容如下:

server {
listen 80;
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 $http_host;
proxy_cache_bypass $http_upgrade;
}
}

编辑配置文件nginx.conf(默认包含了自定义的配置文件内容),命令如下

[root@localhost conf.d]# vim /etc/nginx/nginx.conf

注释默认的80端口,如下

重启nginx,命令如下

[root@localhost conf.d]# systemctl restart nginx

重新启动.netcore应用,

[root@localhost wuyi]# cd /home/wwwroot/MyWeb/
[root@localhost MyWeb]# dotnet MyCoreWebApp.dll

外部系统访问centos的Ip192.168.195.128,悲剧地错误又出现了

最后通过百度解决了上面的问题,跟SELinux保护机制有关,依次执行如下三条命令:

yum install policycoreutils-python

sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx

sudo semodule -i mynginx.pp

外部系统(我的是win10)再次访问centos的Ip192.168.195.128,已经成功转发。

二、安装与配置守护服务Supervisor

(1)安装supervisor

[root@localhost wuyi]# yum install python-setuptools
[root@localhost wuyi]# easy_install supervisor

(2)配置supervisor

[root@localhost wuyi]# mkdir /etc/supervisor
[root@localhost wuyi]# echo_supervisord_conf > /etc/supervisor/supervisord.conf

(3)编辑配置文件supervisord.conf

[root@localhost wuyi]# vim /etc/supervisor/supervisord.conf

把最后的include部分改为为如下代码(注意要把前面的分号“;”去掉):

(4)启动服务(如已经启动,此步可省略)

[root@localhost wuyi]# supervisord -c /etc/supervisor/supervisord.conf

(5)使修改的配置文件生效

[root@localhost wuyi]# supervisorctl reload

(6)配置对.NET Core应用的守护

创建一个MyCoreWebApp.conf文件,拷贝到“/etc/supervisor/conf.d/MyCoreWebApp.conf”下,文件内容如下:

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

(7)验证dotnet进程是否启动,查询下进程MyCoreWebApp.dll是否存在,存在则可以再浏览器中打开了

[root@localhost wuyi]# ps -ef|grep MyCoreWebApp

三、设置Supervisor服务开机启动和远程管理

(1)创建配置文件

创建一个supervisord.service文件,拷贝到“/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

(2)设置supervisord服务为开机启动

[root@localhost system]# systemctl enable supervisord

(3)supervisor远程管理

修改配置文件“vim /etc/supervisor/supervisord.conf”的“inet_http_server“节点,修改保存后再开放防火墙9001端口。

(配置文件节点更改后内容如下)

[inet_http_server]
port=192.168.195.128:9001 ;本机ip 加端口
username=admin ;登陆账号,可以不设
password=123456 ;登陆账户,可以不设

(相关命令如下)

[root@localhost system]# vim /etc/supervisor/supervisord.conf
[root@localhost system]# supervisorctl reload
Restarted supervisord
[root@localhost system]# firewall-cmd --zone=public --add-port=9001/tcp --permanent
success
[root@localhost system]# systemctl restart firewalld

配置完成,在浏览器即可正常访问

终于写完了,下篇将继续研究ASP.NET Core负载均衡集群搭建.....

CentOS7部署.Net Core2.0站点(中)的更多相关文章

  1. CentOS7部署.Net Core2.0站点(上)

    其实类似的教程网上已经有很多了,之所以要写,是应为发现在使用最新的centos7和.netcore2.1版本时还是遇到了不少坑,所以记录下,以后希望大家能少走弯路. 一.安装CentOS7 我是用虚拟 ...

  2. .NET Core2.0 MVC中使用EF访问数据

    使用环境:Win7+VS2017 一.新建一个.NET Core2.0的MVC项目 二.使用Nuget添加EF的依赖 输入命令:Install-Package Microsoft.EntityFram ...

  3. Centos7.2部署.Net Core2.0 WebApi

    部署前准备 1.VisualStudio2017+.netcore2.0SDK 2.Centos7.2 3.SecureCRT,Xftp(根据自己喜好) 创建WebApi项目 修改Program.cs ...

  4. CentOS7部署Dotnet Core2.1

    前言 笔者在毫无Linux部署.net core的经验下,第一次用了15分钟完成部署,第二次在生产环境用了5分钟.下文将说明如何在CentOS7下完成.NetCore2.1的部署,包括如何创建ASP. ...

  5. DotNet跨平台 - docker部署.net core2.0项目

    参考文档: https://docs.docker.com/install/linux/docker-ce/centos/ http://www.dockerinfo.net/document htt ...

  6. Centos7 部署.net core2.1 详细步骤

    安装dotnet sdk(添加产品秘钥与yum源) 添加yum源:sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages ...

  7. CentOS7部署HDP3.1.0.0

    Apache Ambari是一个基于Web的支持Apache Hadoop集群的供应.管理和监控的开源工具,Ambari已支持大多数Hadoop组件,包括HDFS.MapReduce.Hive.Pig ...

  8. 云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南

    文章转载自:https://mp.weixin.qq.com/s/iPfh9Mkwxf5lieiqt6ltxQ 服务器是命令行模式登录,没法以浏览器方式访问.而官方推荐的快捷部署方式,在kibana ...

  9. centos7部署.net core2.1

    1.centos 7.0及以上服务器 2..NET SDK 安装 2.1 安装 https://www.microsoft.com/net/download/linux-package-manager ...

随机推荐

  1. [agc004d]Teleporter 暴力

    Description 维尼管辖的领土很大,我们可以抽象为n个城市,其中1号点为首都.这n个城市之有n条单向电缆,一条信息经过一条电缆进行传输所需时间会+1s,然而维尼并不能忍受时间白白被续,他要求从 ...

  2. Archlinux下virtualbox报错'/sbin/rcvboxdrv setup'

    因为刚刚换成archlinux系统,安装virtualbox的时候报错了.如下图: 可是怎么解决呢?我看了很多资料大多数是ubuntu的,没有archlinux的. 但是原理都差不多我借着也就研究出来 ...

  3. jmeter聚合报告详解

    聚合报告(aggregate report) 对于每个请求,它统计响应信息并提供请求数,平均值,最大,最小值,错误率,大约吞吐量(以请求数/秒为单位)和以kb/秒为单位的吞吐量. 吞吐量是以取样目标点 ...

  4. Windows下Jmeter安装出现Not able to find Java executable or version问题解决方案

    安装好java1.8.jmeter4.0,并java -version正常,jmeter也能正常使用.某一次使用突然出现Not able to find Java executable or vers ...

  5. hive join的三种优化方式

    原网址:https://blog.csdn.net/liyaohhh/article/details/50697519 hive在实际的应用过程中,大部份分情况都会涉及到不同的表格的连接, 例如在进行 ...

  6. Java函数的联级调用

    String类的方法可以连续调用: String str="abc"; String result=str.trim().toUpperCase().concat("de ...

  7. redis存储的数据类型

    key-velue数据结构存储 key   只能是字符串 value 有5种数据leixing. 字符串 string 哈希 hash 列表 list 集合 set 有序集合 zset

  8. JavaWeb学习笔记(二十)—— Ajax

    一.Ajax概述 1.1 什么是Ajax AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与 ...

  9. 主流服务器虚拟化技术简单使用——Hyper-V(一)

    Tips:因为博客园排版的原因,图片显示不清晰,可以放大网页查看清晰图片. 如果系统使用物理机,需要在BIOS里面开启Intel VT-x(或AMD-V),如果是VMware workstation, ...

  10. 织梦dedecms5.7手机站页面首页正常其他页面显示pc页面解决方法

       最近遇到的问题,用的是织梦的dedecms从以前的版本升级上来的最新版5.7sp2,客户需要手机版的,要做一个百度的验证.   这个站首页显示算是基本正常,点开里面随便一个页面会跳转到pc页面上 ...