-
Tải về các tệp nginx-1.21.3.tar.gz và nginx-upstream-fair-master.zip
-
Sao chép thư mục nginx-upstream-fair-master vào đường dẫn /app/server/nginx/modules/ và giải nén
cd /app/server/nginx/modules<br></br>unzip nginx-upstream-fair-master.zip
-
Chuyển tệp nén Nginx đến /app/server/nginx/ (điều chỉnh theo nhu cầu cụ thể)
-
Di chuyển đến thư mục cài đặt
cd /app/server/nginx
- Giải nén tệp
tar -zxvf nginx-1.21.3.tar.gz
- Chỉnh sửa tệp /app/server/nginx/nginx-1.21.3/auto/lib/openssl/conf
cat /app/server/nginx/nginx-1.21.3/auto/lib/openssl/conf<br></br>vim /app/server/nginx/nginx-1.21.3/auto/lib/openssl/conf
Thay đổi nội dung từ:
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"
Sang định dạng mới:
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"
- Sửa đổi tệp /app/server/nginx/nginx-1.21.3/src/http/ngx_http_upstream.h
Thêm trường default_port vào cấu trúc dữ liệu
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; /* Thêm trường mới */
ngx_uint_t no_port; /* unsigned no_port:1 */
#if (NGX_HTTP_UPSTREAM_ZONE)
ngx_shm_zone_t *shm_zone;
#endif
};
- Chuyển đến thư mục Nginx
cd /app/server/nginx/nginx-1.21.3
- Cấu hình biên dịch
./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
Giải thích các tham số:
/app/server/nginx/nginx-all: Thư mục cài đặt cuối cùng
http_stub_status_module: Module giám sát trạng thái
with-http_ssl_module: Hỗ trợ SSL
http_gzip_static_module: Nén tĩnh
/usr/local/openssl3.0.0: Đường dẫn OpenSSL đã cài đặt
nginx-upstream-fair-master: Module cân bằng tải
http_v2_module: Hỗ trợ HTTP/2
Lỗi liên quan đến PCRE: Cài đặt pcre-devel bằng lệnh <code>yum -y install pcre-devel</code>
Tham khảo cách cài đặt OpenSSL tại: CentOS linux cài đặt openssl
- Tiến hành biên dịch và cài đặt
make<br></br>make install