任務需求:以最簡單的方式管理 /usr/local/php7/sbin/php-fpm -c /usr/local/php7/etc/php.ini 這條命令 包括啟動停止重啟
使用技術:shell指令碼 chkconfig服務管理
實現流程:
1.在 /etc/init.d 目錄下建立shell指令碼
vim /etc/init.d/php-fpm
2.寫入指令碼(寫在部落格上就手動新增了很多註釋 非常全面 所有中文註釋行刪除掉才是指令碼內容)
#!/bin/bash
#指定執行shell
# chkconfig: - 85 15
#指定執行級別 -代表預設2345 85和15代表啟動優先權和關閉優先權 值越小越優先
# processname:php-fpm
#指定服務名稱
#定義變數
phpfpm=/usr/local/php7/sbin/php-fpm
phpini=/usr/local/php7/etc/php.ini
fpmpid=$(ps -ef | grep php-fpm | grep -v 'color' | grep -v 'pts' | awk '{print $2}')
#抓取php-fpm程式 排除帶有color的行和帶有pts的行 再進行抓取第二列 獲取出來的是多列pid號
start(){
if [ -z "$fpmpid" ]; then
#如果fpmpid是空 如果判斷非空用 -n
$phpfpm -c $phpini
#那麼就執行這條命令: /usr/local/php7/sbin/php-fpm -c /usr/local/php7/etc/php.ini
fi
echo 'php-fpm starting...'
}
stop(){
if [ -z "$fpmpid" ]; then
#如果fpmpid是空 則退出指令碼
exit 1
fi
kill -9 $fpmpid
echo 'php-fpm stop....'
}
restart(){
stop
start
echo 'php-fpm restart....'
}
status(){
ps -ef | grep -v 'color' | grep -v 'pts' | grep 'php-fpm'
#檢視狀態列印出php-fpm的執行程式
}
#判斷引數值 根據不同的引數值走不同分支 執行相應的函式
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
esac
3.給執行許可權
chmod +x /etc/init.d/php-fpm
4.加入服務
chkconfig --add php-fpm
5.最終操作
service php-fpm start
service php-fpm status
service php-fpm restart
service php-fpm stop