Nginx 是一款轻量级的Web服务器、反向代理服务器,特点是内存占用少、启动快、高并发处理能力强,广泛非常应用。本文介绍的是编译安装方式,编译加入了 Naxsi、Replace Filter、Cache Purge、Headers More 和 PageSpeed 这几块常用插件,并且开启了 TCP Stream 特性。
安装依赖
mkdir ~/tmp && cd ~/tmp apt update -y apt upgrade -y apt-get -y install wget curl gcc g++ libssl-dev libgoogle-perftools-dev make build-essential zlib1g-dev libpcre3 libpcre3-dev unzip libpcre3 libpcre3-dev bison git uuid-dev
下载最新版 Nginx
curl "http://nginx.org$(curl -s http://nginx.org/en/download.html | grep -oP 'Stable version.*?\K(/download/.*?tar.gz)')" --output nginx-latest.tar.gz tar zxvf nginx-latest.tar.gz
下载 Naxsi WAF插件
git clone https://github.com/nbs-system/naxsi.git
下载 Replace Filter 插件
git clone https://github.com/openresty/sregex.git cd sregex make && make install cd .. git clone https://github.com/openresty/replace-filter-nginx-module.git
下载 Cache Purge 插件
git clone https://github.com/FRiCKLE/ngx_cache_purge.git
下载 Headers More 插件
git clone https://github.com/openresty/headers-more-nginx-module.git
下载 Pagespeed 插件
NPS_VERSION=1.13.35.2 git clone https://github.com/pagespeed/ngx_pagespeed.git cd ngx_pagespeed # Revert to Works Version git checkout v${NPS_VERSION}-stable wget https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}-x64.tar.gz tar zxvf ${NPS_VERSION}-x64.tar.gz cd ..
下载 OpenSSL
wget https://www.openssl.org/source/openssl-1.1.1m.tar.gz tar zxvf openssl-1.1.1m.tar.gz rm -f openssl-1.1.1m.tar.gz
编译
cd nginx-1.* ./configure --add-module=../naxsi/naxsi_src \ --user=www \ --group=www \ --prefix=/usr/local/nginx \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_gzip_static_module \ --with-http_sub_module \ --with-stream \ --with-stream_ssl_module \ --with-openssl=../openssl-1.1.1m \ --with-google_perftools_module \ --with-stream \ --with-http_realip_module \ --with-stream_ssl_preread_module \ --add-module=../ngx_cache_purge \ --add-module=../replace-filter-nginx-module \ --add-module=../ngx_pagespeed \ --with-stream_realip_module \ --add-module=../headers-more-nginx-module make && make install ldconfig
创建目录和用户
groupadd www useradd -s /sbin/nologin -g www www mkdir -p /var/log/nginx mkdir -p /usr/local/nginx/conf/stream mkdir -p /usr/local/nginx/conf/vhost mkdir -p /home/web/default chown -R www:www /home/web/default touch /var/log/nginx/nginx_error.log touch /var/log/nginx/access_default.log
systemd 自启动
/etc/systemd/system/nginx.service:
[Unit] Description=The NGINX HTTP and reverse proxy server After=syslog.target network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
systemctl enable nginx.service systemctl start nginx.service
文章评论