nginx / php-fpm簡(jiǎn)單運(yùn)維命令記錄

這里簡(jiǎn)單記錄下 nginx / php-fpm 日常使用到的一些命令和命令背后的故事筐钟。先說nginx:
測(cè)試下指定配置是否存在錯(cuò)誤:
nginx -t -c /usr/local/conf/nginx.conf

測(cè)試默認(rèn)的nginx配置文件
nginx -t

啟動(dòng)nginx:
nginx -c /usr/local/conf/nginx.conf

平滑重啟nginx
nginx收到HUP信號(hào)之后赤嚼,重啟過程中nginx會(huì)檢測(cè)修改的配置文件是否正確,如果不正確遥赚,新的work不會(huì)創(chuàng)建交汤,舊的進(jìn)程將繼續(xù)工作剃幌。配置文件沒有問題,就先啟動(dòng)新的work税肪,同時(shí)通知舊的work關(guān)閉監(jiān)聽套接字溉躲,但已經(jīng)存在的連接繼續(xù)服務(wù),直到所有舊連接處理完成益兄,舊work就退出了锻梳。
nginx -s reload 后者 sudo kill -HUP 'cat /usr/local/var/run/nginx.pid'

停止nginx:

直接干掉    pkill -9  nginx
從容停止    kill -QUIT 主進(jìn)程號(hào)
快速停止    kill -TERM 主進(jìn)程號(hào)

平滑升級(jí)nginx:
nginx升級(jí)官方建議使用自動(dòng)升級(jí),其實(shí)半自動(dòng)升級(jí)偏塞。

[root@tm /data/nginx-1.10.1]# ./configure --prefix=/usr/local/nginx                                                                 
[root@tm /data/nginx-1.10.1]#make  
[root@tm /data/nginx-1.10.1]#cp objs/nginx  /usr/local/nginx/sbin 
[root@tm /data/nginx-1.10.1]#ps -ef | grep nginx
[root@tm ~/nginx/nginx-1.10.1]#ps -ef | grep nginx
root     20634     1  0 18:04 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody   20635 20634  0 18:04 ?        00:00:00 nginx: worker process
root     20641 15050  0 18:04 pts/0    00:00:00 grep --color=auto nginx
[root@tm ~/nginx/nginx-1.10.1]#cat Makefile    // 瞅瞅makefie文件
default:        build
clean:
        rm -rf Makefile objs
build:
        $(MAKE) -f objs/Makefile
install:
        $(MAKE) -f objs/Makefile install
upgrade:
        /usr/local/nginx/sbin/nginx -t
        kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
        sleep 1
        test -f /usr/local/nginx/logs/nginx.pid.oldbin
        kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
[root@tm ~/nginx/nginx-1.10.1]#make upgrade   
[root@tm ~/nginx/nginx-1.10.1]#ps -ef | grep nginx  
[root@tm /usr/local/nginx/sbin]#./nginx -V                            
 nginx version: nginx/1.10.1

這里順便給出一個(gè)添加nginxsystemctl服務(wù)管理里面,這樣上面的啟動(dòng)唱蒸,重啟,停止都可以通過systemctl來管理了,在/lib/systemd/system下面增加一個(gè)nginx.service

    [Unit]
        Description=nginx - high performance web server  
        Documentation=http://nginx.org/en/docs/  
        After=network.target remote-fs.target nss-lookup.target  
       
    [Service]
        Type=forking  
        PIDFile=/usr/local/nginx/logs/nginx.pid 
        ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf  
        ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
        ExecReload=/bin/kill -s HUP $MAINPID  
        ExecStop=/bin/kill -s QUIT $MAINPID  
        PrivateTmp=true  
       
    [Install] 
        WantedBy=multi-user.target

再來看下php-fpm:
測(cè)試配置文件是否正常:

/usr/local/php/sbin/php-fpm -t

啟動(dòng)php-fpm:

systemctl start php-fpm     //服務(wù)方式控制
or
/usr/local/php/sbin/php-fpm 

停止php-fpm:

systemctl stop php-fpm
or
kill -QUIT 'cat /usr/local/php/var/run/php-fpm.pid'   // 平滑停止
kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'    // 快速停止

重啟php-fpm:

kill -HUP  'cat /usr/local/php/var/run/php-fpm.pid'  // 平滑重啟

這里順便給也出一個(gè)添加php-fpmsystemctl服務(wù)管理里面,這樣上面的啟動(dòng)灸叼,重啟神汹,停止都可以通過systemctl來管理了,在/lib/systemd/system下面增加一個(gè)php-fpm.service

[Unit]
Description=The PHP 5.6 FastCGI Process Manager
After=network.target

[Service]
Type=simple
PIDFile=/usr/local/var/run/php-fpm.pid
ExecStart=/etc/init.d/php-fpm --nodaemonize --fpm-config /usr/local/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

小記1:設(shè)置文件的權(quán)限方式, 文字設(shè)定和數(shù)字設(shè)定:chmod (-R) u=r file_name or chmod (-R)400 file_name
小記2:你嘗試使用systemctl start docker.service 發(fā)現(xiàn)報(bào)錯(cuò)如下:

[root@username system]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2017-10-10 09:49:19 CST; 11min ago
     Docs: http://docs.docker.com
  Process: 29127 ExecStart=/usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY (code=exited, status=1/FAILURE)
 Main PID: 29127 (code=exited, status=1/FAILURE)

Oct 10 09:49:19 taomin.localdomain systemd[1]: Starting Docker Application Container Engine...
Oct 10 09:49:19 taomin.localdomain dockerd-current[29127]: time="2017-10-10T09:49:19+08:00" level=fatal msg="unable to configure the Docker daemon with file /etc/docker/daemon.... string\n"
Oct 10 09:49:19 taomin.localdomain systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Oct 10 09:49:19 taomin.localdomain systemd[1]: Failed to start Docker Application Container Engine.
Oct 10 09:49:19 taomin.localdomain systemd[1]: Unit docker.service entered failed state.
Oct 10 09:49:19 taomin.localdomain systemd[1]: docker.service failed.

這種報(bào)錯(cuò)的原因是:/etc/docker/daemon.json這個(gè)文件不應(yīng)該存在庆捺,如果存在它應(yīng)該是一個(gè)合法的json文件。解決上面的報(bào)錯(cuò)可以將/etc/docker/daemon.json這個(gè)刪掉即可屁魏。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末滔以,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子氓拼,更是在濱河造成了極大的恐慌你画,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桃漾,死亡現(xiàn)場(chǎng)離奇詭異坏匪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)撬统,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門适滓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恋追,你說我怎么就攤上這事凭迹。” “怎么了苦囱?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵嗅绸,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我撕彤,道長(zhǎng)鱼鸠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任喉刘,我火速辦了婚禮瞧柔,結(jié)果婚禮上漆弄,老公的妹妹穿的比我還像新娘睦裳。我一直安慰自己,他們只是感情好撼唾,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布廉邑。 她就那樣靜靜地躺著,像睡著了一般倒谷。 火紅的嫁衣襯著肌膚如雪蛛蒙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天渤愁,我揣著相機(jī)與錄音牵祟,去河邊找鬼。 笑死抖格,一個(gè)胖子當(dāng)著我的面吹牛诺苹,可吹牛的內(nèi)容都是我干的咕晋。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼收奔,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼掌呜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起坪哄,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤质蕉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后翩肌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體模暗,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年念祭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了汰蓉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡棒卷,死狀恐怖顾孽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情比规,我是刑警寧澤若厚,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站蜒什,受9級(jí)特大地震影響测秸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜灾常,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一霎冯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧钞瀑,春花似錦沈撞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至贷岸,卻和暖如春壹士,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背偿警。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工躏救, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人螟蒸。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓盒使,卻偏偏與公主長(zhǎng)得像睁本,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子忠怖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容