Hướng dẫn compile NGINX trên CentOS

Khi muốn cài đặt thêm module NGINX, kích hoạt HTTP2 bạn bắt buộc phải complie NGINX từ source code vì bản chúng ta thường cài qua lệnh yum sẽ không được tích hợp sẵn.

Ngoài ra, còn một tác dụng nữa không nhiều bạn biết đó là complie NGINX để test sức mạnh của CPU. Khi order VPS/Server, bạn chỉ nhìn thấy những thông số chung chung như 1 vCore CPU, 2 vCore CPU và thậm chí nhiều nhà cung cấp còn giấu không public xung nhịp của CPU, bao nhiêu GHz?

Thậm chí khi đã nắm được đầy đủ info bạn vẫn không thể biết được sức mạnh thực sự của nó như thế nào vì mỗi nhà cung cấp sẽ config VPS chỉ được sử dụng tối đa bao nhiêu % của 1 CPU vật lý mà thôi. Vì vậy, chúng ta chỉ có thể biết được chính xác khả năng tính toán của CPU bằng cách trực tiếp đo thời gian thực hiện những tác vụ nặng, ví dụ như compile NGINX mà mình sẽ giới thiệu dưới đây.

Mình sẽ hướng dẫn với bản Stable 1.12.x (mới nhất hiện nay là 1.12.2) mà HocVPS Script sử dụng. Khi có bản mới hơn các bạn chỉ cần thay version number vào là xong.

Trước khi bắt đầu, update hệ thống:

sudo yum check-update || sudo yum update -y

Compile NGINX từ source code

1. Cài đặt các thành phần bắt buộc

sudo yum install gcc-c++ perl pcre-devel zlib-devel epel-release -y

2. Tải NGINX và thư viện OpenSSL

cd /usr/local/src
 wget http://nginx.org/download/nginx-1.14.0.tar.gz && tar -xzvf nginx-1.14.0.tar.gz
 wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz && tar -xzvf openssl-1.1.0h.tar.gz
 rm -rf *.tar.gz

3. Cấu hình và Compile NGINX

cd nginx-1.12.2
 
 ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie' --with-openssl=/usr/local/src/openssl-1.1.0h
 
 make

Chờ quá trình biên dịch xong, bạn sẽ có file NGINX ở đường dẫn objs/nginx

(function() )(); window._fbq = window._fbq || []; window._fbq.push([‘track’, ‘PixelInitialized’, ]);

Nguồn: https://hocvps.com/compile-nginx-centos/

Add Comment