Nginx 安装手册
1 nginx 安装环境nginx 是C 语言开发,建议在linux 上运行,本教程使用Centos6.5 作为安装环境。gcc安装nginx 需要先将官网下载的源码进行编译,编译依赖gcc 环境,如果没有gcc 环境,需要安装gcc:yum install gcc-c++ -yPCREPCRE(Perl Compatible Regular Expressions)是一个Perl 库,包括perl 兼容的正则表达式库。nginx 的http 模块使用pcre 来解析正则表达式,所以需要在linux 上安装pcre 库。yum install -y pcre pcre-devel注:pcre-devel 是使用pcre 开发的一个二次开发库。nginx 也需要此库。zlibzlib 库提供了很多种压缩和解压缩的方式,nginx 使用zlib 对http 包的内容进行gzip,所以需要在linux 上安装zlib 库。yum install -y zlib zlib-developensslOpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持http 协议,还支持https(即在ssl 协议上传输http),所以需要在linux安装openssl 库。yum install -y openssl openssl-devel编译安装将nginx-1.8.0.tar.gz 拷贝至linux 服务器。解压:tar -zxvf nginx-1.8.0.tar.gzcd nginx-1.8.0configure./configure --help 查询详细参数(参考本教程附录部分:nginx 编译参数)参数设置如下:./configure \--prefix=/usr/local/nginx \--pid-path=/var/run/nginx/nginx.pid \--lock-path=/var/lock/nginx.lock \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--with-http_gzip_static_module \--http-client-body-temp-path=/var/temp/nginx/client \--http-proxy-temp-path=/var/temp/nginx/proxy \--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \--http-scgi-temp-path=/var/temp/nginx/scgi注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var 下创建temp 及nginx 目录2、编译安装makemake install安装成功查看安装目录:3 启动nginxcd /usr/local/nginx/sbin/./nginx查询nginx 进程:15098 是nginx 主进程的进程id,15099 是nginx 工作进程的进程id注意:执行./nginx 启动nginx,这里可以-c 指定加载的nginx 配置文件,如下:./nginx -c /usr/local/nginx/conf/nginx.conf如果不指定-c,nginx 在启动时默认加载conf/nginx.conf 文件,此文件的地址也可以在编译安装nginx 时指定./configure 的参数(--conf-path= 指向配置文件(nginx.conf))4 停止nginx方式1,快速停止:cd /usr/local/nginx/sbin./nginx -s stop此方式相当于先查出nginx 进程id 再使用kill 命令强制杀掉进程。方式2,完整停止(建议使用):cd /usr/local/nginx/sbin./nginx -s quit此方式停止步骤是待nginx 进程处理任务完毕进行停止。5 重启nginx方式1,先停止再启动(建议使用):对nginx 进行重启相当于先停止nginx 再启动nginx,即先执行停止命令再执行启动命令。如下:./nginx -s quit./nginx方式2,重新加载配置文件:当nginx 的配置文件nginx.conf 修改后,要想让配置生效需要重启nginx,使用-s reload 不用先停止nginx 再启动nginx 即可将配置信息在nginx 中生效,如下:./nginx -s reload6 测试nginx 安装成功,启动nginx,即可访问虚拟机上的nginx:到这说明nginx 上安装成功。7 开机自启动nginx7.1编写shell 脚本这里使用的是编写shell 脚本的方式来处理vi /etc/init.d/nginx (输入下面的代码)#!/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.confnginxd=/usr/local/nginx/sbin/nginxnginx_config=/usr/local/nginx/conf/nginx.confnginx_pid=/var/run/nginx.pidRETVAL=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/nginxreturn $RETVAL}# Stop nginx daemons functions.stop() { echo -n $"Stopping $prog: "killproc $nginxdRETVAL=$?echo[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid}# reload nginx service functions.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:wq 保存并退出7.2设置文件的访问权限chmod a+x /etc/init.d/nginx (a+x ==> all user can execute 所有用户可执行)这样在控制台就很容易的操作nginx 了:查看Nginx 当前状态、启动Nginx、停止Nginx、重启Nginx…如果修改了nginx 的配置文件nginx.conf,也可以使用上面的命令重新加载新的配置文件并运行,可以将此命令加入到rc.local 文件中,这样开机的时候nginx 就默认启动了7.3加入到rc.local 文件中vi /etc/rc.local加入一行/etc/init.d/nginx start 保存并退出,下次重启会生效。