1.下载nginx-1.21.3.tar.gz 及 nginx-upstream-fair-master.zip
2.上传nginx-upstream-fair-master至/app/server/nginx/modules/ 解压
3.上传nginx压缩包至/app/server/nginx/ (根据自己需求而定)
4.切换路劲
cd /app/server/nginx
5.解压
tar -zxvf nginx-1.21.3.tar.gz
6.编辑/app/server/nginx/nginx-1.21.3/auto/lib/openssl/conf文件
将原数据
CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include" CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h" CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a" CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
修改为:
CORE_INCS="$CORE_INCS $OPENSSL/include" CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h" CORE_LIBS="$CORE_LIBS $OPENSSL/lib64/libssl.a" CORE_LIBS="$CORE_LIBS $OPENSSL/lib64/libcrypto.a"
7.修改/app/server/nginx/nginx-1.21.3/src/http/ngx_http_upstream.h文件
新增一个default_port
struct ngx_http_upstream_srv_conf_s { ngx_http_upstream_peer_t peer; void **srv_conf; ngx_array_t *servers; /* ngx_http_upstream_server_t */ ngx_uint_t flags; ngx_str_t host; u_char *file_name; ngx_uint_t line; in_port_t port; in_port_t default_port; /* 新增一个default_port */ ngx_uint_t no_port; /* unsigned no_port:1 */ #if (NGX_HTTP_UPSTREAM_ZONE) ngx_shm_zone_t *shm_zone; #endif };
8.切至nginx目录
cd /app/server/nginx/nginx-1.21.3
9.配置
./configure --prefix=/app/server/nginx/nginx-all --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/openssl3.0.0 --with-openssl-opt="enable-tlsext" --with-http_v2_module --add-module=/app/server/nginx/modules/nginx-upstream-fair-master
配置解释:
/app/server/nginx/nginx-all 是安装路径,不能安直接安装到解压路径 http_stub_status_module 监控模块 with-http_ssl_module ssl模块 http_gzip_static_module gzip模块 /usr/local/openssl3.0.0 openssl安装路径路径 nginx-upstream-fair-master 负载均衡模块 http_v2_module http2模块 提示./configure: error: the HTTP rewrite module requires the PCRE library.错误时,需要安装pcre-devel(命令:yum -y install pcre-devel)
openssl及其他环境配置安装方法可看:CentOS linux 安装openssl
10.编译安装
make
make install
结束