Hotline : 07 088 44444
Thích
Chia sẻ

Cài đặt module Real IP NGINX trên CentOS 7

31/03/2021

Thực hiện theo các bước sau đây để cài đặt module Real IP cho NGINX trên CentOS 7

Kiểm tra module Real IP NGINX

Dùng command bên dưới để kiểm tra module ngx_http_realip_module đã được compile cùng NGINX hay chưa.

nginx -V 2>&1 | grep -o 'http_realip_module'

Nếu chưa có module này, tiến hành compile lại NGINX để add thêm module

Compile NGINX

Update system

yum update -y && yum upgrade -y

NGINX được viết bằng ngôn ngữ C, vì vậy để compile NGINX cần phải cài C compiler (GCC) và các thành phần khác.

yum install gcc gcc-c++ glibc-devel make openssl-devel zlib-devel pcre-devel wget -y

Tải bản NGINX mới nhất tại

# Stable version
wget https://nginx.org/download/nginx-1.18.0.tar.gz && tar zxvf nginx-1.18.0.tar.gz
# Mainline version
wget https://nginx.org/download/nginx-1.19.8.tar.gz && tar zxvf nginx-1.19.8.tar.gz

Cài đặt module Real IP cho NGINX

Di chuyển tới thư mục chứa source code NGINX

cd ~/nginx-1.18.0

Để giữ lại vị trí các file config, danh sách các module sau khi build giống với môi trường hiện tại, ta dùng lệnh sau để lấy compile string của phiên bản NGINX đang chạy:

nginx -V

Copy lại compile string bắt đầu từ sau đoạn “configure arguments:” cho đến hết, và chèn thêm “–with-http_realip_module” ở cuối để enable module http_realip_module

./configure --prefix=/usr/share/nginx \
            --sbin-path=/usr/bin/nginx \
            --modules-path=/usr/lib/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=/run/nginx.pid \
            --lock-path=/var/lock/nginx.lock \
            --user=www-data \
            --group=www-data \
            --build=Ubuntu \
            --http-client-body-temp-path=/var/lib/nginx/body \
            --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
            --http-proxy-temp-path=/var/lib/nginx/proxy \
            --http-scgi-temp-path=/var/lib/nginx/scgi \
            --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
            --with-openssl-opt=enable-ec_nistp_64_gcc_128 \
            --with-openssl-opt=no-nextprotoneg \
            --with-openssl-opt=no-weak-ssl-ciphers \
            --with-openssl-opt=no-ssl3 \
            --with-pcre-jit \
            --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_slice_module \
            --with-http_ssl_module \
            --with-http_sub_module \
            --with-http_stub_status_module \
            --with-http_v2_module \
            --with-http_secure_link_module \
            --with-mail \
            --with-mail_ssl_module \
            --with-stream \
            --with-stream_realip_module \
            --with-stream_ssl_module \
            --with-stream_ssl_preread_module \
            --with-debug \
            --with-http_realip_module 

Tiến hành Compile

make && sudo make install
mkdir -p /var/lib/nginx && sudo nginx -t
groupadd -r www-data
useradd -r -s /sbin/nologin -d /dev/null -g www-data www-data
mkdir -p /var/lib/nginx/{body,fastcgi}

Kiểm tra NGINX Version và compile string

sudo nginx -v && sudo nginx -V

Output

nginx version: nginx/1.18.0 (Ubuntu)
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=...
...

Chạy lại command để kiểm tra module Real IP NGINX đã được cài đặt thành công hay chưa

nginx -V 2>&1 | grep -o 'http_realip_module'
Cài đặt module Real IP NGINX
Cài đặt module Real IP NGINX

Tạo Systemd service cho NGINX

Chạy command để mở file nginx.service

sudo vi /etc/systemd/system/nginx.service

Paste nội dung bên dưới vào cửa sổ vim vừa mở

[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/bin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/bin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/bin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=-/bin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
TimeoutStopSec=5
KillMode=mixed

[Install]
WantedBy=multi-user.target

Start nginx và tùy chọn để nginx khởi động cùng hệ thống

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Hoàn tất.

Vietnix hiện đang có chương trình khuyến mãi lớn nhất trong năm

Giảm giá: Giảm giá TRỌN ĐỜI: Ngoài ra, khi sử dụng dịch vụ VPS và Hosting, quý khách sẽ được tặng bộ Theme & Plugin Wordpress bản quyền trị giá đến 800$/năm.

Đăng ký dùng thử ngay và Vietnix sẽ hoàn tiền 100% nếu quý khách không hài lòng với chất lượng sản phẩm, dịch vụ!

Nếu bạn có thắc mắc hay có vấn đề cần hỗ trợ, bạn có thể liên hệ trực tiếp với Vietnix thông qua các kênh sau:
  • Hotline: 1800 1093 - 07 088 44444
  • Email: support@vietnix.vn
  • Hoặc chat trực tiếp với Vietnix thông qua biểu tượng Livechat ở góc phải màn hình. Đội ngũ chuyên viên của chúng tôi luôn sẵn sàng tư vấn và hỗ trợ bạn 24/7.
Mình là Bo - admin của Quản Trị Linux. Mình đã có 10 năm làm việc trong mảng System, Network, Security và đã trải nghiệm qua các chứng chỉ như CCNP, CISSP, CISA, đặc biệt là chống tấn công DDoS. Gần đây mình trải nghiệm thêm Digital Marketing và đã hòan thành chứng chỉ CDMP của PersonVUE. Mình rất thích được chia sẻ và hỗ trợ cho mọi người, nhất là các bạn sinh viên. Hãy kết nối với mình nhé!
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments