Supervisor安装、配置、开启启动【美高梅手机登录

作者:电脑系统

  # dservice for systemd (CentOS 7.0 )

directory = /tmp 

      第一种:

*4.3、验证一下是否为开机启动
  systemctl is-enabled supervisord*

使用配置文件的方式,因为没有环境参数所以不好兼容到线上线下环境。暂时不考虑

ps -ef | grep ProjectName

4、开机启动
  vim /usr/lib/systemd/system/supervisord.service

2.2.安装supervisor

2、安装apache

3.2、编辑supervisord.conf
  vim /etc/supervisord.conf

修改完成 使用nginx -t -c nginx.conf 验证配置是否修改有误问题,测试木有问题就可以restart后,通过nginx代理访问到我们绑定在 core demo程序啦。

         sudo chmod a w usr/lib/systemd/system/supervisord.service

  supervisord -v

#延时启动时间

Restart=on-failure

4.1、supervisord.service文件内容:

supervisord配置文件写入:

1、apache

1、安装Python包管理工具(easy_install)
  wget --no-check-certificate -O - | sudo python

#需要代理的地址。upstream 配置负责均衡

;files = relative/directory/*.ini

  user=root
  stderr_logfile = /root/yingfeng/logs/mobile-yingfeng-error.log
  stdout_logfile = /root/yingfeng/logs/mobile-yingfeng.log
  directory=/
3.4、在下图位置添加添加上面的内容

#管理页面

sudo mkdir  /etc/supervisor

3.6、相关命令:
  supervisorctl update 重新加载配置
  supervisorctl reload 重新启动所有程序
  supervisorctl status 查看状态

   

cd /etc/supervisor/

2、安装supervisor
  easy_install supervisor

   

yum search setuptools

3.3、配置启动内容
  [program:mobileyingfeng]
  command=/usr/bin/java -Djava.security.egd=file:/dev/./urandom -Dserver.port=85 -Dspring.profiles.active=prod -Dspring.datasource.password=2S323uHHH -Dspring.redis.password=K6EnRBjLa -jar /root/yingfeng/mobileyingfeng.jar

绑定url的问题在rc1还好解决。

linjie ALL=(ALL:ALL) ALL

3.5、手动启动:
  supervisord -c /etc/supervisord.conf

[program:NetCoreWebAppFirst]

DirectoryIndex 默认的索引页页面

  [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

在/etc/supervisor目录下新建配置文件supervisord.conf,当然在这些目录下也是可以的 default paths (/usr/etc/supervisord.conf, /usr/supervisord.conf, supervisord.conf, etc/supervisord.conf, /etc/supervisord.conf, /etc/supervisor/supervisord.conf);

enabled

  # by ET-CS ()

#设置主机头和客户端真实地址,以便服务器获取客户端真实IP

在httpd服务程序主配置文件中最为常用的参数包括有:

4.2、设为开机启动
  systemctl enable supervisord

#是否重定向程序的错误输出到标准输出

3、安装.NET Core 2.0

  美高梅手机登录网站 1

logfile_maxbytes = 50MB 

保存并退出

3、配置
3.1、生成supervisor的初始化配置文件
  echo_supervisord_conf > /etc/supervisord.conf

minfds = 1024 

echo_supervisord_conf > supervisord.conf

2.1、查看版本,检验是否安装成功

美高梅手机登录网站 2

ServerAdmin 管理员邮箱

配置完成后,stop,在start服务

sudo yum install dotnet-sdk-2.1.4

minprocs = 200 

这个两句命令很重要

childlogdir = /tmp 

2、点击 身份 -- 勾选 自动连接,点击应用。

#是否自动启动

ServerName 网站服务器的域名

   

 3、Apache服务添加到 开机自启中

启动完成,使用 curl 测试是否能正常访问。

上述操作完后,保存,

logfile = /tmp/supervisord.log

files = /etc/supervisor/conf.d/*.conf

proxy_set_header Host $host;

请如下方法

美高梅手机登录网站 3

建议使用 root 管理员账户操作

redirect_stderr=true

如果打开浏览器,无法打开的话,就是网络问题,

appsettings.json

CustomLog 访问日志文件

command=dotnet NetCoreWebApp.dll --server.urls=

[Install]

修改Main入口,使我们的程序绑定的url来自启动参数

systemctl enable httpd

dotnet NetCoreWebApp.dll --server.urls=" url。

stopsignal=INT

stdout_logfile_maxbytes=50MB

   在安装apache之前,要先做一件事就是,把当前登录用户权限设置为root相同的权限,否则 在执行sudo命令时会报 “不在 sudoers 文件中。此事将被报告”。

ExecStartPre=/nginxInstall/sbin/nginx -t -c /nginxInstall/conf/nginx.conf

运行supervisord,查看是否生效,执行以下命令:

   

创建主配置文件

# easy_install supervisor

autorestart=true #是否自动重启

下载.gz压缩包,上传到centos,

访问日志 /var/log/httpd/access_log

增加监控

easy_install supervisor

   

表示运行成功!

logfile_backups=10 

[Unit]

ExecReload=/usr/bin/supervisorctl $OPTIONS reload

user=www-data #进程执行的用户身份(可能需要去掉)

Documentation=

stdout_logfile=/var/log/TestCore.out.log #标准输出日志

Description=Supervisor daemon 

stderr_logfile=/var/log/TestCore.err.log #标准错误日志

美高梅手机登录网站 4

RestartSec=42s

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

sudo yum update 

1.各类配置文件线下,线上不一致。

supervisord -c /etc/supervisor/ supervisord.conf

运行环境。nginx反向代理由kestrel运行.net core程序

 

nocleanup = true 

 

startsecs=10

systemctl start httpd

[Service]

autostart=true #是否自动启动

directory=/saleSystem/NetCoreWebApp/

在下面添加你自己的账号,如 linjie ALL=(ALL:ALL) ALL,添加以后的文件如下:

PrivateTmp=true

D.验证是否为开机启动:

   

如果外网无法访问8080端口(:这个端口是程序中的访问端口)的话,设置如下

   

错误日志 /var/log/httpd/error_log

systemctl enable supervisord.service

问题1

实验demo现在需要发布到生产环境,发现在发布的时候要考虑到不一致的几个地方。

点击Esc 输入:再输入wq! 这样就可以保存退出了,之后

美高梅手机登录网站 5

[Service]

[Service]

su linjie 切换到自己的账号,就可以使用sudo 执行命令了。

发布到linux线上环境:

[include]

#是否随supervisor一起启动

注意这个过程可能会遇到的问题:

美高梅手机登录网站 6

         sudo touch /usr/lib/systemd/system/supervisord.service

   

Linux系统中服务的配置文件,以及存放位置如下:

PIDFile=/nginxInstall/sbin/logs/nginx.pid

root    ALL=(ALL:ALL) ALL  

[Unit]

当前登录用户权限设置为root相同的权限操作如下:

美高梅手机登录网站 7

5、测试

使用启动参数来设置。暂时考虑使用这个,考虑到假如线上分布式部署,包括系统的安装,脚本等都是统一管理。所以还是可行的

Timeout 网页超时时间,默认为300秒.

Restart=on-failure

sudo  mkdir /etc/supervisor/conf.d

Description=nginx - high performance web server

4、查看一下 dotnet --version  结果是  2.1.4 则说明安装成功。

安装:[root@localhost setuptools-23.1.0]# sudo python setup.py install

[program:MmPSCore]

美高梅手机登录网站 8

服务目录 /etc/httpd

stdout_logfile=/var/log/netcorewebapp/error.log

  1. 在指定目录下创建文件supervisord.service

#vim /etc/supervisor/supervisord.conf

 

   

在浏览器里输入 到了Testing  123..,那就说明Apache就成功的安装了。

可以看到安装到/usr/bin下面啦。当然我们也可以使用configure 指定安装目录。

 

"commands": {

Created symlink from /etc/systemd/system/multi-user.target.wants/supervisord.service to /usr/lib/systemd/system/supervisord.service.

编辑我们上面创建的supervisord.conf,加入

systemctl enable supervisord

编辑完成 使用命令 systemctl enable nginx.service 配置nginx服务为随开机启动。

KillMode=process

2.配置web app的监控程序。使用官方推荐的 supervisor

sudo yum install -y python-setuptools.noarch

但是到rc2之后,这个也取消了。google了一圈,找到有2种解决方案。

安装python的supervisor

> 需要注意的地方是:PIDFile=/nginxInstall/sbin/logs/nginx.pid 和 nginx.conf 中的 pid /nginxInstall/sbin/logs/nginx.pid 一定要一致

2、更新安装包,安装.NET Core

WantedBy=multi-user.target

sudo supervisorctl -c /etc/supervisor/supervisord.conf 客户端

ExecStart=/usr/bin/supervisord

directory=/home/xx/MmPSCore#命令执行的目录(发布网站文件路径)environment=ASPNETCORE__ENVIRONMENT=Production #环境变量

user = root 

1、注册Linux系统(Cent OS 7)

ExecStop=/bin/kill -s QUIT $MAINPID

如果没有域名,则:ServerName localhost:80 或者 ServerName 127.0.0.1:80

# vim /usr/lib/systemd/system/nginx.service

startsecs=1 #自动重启间隔

project.json add

sudo mkdir conf.d       

Type=forking

sudo rpm --import

   

问题2

创建一个软连接,方便我们使用。

从上面表格中可以得知DocumentRoot正是用于定义网站数据保存路径的参数,其参数的默认值是把网站数据存放到了/var/www/html目录中的,而网站首页的名称应该叫做index.html,因此可以手动的向这个目录中写入一个文件来替换掉httpd服务程序的默认网页。

发布到本地,然后上传到linux服务器。进入服务器,cd 到上传的目录,

创建supervisor配置文件目录

strip_ansi = false

su root

username=mon

sudo supervisord -c /etc/supervisor/supervisord.conf 服务端

[Install]

echo_supervisord_conf >/etc/supervisor/supervisord.conf

   

;[include]节点处

访问管理页面就能看到

在vim命令调出的vim编辑窗口中,找到如下行:

password=mon

网站数据目录 /var/www/html

   

sudo touch /etc/supervisor/conf.d/MmPScore.conf (自定义项目名称,本项目是MmPScore.conf)

其二:

表示设置成功!

   

4、配置supervisord开机启动

配置文件的不一致问题,可以使用环境配置来解决。系统默认定义了3个:Development, Staging, Production

2、.Net Core(dotnet-sdk-2.0)

port=9100

ServerRoot 服务目录

},

User 运行服务的用户

   

在文件目录conf.d下创建创建项目配置文件(开机启动的网站) 

   

root 27007 27006  1 13:21 ?  00:00:02 dotnet ProjectName.dll

第二步:配置nginx反向代理。nginx安装:

ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf

autostart=true

root 27026 26810 0 13:23 pts/0 00:00:00 grep --color=auto ProjectName

ExecReload=/bin/kill -s HUP $MAINPID

echo_supervisord_conf >/etc/supervisor/supervisord.conf  

[inet_http_server]

DocumentRoot 网站数据目录

#启动超时时间

WantedBy=multi-user.target

loglevel = info 

Include 需要加载的其他文件

   

注:1、supervisord.conf中的 /tmp换成相应的/var/run或者 /var/log

线上:appsettings.Production.json

如果有错误的话,建议执行下面的命令

修改配置nginx.conf

接下来重启机器,在浏览器中输入IP地址,看看网站是否跟随开机自动运行。

autorestart=true

root    ALL=(ALL:ALL) ALL

#vim /usr/lib/systemd/system/supervisord.service

2、安装完成之后,创建相关文件,

如此这样,我们做到了nginx和supervisord都随机启动并保证服务因意外中断也能自动重启。

主配置文件 /etc/httpd/conf/httpd.conf

nodaemon = false 

1、查看详细信息

[supervisord]

1、安装工具

编译:[root@localhost setuptools-23.1.0]# sudo python setup.py build

 

其一:

Type=forking

# wget -O - | python

换成

WantedBy=multi-user.target

主配置文件: vim /etc/httpd/conf/httpd.conf

2.1.第一步安装 setuptools

1、右键在终端中打开,输入安装命令:

systemctl enable nginx.servicve

systemctl is-enabled supervisord

当然也可以下载安装:

Listen 监听的IP地址与端口号

   

1、sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent

2.绑定的url不一致,可能是域名不一致,也可能是schema不一致(http,https)

sudo  mkdir /etc/supervisor

1.nginx 开机自动启动。新建服务

sudo chmod a w /etc/supervisor/conf.d/MmPScore.conf(命令启动编辑)

配置supervisor: 参考:

ExecStop=/usr/bin/supervisorctl shutdown

proxy_set_header X-Real-IP $remote_addr;

如果提示权限不够,

KillMode=process

 

ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown

上面设置完成后,下面安装apache(三步操作)

第一步:搭建网站,本地能正常运行:

su root

ExecStart=/nginxInstall/sbin/nginx -c /nginxInstall/conf/nginx.conf

Group 运行服务的用户组

pidfile = /tmp/supervisord.pid 

2、firewall-cmd --reload

#启动前要cd到的位置

   (注:简单的应用程序项目文件夹,使用以下命令启动网站,只要打开发布网站的文件,右键终端中打开 dotnet run或者dotnet xx.dll,即可运,xx为网站的名称)

proxy_pass ;

提示:

Type=forking

sudo sh -c 'echo -e "[packages-microsoft-com-prod]nname=packages-microsoft-com-prod nbaseurl= " > /etc/yum.repos.d/dotnetdev.repo'

identifier = supervisor 

command=dotnet MmPSCore.dll #要执行的命令(发布网站执行文件)

配置supervisor作为服务运行

命令内容如下:

开发:appsettings.Development.json

ExecReload=/usr/bin/supervisorctl reload

Supervisor安装、配置、开启启动【美高梅手机登录网站】。当然,我们的服务器存在重启或者down掉等问题,不可能出了问题我们手动重启等

C.执行以下命令:

umask = 022 

 

stopwaitsecs=30

1、在终端中输入命令:  yum install httpd 

   

B.输入以下内容:

 当然不忘记让我们增加的服务自动开机启动

第二种:

#启动命令

sudo dotnet xxx.dll

   

到此位置基本就实现了通过IP访问,然而每次关机以后,重新开机都需要去手动的启动发布的网站项目才能访问,因此我们下面使用Supervisor托管自动启动网站服务操作,保证每次只要一开机,网站就可以正常。
3、安装Supervisor(设置开机自动设置网站)

   

 

location / {

至此,创建supervisor守护进程完毕。

RestartSec=42s [Install]

ErrorLog 错误日志文件

# sudo ln -s [your install path] /bin/easy_install

sudo yum install libunwind libicu

如果提示木有python,那就安装一个ypthon就好。视网络情况而定,可能是漫长的下载等待。

提示:

解压:[root@localhost opt]# tar -xzvf setuptools-23.1.0.tar.gz

sudo vim conf.d/MmPSCore.conf (编辑完成后 ,按Esc,在按:冒号,之后再输入wq!,即可以退出)

After=network.target remote-fs.target nss-lookup.target

返回

"web": "Microsoft.AspNetCore.Server.Kestrel --server.urls ",

Description=Supervisor daemon

}

3、Supervisor(进程管理工具,目的是服务器一开机就启动服务器 上发布的ASP.NET Core Web网站)

#日志

2、配置ServerName(可以省略)  vi /etc/httpd/conf/httpd.conf

[Unit] 

(使用sudo chmod a w etc/supervisor/supervisord.conf 就可以打开进行编辑了,/tmp换成相应的/var/run或者 /var/log替换之后,保存)

如果按照在自己的指定目录,可以使用

 

2、把supervisord.conf中的

user=root ; #进程执行的用户身份(可以不写)

sudo cp supervisord.conf  /etc/supervisor/supervisord.conf

然后就可以在浏览器打开使用实际IP和端口访问(mmps的端口设置的是8080) 

3、配置文件,取名为 MmPSCore.conf (当前项目的名称)

 

 //注:#后面的内容为注释,在保存上面的文件代码时,记得删除

sudo vim /etc/sudoers

打开MmPSCore.conf写入如下命令(如果没有权限,

创建项目配置文件目录conf.d

本文由美高梅4858官方网站发布,转载请注明来源

关键词: Linux Asp.Net Core