Chia Sẽ Kinh Nghiệm Về IT



Tìm Kiếm Với Google
-


Gởi Ðề Tài Mới  Gửi trả lời
 
Công Cụ Xếp Bài
Tuổi 10-02-2014, 03:58 PM   #1
hoctinhoc
Guest
 
Trả Lời: n/a
Cấu hình Nginx làm Reserve Proxy trên CentOS


Cấu hình Nginx làm Reserve Proxy trên CentOS




I – Giới thiệu:

Nginx là một máy chủ web (web server), proxy ngược (reserve proxy) và e-mail proxy (IMAP/POP3) nhẹ, hiệu năng cao, sử dụng giấy phép mở BSD. Nginx có thể chạy trên UNIX, Linux, các dòng BSD, Mac OS X, Solaris và Microsoft Windows. Theo thống kê của Netcraft, trong số 1 triệu website lớn nhất thế giới, có 6,52% sử dụng nginx. Tại Nga, quê hương của nginx, có đến 46,9% sử dụng máy chủ này. Nginx chỉ đứng sau Apache và IIS (của Microsoft).
Trên thực tế, số lượng webserver dùng Nginx để chạy website là rất ít, thay vào đó người ta sẽ sử dụng Apache bởi vì Apache tỏ ra tốt hơn Nginx trong việc phục vụ các trang web động (dynamic page). Nhưng vì tính đa dụng nên Apache có rất nhiều thành phần “thừa” khiến cho Web Server của chúng ta trở nên chậm chạp.
Giải pháp đưa ra là chúng ta sẽ sử dụng Nginx để làm proxy ngược. Nginx sẽ chạy ở phía trước (front-end) phục vụ port 80, còn Apache sẽ chạy ở phía sau (back-end) lắng nghe trên port 8080. Các Client truy vấn tới Web Server sẽ theo dạng Client <-----> Nginx <-----> Apache.

Trong bài này, mình sẽ trình bày cách cài đặt và cấu hình Nginx làm Reserve Proxy cho dịch vụ httpd trên hệ điều hành CentOS 6.
II – Yêu cầu:
  • Hệ điều hành CentOS (mình sử dụng bản CentOS 6).
  • Đã cài đặt dịch vụ httpd (tham khảo tại đây).
III – Thực hiện:
Kích hoạt sử dụng lệnh yum tải các gói từ EPEL:
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm
# yum repolist

Cài đặt Nginx sử dụng lệnh yum
# yum install nginx -y

Cấu hình Reserve Proxy
Tạo file porxy.conf
# vi /etc/nginx/conf.d/proxy.conf
Thêm vào nội dung sau
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;


Mở file nginx.conf
# vi /etc/nginx/nginx.conf
Thêm vào thông tin như sau
server {
listen 80;
server_name khanh.com.vn www.khanh.com.vn;

access_log /var/log/nginx/khanh.com.access.log ;
error_log /var/log/nginx/khanh.com.error.log ;

location / {
proxy_pass
http://192.168.10.109:8080/ ;
include /etc/nginx/conf.d/proxy.conf;
}
}

Trong đó:
  • Listen 80: là port mà Nginx lắng nghe Client.
  • Server_name: Domain của Website
  • Proxy_pass: địa chỉ IP của Web Server kèm Port của httpd
  • Include: trỏ tới tệp tin proxy.conf vừa cấu hình ở trên.

Sau khi sửa xong nội dung file nginx.conf, ta lưu lại và kiểm tra nội dung cấu hình đã chính xác chưa
# nginx -t

Sau đó khởi động lại Nginx
# /etc/init.d/nginx restart

Tiếp tục, ta sẽ cấu hình dịch vụ httpd listen trên cổng 8080
Mở file httpd.conf
vi /etc/httpd/conf/httpd.conf
Sửa giá trị NameVirtualHost*:8080Listen8080

Sau đó ta sẽ khởi động lại dịch vụ httpd
# service httpd restart
Từ client ta truy cập tới Web Server thành công như hình dưới.

Trên Web Server ta kiểm tra lại các port đang Listen được kết quả như hình bên dưới.
# netstat -ltpn | grep 80

Cấu hình Nginx làm Reserve Porxy thành công!


Ngô Duy Khánh – http://Khanh.Com.Vn
  Trả lời ngay kèm theo trích dẫn này
Gửi trả lời


Công Cụ
Xếp Bài

Quyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Hình Cảm xúc đang Mở
[IMG] đang Mở
Mã HTML đang Tắt




Bây giờ là 06:35 AM. Giờ GMT +7



Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.