ホームページ  >  記事  >  バックエンド開発  >  Nginx および PHP-FPM のスクリプトの開始、再起動、停止

Nginx および PHP-FPM のスクリプトの開始、再起動、停止

WBOY
WBOYオリジナル
2016-08-08 09:22:091447ブラウズ

転載元: http://www.jb51.net/article/58796.htm

サーバー上のNginxとPHPは、独自のサービス起動スクリプトを持つubuntuとは異なり、ソースコードからコンパイルおよびインストールされます。同様のサポートはありません。以前の nginx (開始|再起動|停止|リロード) はなくなりました。誰の助けも借りずに快適に暮らすこと。次のスクリプトは、RHEL、Fedora、および CentOS に適用できるはずです。

1. Nginx 起動スクリプト/etc/init.d/nginx

コードをコピーします コードは次のとおりです:


#!/bin/bash
#
# Nginx の起動スクリプト - このスクリプトnginx デーモンを起動および停止します
#
# chkconfig: - 85 15
# description: Nginx は HTTP(S) サーバー、HTTP(S) リバース プロキシ、および IMAP/POP3 プロキシ サーバーです
# processname: nginx
# config: / usr/local/ nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid

# ソース関数ライブラリ
. /etc/rc.d/init.d/functions

# ソースネットワーク構成 .
. /etc/sysconfig/network

# ネットワークが稼働していることを確認します。
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/ nginx"
prog =$(basename $nginx)

NGINX_C/usr/local/nginx/conf/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile =/var/lock/subsys/nginx

start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"$prog を開始します: "
デーモン$nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}

stop() {
echo -n $"$prog を停止しています: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}

restart() {
configtest || stop
sleep 1
start
}

reload() {
configtest || return $?
echo -n $"$prog を再読み込み中: "
killproc $nginx -HUP
RETVAL=$?
echo
}

force_reload() {
restart
}

configtest() {
$nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
ステータス $prog
}

rh_status_q() {
rh_status >/dev/null 2>&1
}

case " $1" in
Start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q exit
;; restart|configtest)
$1
reload)
rh_status_q ||
$1
;; _status_q || 終了 0
;;
|stop|status|restart|try-restart|reload|force-reload|configtest}"
exit 2
esac



編集後、保存して次のコマンドを実行します




コードをコピーします

コードは次のとおりです:


sudo chmod +x /etc/init.d/nginx

sudo /sbin/chkconfig nginx on
# 確認してくださいsudo / sbin/chkconfig --list nginxnginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off

完了!次のコマンドを使用して Nginx を管理できます


コードをコピーします

コードは次のとおりです:


サービスnginx開始
サービスnginx停止
サービスnginx再起動
サービスnginxリロード

/etc/init.d/nginx start
/etc/init.d/nginx stop
/etc/init.d/nginx restart
/ etc/init.d/nginx reload


2. PHP-FPM 起動スクリプト/etc/init.d/php-fpm

コードをコピーします コードは次のとおりです:


#! /bin/bash
#
# PHP-FPM サーバーの起動スクリプト
#
# chkconfig: 345 85 15
# description: PHP は HTML 埋め込みスクリプト言語です
# processname: php-fpm
# config: / usr/local/ php/etc/php.ini

# ソース関数ライブラリ
. /etc/rc.d/init.d/functions

PHP_PATH=/usr/local
DESC="php-fpm デーモン"
NAME=php- fpm
# php-fpm パス
DAEMON=$PHP_PATH/php/sbin/$NAME
# 設定ファイルパス
C/php/etc/php-fpm.conf
# PID ファイルパス (php- で設定) fpm.conf)
PIDFILE=$PHP_PATH/php/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# パッケージが削除されている場合は正常に終了します。
test -x $DAEMON || 0 を終了

rh_start() {
$DAEMON -y $CONFIGFILE || echo -n " すでに実行中です"

rh_stop() {
kill -QUIT `cat $PIDFILE` || " 実行されていません"
}

rh_reload() {
kill -HUP `cat $PIDFILE` || echo -n " リロードできません"
}

case "$1" in
start)
echo -n "開始 $DESC: $NAME"
RH_STARTh エコー "."
;;
stop)
echo -n "停止 $ desc: $name"
rh_stop
echo ". "
rh_reload
echo" ;;
RESTART)
echo -n" 再起動 $ desc: $ name "
rh_stop
sleep 1
rh_start
echo". $SCRIPTNAME {start|stop|restart|reload}" >


sudo chmod +x /etc /init.d/php-fpm
sudo /sbin/chkconfig php-fpm on
# 確認してください
sudo /sbin/chkconfig --list php-fpm
php-fpm 0:off 1:off 2:on 3:on 4:オン 5:オン 6:オフ



完了!次のコマンドを使用して php-fpm を管理できます



コードをコピーします コードは次のとおりです:

service php-fpm startservice php-fpm stopservice php-fpm restartservice php -fpm reload

/etc/init.d/php-fpm start
/etc/init.d/php-fpm stop
/etc/init.d/php-fpm restart
/etc/init.d/php- fpmリロード


rreee


上記では、Nginx と PHP-FPM の起動、再起動、停止スクリプトを、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人の役に立てば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。