成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

supervisor 永不掛掉的進(jìn)程 安裝以及使用

zhaochunqi / 1384人閱讀

摘要:當(dāng)超過次后,將把此進(jìn)程的狀態(tài)置為默認(rèn)值為。。如果為,則的日志會被寫入日志文件中理解為重定向輸出的日志這個參數(shù)可以設(shè)置一個非用戶,當(dāng)我們以用戶啟動之后。我這里面設(shè)置的這個用戶,也可以對進(jìn)行管理子進(jìn)程的的日志路徑輸出日志文件錯誤日志文件當(dāng)。

在使用Tp的消息隊列 think-queue的時候進(jìn)程意外結(jié)束了!導(dǎo)致項目沒法運行;

所以用到了supervisor; 接下來跟大家分享一下自己的使用心得以及安裝到使用的方法;

官網(wǎng):http://supervisord.org/introd...
首先安裝 有很多辦法;
01:wget 下載壓縮包:

cd /usr/local/lee   #這個lee是我自己建立的一個目錄
wget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/supervisor-3.3.2.tar.gz
tar -zxvf supervisor-3.3.2.tar.gz
cd supervisor-3.3.2
python setup.py install

02: yum安裝:

yum install python-setuptools
easy_install supervisor

我們安裝的時候使用wget的;

之后生成配置文件:

mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisord.conf

打開配置文件修改一點東西;

vim /etc/supervisord.conf

要將底部的

;[include]
;files = relative/directory/*.ini
修改為:
[include]
files=/etc/supervisor/*.conf 
(注意去掉分號,第一次安裝的時候就因為沒去掉分號出現(xiàn)了問題!);

之后創(chuàng)建一個文件 文件名隨意 后綴為.conf的,我這里就創(chuàng)建一個test.conf的文件;
我的項目在/www/wwwroot/admin/目錄下:

vim test.conf
#寫入一些配置:
[program:test]   # 設(shè)置進(jìn)程的名稱,使用 supervisorctl 來管理進(jìn)程時需要使用該進(jìn)程名 我這里就叫做test了!
command=php think queue:work --queue saveLoginLog --daemon --tries 10;  #這個就是隊列執(zhí)行的命令
directory= /www/wwwroot/admin;  #命令執(zhí)行的目錄或者說執(zhí)行 command 之前,先切換到工作目錄 可以理解為在執(zhí)行命令前會切換到這個目錄
process_name=%(process_num)02d; #默認(rèn)為 %(program_name)s,即 [program:x] 中的 x 這個是進(jìn)程名,如果我們下面的numprocs參數(shù)為1的話,就不用管這個參數(shù)
                                 了,它默認(rèn)值%(program_name)s也就是上面的那個program冒號后面的
numprocs=5; #進(jìn)程數(shù)量當(dāng)不為1時的時候,就是進(jìn)程池的概念,注意process_name的設(shè)置
autostart=true; #是否自動啟動
autorestart=true; #程序意外退出是否自動重啟
startsecs=1;  自動重啟間隔 
startretries=20;  當(dāng)進(jìn)程啟動失敗后,最大嘗試啟動的次數(shù)。。當(dāng)超過3次后,supervisor將把此進(jìn)程的狀態(tài)置為FAIL 默認(rèn)值為3 。。
redirect_stderr=true;  如果為true,則stderr的日志會被寫入stdout日志文件中  理解為重定向輸出的日志
user=root;  這個參數(shù)可以設(shè)置一個非root用戶,當(dāng)我們以root用戶啟動supervisord之后。我這里面設(shè)置的這個用戶,也可以對supervisord進(jìn)行管理
stdout_logfile= /www/wwwroot/admin/test.out.log; 子進(jìn)程的stdout的日志路徑 輸出日志文件
stderr_logfile=/www/wwwroot/admin/test.err.log ; 錯誤日志文件 當(dāng)redirect_stderr=true。這個就不用

上面有注釋說明的看起來有點混亂,我們來寫一個沒有注釋的:

[program:test] 
command=php think queue:work --queue saveLoginLog --daemon --tries 10
directory= /www/wwwroot/admin
process_name=%(process_num)02d
numprocs=5
autostart=true
autorestart=true
startsecs=1
startretries=20
redirect_stderr=true
user=root
stdout_logfile= /www/wwwroot/admin/test.out.log
stderr_logfile=/www/wwwroot/admin/test.err.log 

之后執(zhí)行啟動:

supervisord -c /etc/supervisord.conf
supervisorctl reload

我在執(zhí)行的時候遇到錯誤了,下面會說錯誤的處理的問題以及解決辦法;

現(xiàn)在我們來測試;
首先在測試的時候執(zhí)行 stop 將進(jìn)程停止,之后再打開一個終端連接redis,我們執(zhí)行登錄,執(zhí)行后登錄后的隊列任務(wù)會在redis一直存在;

supervisorctl stop test 或者直接 supervisorctl stop all

可以看到是沒有被執(zhí)行的!現(xiàn)在我們開supervisorctl 的test進(jìn)程

接下來說一下問題:
問題1:
Unlinking stale socket /tmp/supervisor.sock
或者:
Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.

解決辦法:

sudo unlink /tmp/supervisor.sock 
or
sudo unlink /var/run/supervisor.sock

問題2:
gave up: redis entered FATAL state, too many start retries too quickly

解決辦法:

修改redis.conf的daemonize為no

其他問題暫時沒有發(fā)現(xiàn);
我在測試的時候進(jìn)程kill掉居然都可以執(zhí)行,所以將服務(wù)器重啟了!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/29114.html

相關(guān)文章

  • Python爬蟲之用supervisor使scrapy在服務(wù)器后臺運行

    摘要:折騰原因之前都是遠(yuǎn)程連接服務(wù)器,然后在命令行運行,一旦關(guān)閉遠(yuǎn)程連接,爬蟲就會停止,很不爽,畢竟能讓一個爬蟲在服務(wù)器一直跑才是每個小白的夢想,所以開始研究如何使程序在后臺運行,剛開始看了,感覺不好用,又搜了搜,發(fā)現(xiàn)了這個進(jìn)程管理程序。 折騰原因 之前都是遠(yuǎn)程連接服務(wù)器,然后在命令行運行scrapy crawl spider,一旦關(guān)閉遠(yuǎn)程連接,爬蟲就會停止,很不爽,畢竟能讓一個爬蟲在服務(wù)器...

    Turbo 評論0 收藏0
  • CentOS 下使用 Pipenv + Gunicorn + Supervisor 部署 Flask

    摘要:根據(jù)中華人民共和國信息產(chǎn)業(yè)部第十二次部務(wù)會議審議通過的非經(jīng)營性互聯(lián)網(wǎng)信息服務(wù)備案管理辦法精神,在中華人民共和國境內(nèi)提供非經(jīng)營性互聯(lián)網(wǎng)信息服務(wù),應(yīng)當(dāng)辦理備案。未經(jīng)備案,不得在中華人民共和國境內(nèi)從事非經(jīng)營性互聯(lián)網(wǎng)信息服務(wù)。 當(dāng)我們開發(fā)了一個簡單的 Flask 程序,想把項目部署上線,我們可以選擇傳統(tǒng)的部署方式或者云部署方式把項目部署上線。在本文中,筆者將使用 阿里云輕量應(yīng)用服務(wù)器 安裝 C...

    anyway 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<