# 安装必要的组件
yum install -y gcc pcre* openssl-devel
# 创建组和用户
groupadd nginx
useradd -g nginx nginx -s /sbin/nologin
# 文件存放目录
mkdir /etc/nginx
mkdir /var/log/nginx
mkdir /var/cache/nginx
chown nginx:nginx /var/log/nginx
chown nginx:nginx /var/cache/nginx
# 预编译模块
yum Install -y zlib-devel
wget -P /tmp http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
tar -C /tmp -xf /tmp/GeoIP.tar.gz
cd /tmp/GeoIP-1.4.8
./configure
make
make install
yum install -y libunwind-devel gcc-c++
wget -P /tmp https://github.com/gperftools/gperftools/releases/download/gperftools-2.5/gperftools-2.5.tar.gz
tar -C /tmp -xf /tmp/gperftools-2.5.tar.gz
cd /tmp/gperftools-2.5
./configure
make
make install
echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig
# 编译安装
tar -C /tmp -xf /tmp/nginx-$VERSION.tar.gz
cd \tmp\nginx-$VERSION
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_auth_request_module \
--with-threads \
--with-stream \
--with-stream_ssl_module \
--with-http_slice_module \
--with-mail \
--with-mail_ssl_module \
--with-file-aio \
--with-http_v2_module \
--with-http_geoip_module \
--with-google_perftools_module \
--with-stream_realip_module
make
make install
# Nginx 服务开机运行
cat <<EOF | tee /usr/lib/systemd/system/nginx.service
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP \$MAINPID
ExecStop=/bin/kill -s QUIT \$MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
# 启用开机自动运行
systemctl enable nginx.service
systemctl start nginx.service