环境:centos7
#配置环境
yum install -y gcc gcc-c++ zlib zlib-devel openssl openssl-devel
cat >> /etc/sysctl.conf <<EOF
fs.file-max = 999999
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.ip_local_port_range = 1024 61000
net.ipv4.tcp_rmem = 4096 32768 262142
net.ipv4.tcp_wmem = 4096 32768 262142
net.core.netdev_max_backlog = 8096
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024
EOF
sysctl -p
#下载pcre资源
cd /usr/local/src/
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
tar zxvf pcre-8.35.tar.gz
#这两行貌似不需要也可以
cd pcre-8.35
./configure && make && make install
#下载nginx
cd /usr/local/src/
wget http://nginx.org/download/nginx-1.17.6.tar.gz
tar -zxvf nginx-1.17.6.tar.gz
cd nginx-1.17.6/
#创建用户、目录
useradd ng &&
passwd ng &&
mkdir -p /ng/sbin/nginx &&
mkdir -p /ng/conf &&
mkdir -p /ng/logs &&
mkdir -p /tmp/ng_tmp &&
mkdir -p /ng/client_body_temp &&
mkdir -p /ng/proxy_temp &&
mkdir -p /ng/fastcgi_temp &&
mkdir -p /ng/uwsgi_temp &&
mkdir -p /ng/scgi_temp
#编译安装
./configure \
--prefix=/ng \
--sbin-path=/ng/sbin/nginx \
--conf-path=/ng/conf/nginx.conf \
--error-log-path=/ng/logs/error.log \
--pid-path=/ng/logs/nginx.pid \
--lock-path=/ng/logs/nginx.lock \
--builddir=/tmp/ng_tmp \
--with-perl=/usr/bin/perl \
--http-client-body-temp-path=/ng/client_body_temp \
--http-proxy-temp-path=/ng/proxy_temp \
--http-fastcgi-temp-path=/ng/fastcgi_temp \
--http-uwsgi-temp-path=/ng/uwsgi_temp \
--http-scgi-temp-path=/ng/scgi_temp \
--with-pcre=/usr/local/src/pcre-8.35 \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-debug \
--user=ng \
--group=ng && make && make install
#设置开机启动
cat > /usr/lib/systemd/system/nginx.service <<EOF
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/ng/sbin/nginx/nginx -c /ng/conf/nginx.conf
ExecReload=/ng/sbin/nginx/nginx -s reload
ExecStop=/ng/sbin/nginx/nginx -s stop
[Install]
WantedBy=multi-user.target
EOF
systemctl disable nginx.service
systemctl enable nginx.service
reboot