Linux配置Nginx,MySql,php-fpm开机启动的方法 (centos)

时间:2021-10-14 16:28:03

一. Nginx 开机启动

NGINX SHELL脚本   放到/etc/init.d/下取名nginx

下面代码里根据你原始安装路径去更改

Linux配置Nginx,MySql,php-fpm开机启动的方法 (centos)Linux配置Nginx,MySql,php-fpm开机启动的方法 (centos)nginx="/usr/localinx/sbininx" 
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 

#!/bin/sh 

# nginx - this script starts and stops the nginx daemon 

# chkconfig: - 85 15 
# description: Nginx is an HTTP(S) server, HTTP(S) reverse 
# proxy and IMAP/POP3 proxy server 
# processname: nginx 
# chkconfig: 2345 90 91
# description: nginx web server
# processname: nginx
# config: /opt/nginx/conf/nginx.conf
# pidfile: /opt/nginx/nginx.pid


# Source function library.
. /etc/init.d/functions


# Source networking configuration.
. /etc/sysconfig/network




if [ -f /etc/sysconfig/nginx ];then
. /etc/sysconfig/nginx
fi


# Check that networking is up. 
[ "$NETWORKING" = "no" ] && exit 0


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


NGINX_CONF_FILE="/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 $"Starting $prog: " 
daemon $nginx #-c $NGINX_CONF_FILE 
retval=$? 
echo 
[ $retval -eq 0 ] && touch $lockfile 
return $retval 
}


stop() { 
echo -n $"Stopping $prog: " 
killproc $prog -QUIT 
retval=$? 
echo 
[ $retval -eq 0 ] && rm -f $lockfile 
return $retval 
killall -9 nginx 
}


restart() { 
configtest || return $? 
stop 
sleep 1 
start 
}


reload() { 
configtest || return $? 
echo -n $"Reloading $prog: " 
killproc $nginx -HUP 
RETVAL=$? 
echo 
}


force_reload() { 
restart 
}


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


rh_status() { 
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 0 
$1 
;; 
restart) 
$1 
;; 
test) 
configtest 
;; 
reload) 
rh_status_q || exit 7 
$1 
;; 
force-reload) 
force_reload 
;; 
status) 
rh_status 
;; 
condrestart|try-restart) 
rh_status_q || exit 0 
;; 
*) 
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|test}" 
exit 2 
esac

更改脚本权限  chmod 775 /etc/init.d/nginx

二. MySQL开机启动
将mysql安装目录下 support-files目录下的mysql.server文件拷贝到/etc/init.d/目录下并改名为mysqld,并更改权限

chmod 775 /etc/init.d/mysqld

三. PHP开机启动

  PHP-FPM SHELL脚本  放到/etc/init.d/下 取名php-fpm,

  1. php_command=/usr/local/php/sbin/php-fom  
  2. php_config=/usr/local/php/etc/php-fpm.conf  
根据你的安装路径去改

#!/bin/bash
# php-fpm startup script for the php-fpm
# php-fpm version:5.5.0-alpha6
# chkconfig: - 85 15
# description: php-fpm is very good
# processname: php-fpm
# pidfile: /var/run/php-fpm.pid
# config: /usr/local/php/etc/php-fpm.conf

php_command=/usr/local/php/sbin/php-fom
php_config=/usr/local/php/etc/php-fpm.conf
php_pid=/usr/local/php/var/run/php-fpm.pid
RETVAL=0
prog="php-fpm"

#start function
php_fpm_start() {
/usr/local/php/sbin/php-fpm
}

start(){
if [ -e $php_pid ]
then
echo "php-fpm already start..."
exit 1
fi
php_fpm_start
}

stop(){
if [ -e $php_pid ]
then
parent_pid=`cat $php_pid`
all_pid=`ps -ef | grep php-fpm | awk '{if('$parent_pid' == $3){print $2}}'`
for pid in $all_pid
do
kill $pid
done
kill $parent_pid
fi
exit 1
}

restart(){
stop
start
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|status}"
exit 1
esac
exit $RETVAL
使用chkconfig进行管理

chkconfig --add /etc/init.d/nginx
chkconfig --add /etc/init.d/mysqld
chkconfig --add /etc/init.d/php -fpm

设置终端模式开机启动:

chkconfig php-fpm on
chkconfig nginx on
chkconfig mysqld on