云平台开发架构分析系列:22 为nginx和uwsgi制作自动化管理脚本

1092 人浏览 | 时间: 2017-07-05 08:47:51 | 作者: codexia 会员文章,禁止转载

发现一个程序员专属的导航网站,你肯定不知道,是时候告诉你了,请前去看看吧

    前面我们介绍了Nginx和uWSGI的启动停止方法。而作为一个整体,Nginx和uWSGI应该要一起启动和停止。前面我们只是对它们单独做了启动的介绍。如果我们每次都手动去启停,未免有点麻烦。
    下面来写脚本,将这些操作都放在脚本里,然后实现自动化管理。
1.启动服务器nginx和uWSGI
    启动nginx,只要运行nginx程序就行。也就是执行下面这个命令:
/usr/local/nginx/sbin/nginx
    如果你安装的nginx不在这个位置,换成你安装的位置就行了。另外,我们再单独写一个启动uwsgi程序的脚本,命名为start_uwsgi.sh,并放在/data/bin/下,所以我们只需要执行这个脚本,就可以启动uWSGI服务器。命令为:
/data/bin/start_uwsgi.sh
    将这两句命令放在一个脚本文件中,放在/data/bin/下,命名为:server_start.sh,然后放在根目录下。这个文件的内容就是:
/usr/local/nginx/sbin/nginx
/data/bin/start_uwsgi.sh
    最后我们启动服务器时,执行:
/data/bin/server_start.sh
    就行了。如果你觉得名字有点长,你可以写成srv_s.sh,名字随便取,自己知道就行了。记得,sh文件都要增加可执行的权限哦。
    我们还没有说start_uwsgi.sh文件的内容呢!下面来看看这个文件如何写。
    我们使用ini配置文件的形式来启动uwsgi程序。我们假定配置文件里指定了主进程和4个工作进程,也就是一共有5个进程。我们执行这个脚本的时候,我们先来判断一下,uwsgi是否已经运行了,如果运行了,只提示在运行,如果没有运行,就用ini文件启动uwsgi。
    判断的依据就是使用uwsgi启动的进程的数量,所以要先计算出来数量值,然后比较是否大于4,如果大于,则表示正在运行,如果小于等于,则表示没有运行或者部分运行,将重新启动uwsgi。
    所以start_uwsgi.sh内容如下:
#!/bin/bash
pscount=$(ps aux | grep uwsgi.ini | wc -l)
if [ $pscount -gt 4 ]
then
    echo "uwsgi is running!"
    exit 0
else
    uwsgi --ini /data/uwsgi.ini
    echo "start uwsgi [ok]"
fi
    说明一下:
ps aux :枚举进程列表
grep "[u]wsgi.ini" :按照关键字符串uwsgi.in
开通会员付1C币>>阅读全文
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

相关阅读