nginx-1.12.0版本(编译安装)-自定义安装路径
安装路径:/application/nginx-1.12.0
1.前期准备
安装编译需要的gcc和gcc-c++
yum install -y gcc gcc-c++
nginx依赖
pcre-devel、openssl-devel、zlib-devel
yum install -y pcre pcre-devel openssl openssl-devel zlib zlib-devel
创建用户nginx,以该用户的身份执行nginx
useradd -s /bin/false -M nginx
下载nginx源码包并解压到当前目录
cd /tools
wget http://nginx.org/download/nginx-1.12.0.tar.gz
tar -zxf nginx-1.12.0.tar.gz
2.nginx编译安装
生成Makefile文件
cd nginx-1.12.0
./configure --user=nginx --group=nginx --prefix=/application/nginx-1.12.0/ --with-http_v2_module --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre
编译源代码并安装
make && make install
3.后期结尾
给nginx-1.12.0创建软链接去掉末尾的版本号
ln -s /application/nginx-1.12.0/ /application/nginx
添加环境变量
创建nginx命令软链接到环境变量
ln -s /application/nginx/sbin/* /usr/local/sbin/
4.配置nginx开启健康检查
下载模块
cd /usr/local/src
wget https://codeload.github.com/yaoweibin/nginx_upstream_check_module/zip/master
unzip master
cd /root/nginx/nginx-1.12.0/nginx-1.12.0
打补丁
patch -p1 < /usr/local/src/nginx_upstream_check_module-master/check_1.11.5+.patch
预编译
./configure --prefix=/application/nginx-1.12.0/ --user=nobody --group=nobody --add-module=/usr/local/src/nginx_upstream_check_module-master/
编译
make
配置文件
upstream xxxxxx
{
server 172.17.1.164:8080;
server 172.17.3.164:8080;
check interval=2000 rise=2 fall=2 timeout=1000 type=http;
check_http_send "HEAD / HTTP/1.0
";
check_http_expect_alive http_2xx http_3xx http_4xx;
}
其中参数的定义如下:
interval:检查的周期
fall:允许的检查失败次数,若失败次数超过该值,则后端被标记为"down"。
rise:检查的成功次数达到该值,则后端被标记为“up”。
timeout:检查的超时时间。
type:后端检查的协议类型。
开启后端存活状态页面,便于查看后端状态。
location /status {
check_status;
access_log off;
}
查看健康状态
http://xxx.xxx.xxx.xxx/status
5.常用命令
检查配置文件
nginx -t
指定其他配置文件启动nginx
nginx -c /application/nginx/conf/nginx.conf.bak
启动nginx
nginx
停止nginx
nginx -s stop
重启nginx
nginx -s reload
参数解释
-s stop 快速停止nginx
-s quit 平滑停止nginx
-s reopen 重新打开日志文件
-s reload 平滑重载所有配置
6.目录介绍
[root@www nginx]# tree
.
├── conf #配置文件目录
│ ├── fastcgi.conf
│ ├── fastcgi.conf.default
│ ├── fastcgi_params
│ ├── fastcgi_params.default #fastcgi *配合php
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types #mime 媒体类型
│ ├── mime.types.default
│ ├── nginx.conf #nginx主配置文件
│ ├── nginx.conf.default
│ ├── scgi_params
│ ├── scgi_params.default
│ ├── uwsgi_params
│ ├── uwsgi_params.default
│ └── win-utf
├── html #默认站点目录
│ ├── 50x.html
│ └── index.html
├── logs #访问日志、错误日志、pid文件目录
│ ├── access.log #访问日志
│ ├── error.log #错误日志
│ └── nginx.pid #pid文件
└── sbin #命令目录
└── nginx #nginx命令文件