nginx是个好东东,性能就不说了,网上有很多文章,我学习时感觉到配置超简单,配置文件就是一个json,而且配置项让没有用过nginx的人一眼就能看懂,真的给人感觉棒!
我在编译安装nginx后,每次启动很麻烦,我在fedora的rpm database中找到了一个很不错的shell,通过chkconfig加载到(/etcinit.d/rc*.d/)目录中去,很方便代码如下:
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx chkconfig shell
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/etc/nginx/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
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest_q || configtest || return 6
stop
start
}
reload() {
configtest_q || configtest || return 6
echo -n $"Reloading $prog: "
killproc $nginx -HUP
echo
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
configtest_q() {
configtest >/dev/null 2>&1
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
# Upgrade the binary with no downtime.
upgrade() {
local pidfile="/var/run/${prog}.pid"
local oldbin_pidfile="${pidfile}.oldbin"
configtest_q || configtest || return 6
echo -n $"Staring new master $prog: "
killproc $nginx -USR2
retval=$?
echo
sleep 1
if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]]; then
echo -n $"Graceful shutdown of old $prog: "
killproc -p ${oldbin_pidfile} -QUIT
retval=$?
echo
return 0
else
echo $"Something bad happened, manual intervention required, maybe restart?"
return 1
fi
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
force-reload|upgrade)
rh_status_q || exit 7
upgrade
;;
reload)
rh_status_q || exit 7
$1
;;
status|status_q)
rh_$1
;;
condrestart|try-restart)
rh_status_q || exit 7
restart
;;
*)
echo $"Usage: $0 {start|stop|reload|configtest|status|force-reload|upgrade|restart}"
exit 2
esac
使用chkconfig加载shell设置成服务:
[root@localhost ~]# cp nginx /etc/init.d/nginx
[root@localhost ~]# cd /etc/init.d
[root@localhost init.d]# chkconfig --add nginx
[root@localhost init.d]# chkconfig --level 35 nginx on
下边启动nginx:
[root@localhost init.d]# service nginx start
启动 nginx: [确定]
shell里还有其他的命令用起来都很方便,希望能帮助大家:)
分享到:
相关推荐
Nginx启动或重启失败,一般是因为配置文件出错了,我们可以使用nginx -t方法查看配置文件出错的地方。 也可以通过查看Nginx日志文件定位到Nginx重启失败的原因,Nginx日志文件的路径一般在:/var/log/nginx目录下 ...
搭建nginx,安装包去官网下载,然后修改脚本路径,执行即可
在Windows上安装好nginx后,我们需要启动nginx服务,启动nginx服务的命令行操作主要有两种方式,即 C:/nginx-0.8.53>nginx.exe 或者 C:/nginx-0.8.53>start nginx 启动nginx命令说明:需要注意,由于nginx...
window下Nginx启动bat脚本若中文乱码,则新建脚本文件时改为ANSI编码格式即可 稳定版:nginx-1.15.12:https://download.csdn.net/download/luxiukang/11171445 最新版:nginx-1.16.0:...
linux系统上 nginx自动安装的shell脚本 能自动适配系统版本
docker安装mysql、redis、nginx shell脚本
解决Nginx启动脚本在redhat上无法启动的问题
windows启动nginx脚本
Nginx启动程序
ubuntu开机自启动nginx服务
# nginx Startup script for nginx # # chkconfig: - 85 15 # processname: nginx # config: /etc/nginx/nginx.conf # config: /etc/sysconfig/nginx # pidfile: /var/run/nginx.pid # description: nginx is a ...
nginx自动化安装shell脚本
NULL 博文链接:https://0001111.iteye.com/blog/1188587
Nginx开启自启文件,在/etc/init.d 目录下创建一个新的nginx文件后将内容复制进去。(不建议将文件直接复制到/etc/init.d 目录下,以免引起windows和linux环境下格式转换的不必要麻烦)
nginx启动脚本,下载后可以直接上传使用
nginx与插件 , 启动不了nginx ,可以用这个插件进行启动 。
nginx开机启动脚本
nginx配置修改后运行此脚本启动nginx。 其脚本的作用往往是简化了启动的便利
用于配置nginx自启动,解压导nginx的根目录
nginx自启动