menu
吃上最新鮮的 NGINX

秉着一千个人就有一千个 Nginx 的原则,开始书写。

编译准备

yum -y groupinstall "Development Tools"
yum install -y nano git make gcc gcc-c++ cmake wget 

其他 依赖

# 一堆杂项
git clone --branch=master https://github.com/nginx/nginx.git
git clone --branch=master https://github.com/google/boringssl.git
git clone https://github.com/cloudflare/zlib.git zlib-cloudflare && cd zlib-cloudflare && ./configure && cd ..
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz && tar xzf pcre-8.42.tar.gz
git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module.git
#编译 Boring
cd boringssl && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release ../ && make && cd .. && mkdir -p .openssl/lib && cd .openssl && ln -s ../include . && cd .. && cp build/crypto/libcrypto.a build/ssl/libssl.a .openssl/lib && cd ..
#进入 Nginx 目錄
cd nginx

编译配置

# 初始化 MAKEFILE
./auto/configure \
--prefix=/usr/local/nginx \
--with-pcre=../pcre-8.42 \
--with-pcre-jit \
--with-zlib=../zlib-cloudflare \
--with-openssl=../boringssl \
--with-http_ssl_module \
--with-http_v2_module \
--with-debug \
--with-http_gzip_static_module \
--with-http_gunzip_module \
--with-http_stub_status_module \
--with-http_sub_module \
--add-module=../ngx_http_substitutions_filter_module 

#请务必在编译前执行,否则编译报错
touch ../boringssl/.openssl/include/openssl/ssl.h

编译!

make && make install

配置环境变量

nano /etc/profile 

#在末尾添加
PATH=$PATH:/usr/local/nginx/sbin

#使环境变量生效
source /etc/profile

编辑

在您的 Nginx 添加(或删改)如下信息

ssl_protocols TLSv1.3 TLSv1.2;
ssl_ciphers  '[TLS13-AES-128-GCM-SHA256|TLS13-CHACHA20-POLY1305-SHA256] TLS13-AES-256-GCM-SHA384 [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305] ECDHE-RSA-AES256-GCM-SHA384';

最后

启动 Nginx : nginx

此篇文章借鉴了 南琴浪的教程