CentOS6 配置Nginx,MySql,php-fpm开机启动的方法

时间:2021-09-07 16:27:29

一. Nginx 开机启动

1、在/etc/init.d/目录下创建脚本

vim /etc/init.d/nginx

2、编写脚本内容 (将以下复制进去相应改动安装路径)

?
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 #!/bin/bash# nginx Startup script for the Nginx HTTP Server# it is v.0.0.2 version.# chkconfig: - 85 15# description: Nginx is a high-performance web and proxy server.# It has a lot of features, but it's not for everyone.# processname: nginx# pidfile: /var/run/nginx.pid# config: /usr/local/nginx/conf/nginx.conf //这里改成之前的安装目录nginxd=/usr/local/webserver/nginx/sbin/nginx//这里改成之前的安装目录nginx_config=/usr/local/webserver/nginx/conf/nginx.conf//这里改成之前的安装目录nginx_pid=/usr/local/webserver/nginx/logs/nginx.pid//这里改成之前的安装目录RETVAL=0prog="nginx"# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} =
"no" ] && exit 0
[ -x $nginxd ] ||
exit 0
# Start nginx daemons functions.start() {if [ -e $nginx_pid ];thenecho "nginx already running...."exit 1fiecho -n $"Starting $prog: "daemon $nginxd -c ${nginx_config}RETVAL=$?echo[ $RETVAL = 0 ] &&
touch /var/lock/subsys/nginx
return $RETVAL}# Stop nginx daemons functions.stop() {echo -n $"Stopping $prog: "killproc $nginxdRETVAL=$?echo[ $RETVAL = 0 ] &&
rm -f /var/lock/subsys/nginx /usr/local/webserver/nginx/logs/nginx.pid
}reload() {echo -n $"Reloading $prog: "#kill -HUP `cat ${nginx_pid}`killproc $nginxd -HUPRETVAL=$?echo}# See how we were called.case "$1" instart)start;;stop)stop;;reload)reload;;restart)stopstart;;status)status $progRETVAL=$?;;*)echo $"Usage: $prog {start|stop|restart|reload|status|help}"exit 1esacexit $RETVAL

3、更改脚本权限

?
1 chmod 775 /etc/init.d/nginx

4、设置开机启动

?
1 #chkconfig nginxd on

二. MySQL开机启动

1、将mysql安装目录下 support-files目录下的mysql.server文件拷贝到/etc/init.d/目录下并改名为mysqld,并更改权限

?
1 chmod 775 /etc/init.d/mysqld

2、设置开机启动

?
1 #chkconfig mysqld on

三. PHP-fpm开机启动

1、在/etc/init.d/目录下创建脚本

?
1 vim /etc/init.d/php-fpm

2、编写脚本内容 (将以下复制进去相应改动安装路径)

?
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 #!/bin/sh## php-fpm - this script starts and stops the php-fpm daemin## chkconfig: - 85 15# processname: php-fpm# config: /usr/local/php/etc/php-fpm.confset -ePATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binDESC="php-fpm daemon"NAME=php-fpmDAEMON=/usr/local/php/sbin/$NAME//这里改成之前的安装目录CONFIGFILE=/usr/local/php/etc/php-fpm.conf//这里改成之前的安装目录PIDFILE=/usr/local/php/var/run/$NAME.pid//这里改成之前的安装目录SCRIPTNAME=/etc/init.d/$NAME//这里改成之前的安装目录 # If the daemon file is not found, terminate the script.test -x $DAEMON || exit 0d_start(){$DAEMON -y $CONFIGFILE ||
echo -n " already running"
}d_stop(){kill -QUIT `cat $PIDFILE` ||echo -n " no running"}d_reload(){kill -HUP `cat $PIDFILE` ||echo -n " could not reload"}case "$1" instart)echo -n "Starting $DESC: $NAME"d_startecho ".";;stop)echo -n "Stopping $DESC: $NAME"d_stopecho ".";;reload)echo -n "Reloading $DESC configuration..."d_reloadecho "Reloaded.";;restart)echo -n "Restarting $DESC: $NAME"d_stop# Sleep for two seconds before starting again, this should give the nginx daemon some time to perform a graceful stopsleep2d_startecho ".";;*)echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload)" >&2exit 3;;esacexit 0

最后:x 保存退出

3、更改脚本权限

?
1 chmod 775 /etc/init.d/php-fpm

4、设置开机启动

?
1 #chkconfig php-fpm on

可用命令 chkconfig 查看开机启动服务列表




CentOS设置服务开机启动的两种方法

1、利用 chkconfig 来配置启动级别
在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd、mysqld、postfix等,安装后系统默认不会自动启动的。就算手动执行 /etc/init.d/mysqld start 启动了服务,只要服务器重启后,系统仍然不会自动启动服务。 在这个时候,我们就需要在安装后做个设置,让系统自动启动这些服务,避免不必要的损失和麻烦。 其实命令很简单的,使用chkconfig即可。
[天涯PHP博客]-[http://blog.phpha.com]
比如要将mysqld设置为开机自动启动:

1 chkconfigmysqld on

要取消掉某个服务自动启动,只需要将最后的参数 “on” 变更为 “off” 即可。
比如要取消 postfix 的自动启动:

1 chkconfigpostfix off

值得注意的是,如果这个服务尚未被添加到 chkconfig 列表中,则现需要使用 –-add 参数将其添加进去:

1 chkconfig-add postfix

如果要查询当前所有自动启动的服务,可以输入:

1 chkconfig-list

如果只想看指定的服务,只需要在 “–-list” 之后加上服务名就好了,比如查看httpd服务是否为自动启动:

1 chkconfig-listhttpd
1 httpd0:off1:off2:off3:off4:off5:off6:off

此时0~6均为off,则说明httpd服务不会在系统启动的时候自动启动。我们输入:

1 chkconfighttpd on

则此时为:

1 httpd0:off1:off2:on3:on4:on5:on6:off

这个时候2~5都是on,就表明会自动启动了。

2、修改 /etc/rc.d/rc.local 这个文件:
例如将 apache、mysql、samba、svn 等这些服务的开机自启动问题一起搞定:

1234567 [天涯PHP博客]-[http://blog.phpha.com]vi/etc/rc.d/rc.local#添加以下命令/usr/sbin/apachectlstart/etc/rc.d/init.d/mysqldstart/etc/rc.d/init.d/smbstart/usr/local/subversion/bin/svnserve-d