CentOS7 nginx和uwsgi配置开机自启

在这之前遇到一个小问题:
/usr/local/nginx/sbin/nginx -s reload命令不生效,报错信息:

# /usr/local/nginx/sbin/nginx -s reload
nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"

解决:

#执行
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

正题开始:

Nginx开机自启的配置
创建nginx.service文件
  • 切换到/etc/systemd/system/目录下
cd /etc/systemd/system/
  • 创建nginx.service文件
#直接编辑
vim nginx.service
  • 添加配置信息
[Unit]
Description=nginx
After=network.target
  
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target
  • wq保存退出
  • 设置开机自启
systemctl enable nginx.service
  • 其他执行命令:
systemctl start nginx.service #启动
systemctl restart nginx.service #重启
systemctl stop nginx.service #停止

uwsgi也和nginx配置差不多

Nginx开机自启的配置

因为我有两个web项目:xxxx01、xxxx02
所有为了好管理:【如果没有这种需求的话,直接创建xxxx_uwsgi.service就可以了】

先创建web_server_uwsgi目录
  • 切换到/etc/systemd/system/目录下
mkdir web_server_uwsgi
创建xxxx01_uwsgi.service文件
  • 切换到web_server_uwsgi目录下
cd web_server_uwsgi
  • 创建xxxx_uwsgi.service文件
#直接编辑
vim xxxx_uwsgi.service
  • 添加配置信息
[Unit]
Description=HTTP Interface Server
After=syslog.target

[Service]
KillSignal=SIGQUIT
ExecStart=/usr/bin/uwsgi --ini /你的项目路径/uwsgi.ini  #uwsgi.ini文件是你项目下的uwsgi.ini
Restart=always
Type=notify
NotifyAccess=all
StandardError=syslog

[Install]
WantedBy=multi-user.target
  • wq保存退出

  • 我的uwsgi.ini文件

[uwsgi]
chdir = 你的项目的路径
module = MyDemo.wsgi:application
socket = 127.0.0.1:8080
master = true

#vhost = true          //多站模式
#no-site = true        //多站模式时不设置入口模块和文件
#workers = 2           //子进程数
#reload-mercy = 10
#vacuum = true         //退出、重启时清理文件
#max-requests = 1000
#limit-as = 512
#buffer-size = 30000
#pidfile = /var/run/uwsgi9090.pid    //pid文件,用于下脚本启动、停止该进程
logto = 项目路径/run.log 
disable-logging = true

logto = 项目路径/run.log 这个是日志文件,不用自己创建
之前我是daemonize= 项目路径/run.log 但是看网上资料说会导致开机重复启动,没深究。

xxxx02_uwsgi.service.service文件同样操作,就不演示了。

  • 设置开机自启
systemctl enable xxxx01_uwsgi.service
# systemctl enable xxxx02_uwsgi.service
  • 其他执行命令:
systemctl start xxxx01_uwsgi.service #启动
systemctl restart xxxx01_uwsgi.service #重启
systemctl stop xxxx01_uwsgi.service #停止
其他
  • uwsgi 设置daemonize是后台运行,并输出日志 执行uwsgi uwsgi.ini 正常运行
  • uwsgi 设置logto是后台运行,并输出日志 执行uwsgi uwsgi.ini 你以为卡住了,其实他不是后台运行。
  • 如果你单独执行,并且项目的uwsgi.ini配置文件中设置了logtodaemonize就不用看了】需要执行uwsgi -d --ini uwsgi.ini。这就在后台运行了。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值