1.Nginx介绍:
  Nginx是一款轻量级的Web
服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄
罗斯的程序设计师IgorSysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамбле
р)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表
现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
 
2.软件安装环境:
操作系统版本:CentOS
Linux release 7.3.1611 (Core)
nginx软件版本:nginx/1.8.1
 
3.装Nginx所需环境
3.1.更换国内YUM源,提高基础软件安装速度:
mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak            
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo    
yum makecache                                         
 
3.2.gcc安装
安装 nginx
需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install -y gcc-c++ 
 
3.3.PCRE pcre-devel 安装
PCRE(Perl
Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 
http 模块使用
pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发
的一个二次开发库。nginx也需要此库。
yum install -y pcre pcre-devel 
 
3.4.zlib 安装
zlib
库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以
需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel 
 
3.5.OpenSSL 安装
OpenSSL
是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,
并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上
传输http),所以需要在Centos安装OpenSSL库。
yum install -y openssl openssl-devel 
 
4.下载Nginx软件包
4.1.可以直接下载nginx的tar.gz安装包,然后再上传服务器安装。
下载地址:
在此推荐使用wget命令下载:
wget -c https://nginx.org/download/nginx-1.8.1.tar.gz
 
4.2.查看下载的nginx安装包(源码包)
ls -l

5.安装nginx软件包
5.1.进入nginx所在目录进行解压:
tar xf nginx-1.8.1.tar.gz
ll
cd nginx-1.8.1/
 
5.2.创建nginx用户和组:
groupadd nginx
useradd -g nginx -s /sbin/nologin -M nginx
 
5.3.Nginx配置:
5.3.1.使用默认配置:
./configure       //检测安装平台的目标特征。
 
5.3.2.使用自定义配置:
./configure --user=nginx --group=nginx --prefix=/app/nginx1.8.1 \
 --with-http_gzip_static_module --with-http_stub_status_module \
 --with-http_ssl_module
echo $?         //检查配置是否成功
 
5.4.编译及安装:
make                          
//用来编译,它从Makefile中读取指令,然后编译。
echo $?         //检查编译是否成功
make install     //用来安装,它也从Makefile中读取指令,安装到指定的位置。
echo $?        //检查安装是否成功
 
5.5.创建软链接:
ln -s nginx1.8.1 nginx
 
5.6.检查配置文件ngnix.conf的正确性:
/app/nginx/sbin/nginx -t
 
5.7.启动nginx:
/app/nginx/sbin/nginx
 
 
6.nginx配置及运行情况检查
6.1.查看nginx的版本:
/app/nginx/sbin/nginx -v
 
6.2.查看nginx的编译参数:
/app/nginx/sbin/nginx -V
 
6.3.查看nginx进程及端口:
ps -ef |grep nginx
 
6.4.netstat -anlp |grep nginx
 
6.5.测试访问:
 
7. Nginx 常用的几个命令:
/app/nginx/sbin/nginx -s reload            // 重新载入配置文件
/app/nginx/sbin/nginx -s reopen            // 重启 Nginx
/app/nginx/sbin/nginx -s stop             // 停止 Nginx
 
 
8.附加说明:nginx编译的configure选项
configure命令是用来检测你的安装平台的目标特征的。它定义了系统的各个方面,包括nginx的被允许
使用的连接处理的方法,比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本,
执行结束时,它会创建一个Makefile文件。

nginx的configure命令支持以下参数:

--prefix=path 定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录。默认使用
/usr/local/nginx。
--sbin-path=path 设置nginx的可执行文件的路径,默认为user/sbin/nginx.
--conf-path=path 设置在nginx.conf配置文件的路径。nginx允许使用不同的配置文件启动,通过命令
行中的-c选项。默认为prefix/conf/nginx.conf.
--pid-path=path 设置nginx.pid文件,将存储的主进程的进程号。安装完成后,可以随时改变的文件
名,在nginx.conf配置文件中使用PID指令。默认情况下,文件名为prefix/logs/nginx.pid。
--error-log-path=path 设置主错误,警告,和诊断文件的名称。安装完成后,可以随时改变的文件名
,在nginx.conf配置文件中 使用的error_log指令。默认情况下,文件名为prefix/logs/error.log。
--http-log-path=path 设置主请求的HTTP服务器的日志文件的名称。安装完成后,可以随时改变的文
件名,在nginx.conf配置文件中使用 的access_log指令。默认情况下,文件名为prefix/logs/access
.log。
--user=name 设置nginx工作进程的用户。安装完成后,可以随时更改的名称在nginx.conf配置文件中 
使用的user指令。默认的用户名是nobody。
--group=name 设置nginx工作进程的用户组。安装完成后,可以随时更改的名称在nginx.conf配置文件
中使用的user指令。默认的为非特权用户。
--with-select_module --without-select_module 启用或禁用构建一个模块来允许服务器使用
select()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
--with-poll_module --without-poll_module 启用或禁用构建一个模块来允许服务器使用poll()方法
。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
--without-http_gzip_module 不编译压缩的HTTP服务器的响应模块。编译并运行此模块需要zlib库。
--without-http_rewrite_module 不编译重写模块。编译并运行此模块需要PCRE库支持。
--without-http_proxy_module 不编译http_proxy模块。
--with-http_ssl_module 使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的
OpenSSL库是必需的。
--with-pcre=path 设置PCRE库的源码路径。PCRE库的源码(版本4.4 - 8.30)需要从PCRE网站下载
并解压。其余的工作是Nginx的./ configure和make来完成。正则表达式使用在location指令和ngx_htt
p_rewrite_module 模块中。
--with-pcre-jit 编译PCRE包含“just-in-timecompilation”(1.1.12中, pcre_jit指令)。
--with-zlib=path 设置的zlib库的源码路径。要下载从zlib(版本1.1.3 - 1.2.5)的并解压。其余
的工作是Nginx的./configure和make完成。ngx_http_gzip_module模块需要使用zlib 。
--with-cc-opt=parameters 设置额外的参数将被添加到CFLAGS变量。例如,当你在FreeBSD上使用PCRE
库时需要使用:--with-cc-opt="-I/usr/local/include。.如需要需要增加 select()支持的文件数量:
--with-cc-opt="-DFD_SETSIZE=2048"。
--with-ld-opt=parameters 设置附加的参数,将用于在链接期间。例如,当在FreeBSD下使用该系统的
PCRE库,应指定:--with-ld-opt="-L/usr/local/lib"。