1.3centos安装nginx
一、安装准备 首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装 $ yum install gcc-c++ $ yum install pcre pcre-devel $ yum install zlib zlib-devel $ yum install openssl openssl--devel 二、安装Nginx 安装之前,最好检查一下是否已经安装有nginx $ find -name nginx 如果系统已经安装了nginx,那么就先卸载 $ yum remove nginx 首先进入/usr/local目录 $ cd /usr/local 从官网下载最新版的nginx $ wget http://nginx.org/download/nginx-1.10.3.tar.gz 解压nginx压缩包 $ tar -zxvf nginx-1.10.3.tar.gz 会产生一个nginx-1.10.3 目录,这时进入nginx-1.10.3目录 $ cd nginx-1.10.3 接下来安装,使用--prefix参数指定nginx安装的目录,make、make install安装 $ ./configure $默认安装在/usr/local/nginx $ make $ make install 如果没有报错,顺利完成后,最好看一下nginx的安装目录 $ whereis nginx 安装完毕后,进入安装后目录(/usr/local/nginx)便可以启动或停止它了。
1.nginx启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
2.nginx停止
Nginx支持以下几种信号控制:
- TERM, INT 快速关闭
- QUIT 从容关闭
- HUP 平滑重启
- USR1 重新打开日志文件,在切割文件时用处大
- USR2 平滑升级
- WINCH 从容关闭工作进程
我们可以通过信号停止Nginx主进程,首先,我们需要通过 ps -ef | grep 命令获得master进程的PID,或者通过cat pid文件获得主进程号。下面是几个典型的停止语句:
#从容停止Nginx kill -QUIT master进程号 #快速停止Nginx kill -TERM master进程号 #强制停止Nginx kill -9 master进程号
3.nginx重加载
果改变了配置文件,想重启让其生效,同样可以通过发送系统信号给Nginx主进程,不过,在重启之前,要确认配置文件的语法是正确的,否则将不会加载新的配置项。
通过以下语句测试配置文件语法是否正确:
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
其中 -t 表示测试,并不真正执行。
然后,通过以下命令重加载Nginx配置:
kill -HUP master进程号
执行上面命令之后,Nginx运行新的工作进程,旧工作进程继续为已有的连接服务,等所有旧的连接成功后,旧的工作进程才被关闭。
nginx启动脚本
#!/bin/sh # chkconfig: 2345 85 15 # description:Nginx Server NGINX_HOME=/usr/local/nginx NGINX_SBIN=$NGINX_HOME/sbin/nginx NGINX_CONF=$NGINX_HOME/conf/nginx.conf NGINX_PID=$NGINX_HOME/logs/nginx.pid NGINX_NAME="Nginx" . /etc/rc.d/init.d/functions if [ ! -f $NGINX_SBIN ] then echo "$NGINX_NAME startup: $NGINX_SBIN not exists! " exit fi start() { $NGINX_SBIN -c $NGINX_CONF ret=$? if [ $ret -eq 0 ]; then action $"Starting $NGINX_NAME: " /bin/true else action $"Starting $NGINX_NAME: " /bin/false fi } stop() { kill `cat $NGINX_PID` ret=$? if [ $ret -eq 0 ]; then action $"Stopping $NGINX_NAME: " /bin/true else action $"Stopping $NGINX_NAME: " /bin/false fi } restart() { stop start } check() { $NGINX_SBIN -c $NGINX_CONF -t } reload() { kill -HUP `cat $NGINX_PID` && echo "reload success!" } relog() { kill -USR1 `cat $NGINX_PID` && echo "relog success!" } case "$1" in start) start ;; stop) stop ;; restart) restart ;; check|chk) check ;; status) status -p $NGINX_PID ;; reload) reload ;; relog) relog ;; *) echo $"Usage: $0 {start|stop|restart|reload|status|check|relog}" exit 1 esac
上面是nginx的启动脚本,只要把它拷贝至 /etc/init.d 目录下,就可以通过 service nginx start 等目录操作nginx。
除了上面介绍的直接发信号给Nginx主进程的方法之外,我们还可以通过nginx -s命令:
- stop — fast shutdown
- quit — graceful shutdown
- reload — reloading the configuration file
- reopen — reopening the log files
service nginx start

浙公网安备 33010602011771号