supervisord的安装使用
?
由于生產(chǎn)環(huán)境使用的的tomcat,項(xiàng)目比較重要,所以要做進(jìn)程守護(hù),本來(lái)打算自己寫腳本,但是效果不理想,想了下還是用supervisord了
由于很久不用,所以寫下來(lái)部署步驟
第一:安裝,安裝的方法有yum和pip還有easy_install,不過(guò)還是推薦使用yum安裝
yum的安裝方法如下,前提是需要安裝epel源,沒(méi)有epel源的可以使用yum安裝下yum install epel -y
然后
yum install -y supervisor
pip安裝方法,來(lái)自于網(wǎng)絡(luò)
cat pip_an.sh #!/bin/bash wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz tar zxvf setuptools-0.6c11.tar.gz cd setuptools-0.6c11 python setup.py build python setup.py install wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa33326" tar -xzvf pip-1.5.4.tar.gz cd pip-1.5.4 python setup.py installeasy_install的安裝方法如下
yum install python-setuptools
easy_install supervisor
不論那種方法,都可以,還是推薦使用yum。
第二:配置使用
由于我使用的yum安裝,安裝后配置文件在etc下面
位置是/etc/supervisord.conf
簡(jiǎn)單編輯下就可以用了,其實(shí)需要更改的只有2個(gè)地方就是
[inet_http_server] ###去掉前面冒號(hào)
port=0.0.0.0:9001
保存后,就可以啟動(dòng)了
systemctl start supervisord
這樣就啟動(dòng)完成了,至于該怎么使用,接下來(lái)簡(jiǎn)單說(shuō)下。
守護(hù)一個(gè)進(jìn)程,比如tomcat
我們?cè)?etc/supervisord.d/下創(chuàng)建一個(gè)子配置文件叫tomcat.ini
[program:tomcat] command=/data/ifengsite/java/tomcat/bin/catalina.sh run environment=JAVA_HOME="/usr/local/jdk",JAVA_BIN="/usr/local/jdk/bin" stdout_logfile=/data/ifengsite/java/tomcat/logs/catalina.out redirect_stderr=true autostart=false autorestart=true startsecs=10 priority=1 stopasgroup=false killasgroup=falseuser=www
command啟動(dòng)命令,命令路徑
enviroment環(huán)境變量,jdk環(huán)境配置
user 以那個(gè)用戶來(lái)啟動(dòng)這個(gè)進(jìn)程
stdout_logfile日志輸出路徑到那個(gè)文件,此文件最后提前創(chuàng)建,并且使用啟動(dòng)該進(jìn)程的用戶創(chuàng)建為好
autostart是否和supervisor一起啟動(dòng),我這里選擇否
autostart是否自動(dòng)重啟,肯定的
剩下的選項(xiàng)大家可以百度哈,很簡(jiǎn)單的
然后保存該文件。
重載下supervisor服務(wù)
systemctl restart supervisord
我們就可以看到有個(gè)項(xiàng)目叫tomcat了,可以在命令行看也可以在web頁(yè)面看
命令行看的方法是
supervisorctl?
web頁(yè)面看的方法是打開(kāi)ip:9001
我這里定義了2個(gè)項(xiàng)目,已經(jīng)運(yùn)行了
接下來(lái)怎么啟動(dòng)項(xiàng)目呢
可以在web頁(yè)面里點(diǎn)start,也可以使用supervisorctl start 項(xiàng)目名
supervisorctl start tomcat
稍等會(huì)就啟動(dòng)起來(lái)了。
另外如果安裝多臺(tái)supervisor的話,批量管理很麻煩,需要一個(gè)個(gè)打開(kāi)頁(yè)面,我們這里使用官方推薦的supervisord-monitor來(lái)批量管理,部署方法如下
首先克隆下supervisord-monitor這個(gè)項(xiàng)目
git clone https://github.com/mlazarov/supervisord-monitor.git
克隆完之后,需要進(jìn)入到該目錄的config下
cd /home/supervisord-monitor/application/config
然后復(fù)制一份supervisor.php.example 為supervisor.php
這個(gè)文件里面定義了需要管理那些節(jié)點(diǎn)
然后這個(gè)項(xiàng)目是Php寫的,需要安裝nginx和php
直接Yum安裝
yum install php-fpm nginx -y
安裝完成后,需要把php-fpm的運(yùn)行用戶更改為和nginx配置中的一致
vim /etc/nginx/nginx.conf
默認(rèn)是?user nginx;
更改下php-fpm的運(yùn)行用戶
vim /etc/php-fpm.d/www.conf
更改為和nginx一致即可
然后啟動(dòng)php-fpm
systemctl start php-fpm
增加一個(gè)nginx的supervisord-monitor配置文件
vim ?/etc/nginx/conf.d/supervisor.conf
server {listen 80 default_server;server_name 172.17.3.179;root /home/supervisord-monitor/public_html;auth_basic "Please input password";auth_basic_user_file /home/supervisord-monitor/application/config/password;location / {index index.php index.html;}location /control/ {index index.php;rewrite /(.*)$ /index.php?$1 last;}location ~ .php$ {try_files $uri =404;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param SCHEME $scheme;include fastcgi_params;} }?最后我們還需要給這個(gè)頁(yè)面加個(gè)登陸認(rèn)證,防止任何人都可以查看
yum -y install httpd-tools
htpasswd -c /home/supervisord-monitor/application/config/password admin
然后輸入密碼就可以
最后啟動(dòng)nginx
打開(kāi)登陸頁(yè)面IP
會(huì)讓輸入用戶密碼,輸入后
可以看到目前就一個(gè)節(jié)點(diǎn),我們可以很方便的管理各個(gè)節(jié)點(diǎn)的項(xiàng)目重啟關(guān)閉等等。
?
轉(zhuǎn)載于:https://www.cnblogs.com/hh2737/p/10000949.html
總結(jié)
以上是生活随笔為你收集整理的supervisord的安装使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 在FF与IE中使用数据岛
- 下一篇: 景观设计建模中最常用的SU插件有哪些?