下载源码包:http://nginx.org/en/download.html
安装依赖包,编译安装
sudo yum install gcc pcre-devel openssl-devel make geoip-devel
useradd -s /sbin/nologin nginx
tar xf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --user=nginx --group=nginx \
--prefix=/usr/local/nginx --with-stream \
--with-http_ssl_module --with-http_realip_module \
--with-http_geoip_module --with-http_stub_status_module \
--without-http_autoindex_module \
--without-mail_pop3_module \
--without-mail_imap_module \
--without-mail_smtp_module
sudo make && sudo make install
sudo ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
sudo nginx
sudo nginx -V
编译选项解释
--user 指定启动nginx的用户
--group 指定启动nginx的用户组
--prefix 指定nginx安装的根路径
--with-stream 支持upstrem负载均衡
--with-http_ssl_module 支持SSL,需要有OpenSSL库(系统默认就有)
--with-http_realip_module 支持传递http头中的客户端IP地址
--with-http_geoip_module 支持设置各种变量以便在配置文件中的区段使用,基于地理位置查找客户端IP地址(需安装geoip-devel,ubuntu安装libgeoip-dev)
--with-http_stub_status_module 支持收集nginx自身的状态信息
通过systemd管理
cat > /usr/lib/systemd/system/nginx.service <<- EOF
[Unit]
Description=nginx
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s quit
[Install]
WantedBy=multi-user.target
EOF