Hướng dẫn cấu hình Nginx làm Reverse Proxy cho Apache trên Ubuntu

1 Like Comment
Nginx làm Reverse Proxy cho Apache
Hướng dẫn cấu hình Nginx làm Reverse Proxy cho Apache trên Ubuntu
5 (100%) 1 vote

Nginx làm Reverse Proxy cho Apache – Apache2 là máy chủ web phổ biến nhất hiện nay. Nginx là số 2, tuy nhiên Nginx cũng có thể sử dụng làm Reverse Proxy cho Apache. Hướng dẫn ngắn gọn này sẽ giới thiệu cho các bạn cách cấu hình máy chủ web Nginx như một Reverse Proxy cho Apache2 trên Ubuntu.

Cả hai máy chủ đều có điểm mạnh và điểm yếu, khi được kết hợp và cấu hình đúng cách, chúng có thể mang đến hiệu quả tốt hơn cho server của bạn.

Trong bài này, chúng tôi sẽ cài đặt cả hai máy chủ Nginx và Apache2 .. sau đó cấu hình Nginx để nghe trên cổng 80 trong khi Apache lắng nghe trên cổng 8080. Cả hai đều không thể nghe trên cùng một cổng. Khi lưu lượng truy cập web đến, Nginx sẽ tiếp nhận và chuyển tiếp tới Apache.

Ưu điểm

Nginx rất đa nhiệm nên chúng ta có thể sử dụng nó đồng hành cùng với Apache mà không gây ảnh hưởng gì tới server, thậm chí bạn còn tiết kiệm được nhiều tài nguyên hơn, website tải nhanh hơn.

Apache để xử lý PHP thông qua module mod_php của nó, còn Nginx sẽ có nhiệm vụ đọc dữ liệu nhận được, xử lý các file tĩnh, cache (Nginx làm rất tốt trong việc xử lý cache).

Ngay khi bạn đã sẵn sàng, hãy làm theo các bước dưới đây:

Cấu hình Nginx làm Reverse Proxy cho Apache trên Ubuntu

Bước 1: Cài đặt Apache

Để cài đặt Apache và bật mod rewrite, mod userdir các bạn xem bài hướng dẫn sau

Tuy nhiên tại bước cấu hình virtualhost các bạn sửa cấu hình thành như sau:

<VirtualHost 127.0.0.1:8080>;
ServerAdmin admin@domain.com
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /home/domain.com/public_html
UseCanonicalName OFF
ErrorLog /home/domain.com/logs/error.log
CustomLog /home/domain.com/logs/access.log combined
<Directory /home/domain.com/public_html>
AllowOverride AuthConfig FileInfo Limit Options=IncludesNOEXEC,MultiViews,SymLinksIfOwnerMatch,FollowSymLinks,None
Options -ExecCGI -Includes +IncludesNOEXEC -Indexes
</Directory>
</VirtualHost>

Sau khi cài đặt Apache, hãy chạy các lệnh dưới đây để thay đổi cổng mặc định Apache thành cổng 8080

sudo nano /etc/apache2/ports.conf

Sửa dòng

Listen 80

Thành

Listen 127.0.0.1:8080

Bấm ctrl + o và ctrl + x để lưu file và thoát trình soạn thảo nano

Tiếp theo khởi động lại Apache bằng lệnh sau

sudo service apache2 restart

Bước 2: Cài đặt Nginx làm Reverse Proxy cho Apache

Cài đặt Nginx rất dễ dàng. để làm điều đó, hãy chạy các lệnh bên dưới

sudo apt-get update
sudo apt-get install nginx

Sau khi cài đặt Nginx, hãy chạy lệnh dưới đây để khởi động Nginx.

sudo service nginx start

Bước 3: Cấu hình Nginx làm Reverse Proxy cho Apache

Đầu tiên tạo một thư mục gốc cho website của bạn (domain.com). Trong hướng dẫn này, chúng ta sẽ tạo nó trong /home/domain.com/public_html (Nếu các bạn đã tạo ở bước cài đặt Apache thì bỏ qua bước này nhé)

sudo mkdir -p /home/domain.com/public_html

Sau đó thay đổi quyền trên thư mục để cho phép Nginx và Apache2 truy cập nội dung.

sudo chown -R www-data:www-data /home/domain.com/public_html
sudo chmod -R 775 /home/domain.com/public_html

Tiếp theo, chạy lệnh dưới đây để tạo một virtualhost cho website.

sudo nano /etc/nginx/sites-available/domain

Thêm đoạn code sau vào file

server {
listen 80;
listen [::]:80;
server_name domain.com www.domain.com;

proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;

location / {
proxy_pass http://127.0.0.1:8080;
}
}

Tiếp theo các bạn bấm ctrl + o và ctrl + x để lưu file và thoát khỏi trình soạn thảo nano. Nếu server của các bạn chưa cài đặt nano các bạn có thể cài đặt bằng lệnh sau:

sudo apt install nano

Tiếp theo, kích hoạt trang Nginx bằng cách chạy các lệnh bên dưới

sudo ln -s /etc/nginx/sites-available/domain /etc/nginx/sites-enabled/

Khởi động lại Nginx

service nginx restart

Bước 4: Cài đặt PHP và MariaDB

Kiểm tra thành quả của việc cài đặt Nginx làm Reverse Proxy cho Apache

Để kiểm tra xem cấu hình của chúng ta đã đúng chưa chúng ta tạo một file index.html trong thư mục /home/domain.com/public_html và tiến hành truy cập thử để xem kết quả.

<!DOCTYPE html>
<html lang="vi">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<p>Chào mừng bạn đến với Sanvu88.net</p>
</body>
</html>

You might like

sanvu88

About the Author: sanvu88

Xin chào! Tôi là Sanvu88, người sáng lập Sanvu88.net. Tôi là một người yêu thích Linux . Hiện tại, tôi đang sử dụng Ubuntu làm hệ điều hành trên máy tính của tôi. Tôi có một công việc ban ngày với tư cách là một chuyên viên bơm vá săm xe các loại, và trang web này là một trong những hoạt động yêu thích của tôi, đặc biệt là trong những lúc rảnh rỗi. Hy vọng bạn thích sử dụng trang web này, và nó sẽ mang lại cho bạn nhiều điều bổ ích. Phản hồi từ người đọc sẽ truyền cảm hứng cho tôi để tôi có thể viết được nhiều hơn nữa !. Bạn chỉ cần để lại nhận xét bên dưới nếu bạn thấy bài viết này hữu ích. Chúc bạn ngày mới tốt lành!
avatar