Nginx lỗi cấu hình nhiều domain virtual host năm 2024

Để có thể chạy nhiều domain / website trên Nginx Web Server chúng ta cần cấu hình Virtual Hosts. Hướng dẫn sau sẽ giúp bạn cấu hình Nginx Virtual Hosts trên máy chủ Ubuntu / CentOS

Tiền đề bài viết

Máy chủ server / vps chạy hệ điều hành Ubuntu Server 18.04 (Ubuntu / Debian / Linux Mint) hoặc CentOS 7/8 (RHEL / Fedora). Các bạn có thể thực hiện trên Local với VirtualBox hoặc VMWare hoặc mua và sử dụng 1 VPS, Cloud VPS. Các bạn có thể tham khảo dịch vụ Cloud VPS nổi tiếng của nhà cung cấp Vultr.

Chúng ta cấu hình Virtual Hosts trên Nginx với 2 website có thông tin như sau:

Website 1 Website 2 Tên miền vinasupport-1.com vinasupport-2.com Đường dẫn thư mục /var/www/vinasupport_1 /var/www/vinasupport_2

Cài đặt Nginx Server

Việc cài đặt Nginx cực kỳ đơn giản và mình cũng đã trình bày chi tiết trong bài viết: Nginx là gì? Cài đặt và cấu hình Nginx Web Server

Cấu hình Virtual Hosts trên Nginx Server

Tạo thư mục lưu trữ source code cho 2 website:

mkdir -p /var/www/vinasupport_{1,2}

Tạo file index.html cho website vinasupport-1.com, đặt nó ở đường dẫn /var/www/vinasupport_1/index.html

Với nội dung như sau:

<html> <head> <title>vinasupport.com</title> </head> <body> <p>Website: vinasupport-1.com</p> </body> </html>

Tương tư tạo file index.html cho website vinasupport-2.com ở đường dẫn /var/www/vinasupport_2/index.html

Cách cấu hình Nginx làm web server và reverse-proxy (reverse proxy) cho Apache trên một server Ubuntu 18.04

Apache và Nginx là hai web server open-souce phổ biến thường được sử dụng với PHP. Có thể hữu ích khi chạy cả hai trên cùng một máy ảo khi lưu trữ nhiều trang web có các yêu cầu khác nhau. Giải pháp chung để chạy hai web server trên một hệ thống là sử dụng nhiều địa chỉ IP hoặc số cổng khác nhau.

Server có cả địa chỉ IPv4 và IPv6 có thể được cấu hình để phục vụ các trang Apache trên một giao thức và các trang Nginx trên một giao thức khác, nhưng điều này hiện không thực tế, vì việc sử dụng IPv6 của các ISP vẫn chưa phổ biến. Có một số cổng khác như

  • sudo nano /etc/apache2/sites-available/001-default.conf

8 hoặc

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 cho web server thứ hai là một giải pháp khác, nhưng chia sẻ URL với số cổng (chẳng hạn như <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

0 ) không phải lúc nào cũng hợp lý hoặc lý tưởng.

Trong hướng dẫn này, bạn sẽ cấu hình Nginx vừa là một web server vừa là một Reverse Proxy cho Apache - tất cả trên một server duy nhất.

Tùy thuộc vào ứng dụng web, các thay đổi mã có thể được yêu cầu để giữ cho Apache nhận biết Reverse Proxy , đặc biệt khi các trang web SSL được cấu hình . Để tránh điều này, bạn sẽ cài đặt một module Apache có tên là <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

1 , module này sẽ viết lại các biến môi trường nhất định để có vẻ như Apache đang trực tiếp xử lý các yêu cầu từ client web.

Ta sẽ lưu trữ bốn domain trên một server . Hai sẽ được cung cấp bởi Nginx: <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

2 ( server ảo mặc định) và <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

3 . Hai phần còn lại, <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

4 và <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

5 , sẽ được Apache phục vụ. Ta cũng sẽ cấu hình Apache để phục vụ các ứng dụng PHP bằng PHP-FPM, mang lại hiệu suất tốt hơn <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

6 .

Yêu cầu

Để hoàn thành hướng dẫn này, bạn cần những thứ sau:

  • Server Ubuntu 18.04 mới được cấu hình theo Cài đặt server ban đầu với Ubuntu 18.04 , với user không phải root có quyền sudo và firewall .
  • Bốn domain đủ điều kiện được cấu hình để trỏ đến địa chỉ IP server của bạn. Xem Bước 3 của Cách cài đặt Tên Server với DigitalOcean để biết ví dụ về cách thực hiện việc này. Nếu bạn lưu trữ DNS của domain của bạn ở nơi khác, bạn nên tạo các bản ghi A thích hợp ở đó.

Bước 1 - Cài đặt Apache và PHP-FPM

Hãy bắt đầu bằng cách cài đặt Apache và PHP-FPM.

Ngoài Apache và PHP-FPM, ta cũng sẽ cài đặt module PHP FastCGI Apache, <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

7 , để hỗ trợ các ứng dụng web FastCGI.

Trước tiên, hãy cập nhật danh sách gói của bạn đảm bảo bạn có các gói mới nhất.

  • sudo apt update

Tiếp theo, cài đặt các gói Apache và PHP-FPM:

  • sudo apt install apache2 php-fpm

Mô-đun FastCGI Apache không có sẵn trong repository lưu trữ của Ubuntu, vì vậy hãy download từ kernel.org và cài đặt bằng lệnh <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

8 .

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

Tiếp theo, hãy thay đổi cấu hình mặc định của Apache để sử dụng PHP-FPM.

Bước 2 - Cấu hình Apache và PHP-FPM

Trong bước này, ta sẽ thay đổi số cổng của Apache thành

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 và cấu hình nó hoạt động với PHP-FPM bằng cách sử dụng module

  • sudo a2ensite 001-default

0 . Đổi tên file cấu hình

  • sudo a2ensite 001-default

1 của Apache:

  • sudo mv /etc/apache2/ports.conf /etc/apache2/ports.conf.default

Tạo một file

  • sudo a2ensite 001-default

1 mới với cổng được đặt thành

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 :

  • echo "Listen 8080" | sudo tee /etc/apache2/ports.conf

Lưu ý: Các web server thường được đặt để lắng nghe trên

  • sudo a2ensite 001-default

4 khi cấu hình Reverse Proxy nhưng làm như vậy sẽ đặt giá trị của biến môi trường của PHP là SERVER_ADDR thành địa chỉ IP lặp lại thay vì IP công khai của server . Mục đích của ta là cài đặt Apache theo cách mà các trang web của nó không nhìn thấy Reverse Proxy trước nó. Vì vậy, ta sẽ cấu hình nó để lắng nghe trên

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 trên tất cả các địa chỉ IP.

Tiếp theo, ta sẽ tạo một file server ảo cho Apache. Chỉ thị

  • sudo a2ensite 001-default

6 trong file này sẽ được đặt để chỉ phục vụ các trang web trên cổng

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 .

Tắt server ảo mặc định:

  • sudo a2dissite 000-default

Sau đó, tạo một file server ảo mới, sử dụng trang web mặc định hiện có:

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-default.conf

Bây giờ hãy mở file cấu hình mới:

  • sudo nano /etc/apache2/sites-available/001-default.conf

Thay đổi cổng nghe thành

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 :

/etc/apache2/sites-available/000-default.conf <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

Lưu file và kích hoạt file cấu hình mới:

  • sudo a2ensite 001-default

Sau đó reload Apache:

  • sudo apt install apache2 php-fpm

0

Xác minh Apache hiện đang nghe trên

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 :

  • sudo apt install apache2 php-fpm

1

Đầu ra sẽ giống như ví dụ sau, với

  • sudo apt install apache2 php-fpm

00 đang nghe trên

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 :

  • sudo apt install apache2 php-fpm

2

Khi bạn xác minh Apache đang lắng nghe trên đúng cổng, bạn có thể cấu hình hỗ trợ cho PHP và FastCGI.

Bước 3 - Cấu hình Apache để sử dụng mod_fastcgi

Apache phục vụ các trang PHP sử dụng <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

6 theo mặc định, nhưng nó yêu cầu cấu hình bổ sung để hoạt động với PHP-FPM.

Lưu ý: Nếu bạn đang thử hướng dẫn này trên cài đặt hiện có của LAMP với mod_php, hãy tắt nó trước với

  • sudo apt install apache2 php-fpm

03 .

Ta sẽ thêm một đoạn cấu hình cho

  • sudo a2ensite 001-default

0 phụ thuộc vào

  • sudo apt install apache2 php-fpm

05 .

  • sudo apt install apache2 php-fpm

05 bị tắt theo mặc định, vì vậy trước tiên ta cần bật nó:

  • sudo apt install apache2 php-fpm

3

Đổi tên file cấu hình FastCGI hiện có:

  • sudo apt install apache2 php-fpm

4

Tạo file cấu hình mới:

  • sudo apt install apache2 php-fpm

5

Thêm các lệnh sau vào file để chuyển yêu cầu file

  • sudo apt install apache2 php-fpm

07 đến socket PHP-FPM UNIX:

/etc/apache2/mods-enabled/fastcgi.conf

  • sudo apt install apache2 php-fpm

6

Lưu các thay đổi và thực hiện kiểm tra cấu hình:

  • sudo apt install apache2 php-fpm

7

Reload Apache nếu Cú pháp OK được hiển thị:

  • sudo apt install apache2 php-fpm

0

Nếu bạn thấy cảnh báo

  • sudo apt install apache2 php-fpm

08 , bạn có thể yên tâm bỏ qua nó ngay bây giờ. Ta sẽ cấu hình tên server sau.

Bây giờ hãy đảm bảo ta có thể phục vụ PHP từ Apache.

Bước 4 - Xác minh chức năng PHP

Hãy đảm bảo PHP hoạt động bằng cách tạo file

  • sudo apt install apache2 php-fpm

09 và truy cập nó từ trình duyệt web.

Tạo file

  • sudo apt install apache2 php-fpm

10 chứa lệnh gọi hàm

  • sudo apt install apache2 php-fpm

11 :

  • sudo apt install apache2 php-fpm

9

Lưu ý nếu bạn đã làm theo cài đặt server ban đầu trong phần Yêu cầu , thì bạn có thể đã bật firewall Apache. Hãy tiếp tục và đảm bảo ta có thể truy cập IP của bạn trên cổng

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 , hiện không thể truy cập được. Ta sẽ hạn chế quyền truy cập vào cổng này ở Bước 10 .

Đầu tiên cho phép cổng

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 thông qua firewall :

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

0

Vì ta sẽ bảo mật các domain Apache của bạn , hãy tiếp tục và đảm bảo lưu lượng truy cập TLS trên cổng

  • sudo apt install apache2 php-fpm

14 có thể vào được.

Cho phép

  • sudo apt install apache2 php-fpm

15 cho phép lưu lượng truy cập trên các cổng

  • sudo apt install apache2 php-fpm

16 và

  • sudo apt install apache2 php-fpm

14 :

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

1

Bây giờ hãy kiểm tra trạng thái firewall của bạn:

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

2

Nếu bạn đã tuân theo các yêu cầu , thì kết quả sẽ giống như sau:

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

3

Bạn sẽ thấy rằng cổng

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 và

  • sudo apt install apache2 php-fpm

15 được phép cùng với bất kỳ luật firewall nào khác. Bây giờ ta hãy xem trang

  • sudo apt install apache2 php-fpm

20 của ta .

Để xem file trong trình duyệt, hãy truy cập

  • sudo apt install apache2 php-fpm

21 . Thao tác này sẽ cung cấp cho bạn danh sách các cài đặt cấu hình mà PHP đang sử dụng.

Ở đầu trang, hãy kiểm tra xem API server cho biết FPM / FastCGI . Khoảng 2/3 đường xuống trang, phần PHP Variables sẽ cho bạn biết SERVER_SOFTWARE là Apache trên Ubuntu. Những điều này xác nhận

  • sudo a2ensite 001-default

0 đang hoạt động và Apache đang sử dụng PHP-FPM để xử lý các file PHP.

Bước 5 - Tạo server ảo cho Apache

Hãy tạo file server ảo Apache cho các domain <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

4 và <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

5 Để làm điều đó, trước tiên ta sẽ tạo folder root tài liệu cho cả hai trang web và đặt một số file mặc định trong các folder đó để ta có thể dễ dàng kiểm tra cấu hình của bạn .

Đầu tiên, hãy tạo các folder root của tài liệu:

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

4

Sau đó, tạo một file

  • sudo apt install apache2 php-fpm

25 cho mỗi trang web:

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

5

Sau đó, tạo một file

  • sudo apt install apache2 php-fpm

09 cho mỗi trang web để ta có thể kiểm tra xem PHP đã được cấu hình đúng chưa.

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

6

Bây giờ tạo file server ảo cho domain <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

4 :

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

7

Thêm mã sau vào file để xác định server :

/etc/apache2/sites-available/foobar.net.conf

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

8

Dòng

  • sudo apt install apache2 php-fpm

28 cho phép hỗ trợ

  • sudo apt install apache2 php-fpm

29 .

Đây chỉ là những chỉ thị cơ bản nhất. Để có hướng dẫn đầy đủ về cách cài đặt server ảo trong Apache, hãy xem Cách cài đặt server ảo Apache trên Ubuntu 16.04 .

Lưu và đóng file . Sau đó, tạo một cấu hình tương tự cho <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

5 Đầu tiên hãy tạo file :

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

9

Sau đó thêm cấu hình vào file :

/etc/apache2/sites-available/test.io.conf

  • sudo mv /etc/apache2/ports.conf /etc/apache2/ports.conf.default

0

Lưu file và thoát khỏi editor .

Bây giờ cả hai server ảo Apache đã được cài đặt , hãy kích hoạt các trang web bằng lệnh

  • sudo apt install apache2 php-fpm

31 . Điều này tạo ra một softlink đến file server ảo trong folder

  • sudo apt install apache2 php-fpm

32 :

  • sudo mv /etc/apache2/ports.conf /etc/apache2/ports.conf.default

1

Kiểm tra lại Apache để tìm lỗi cấu hình:

  • sudo apt install apache2 php-fpm

7

Bạn sẽ thấy Cú pháp OK hiển thị nếu không có lỗi. Nếu bạn thấy bất kỳ điều gì khác, hãy xem lại cấu hình và thử lại.

Reload Apache để áp dụng các thay đổi khi cấu hình của bạn không có lỗi:

  • sudo apt install apache2 php-fpm

0

Để xác nhận các trang web đang hoạt động, hãy mở

  • sudo apt install apache2 php-fpm

33 và

  • sudo apt install apache2 php-fpm

34 trong trình duyệt của bạn và xác minh mỗi trang web hiển thị tệp index.html của nó.

Bạn sẽ thấy các kết quả sau:

Ngoài ra, hãy đảm bảo PHP đang hoạt động bằng cách truy cập các file info.php cho mỗi trang web. Truy cập

  • sudo apt install apache2 php-fpm

35 và

  • sudo apt install apache2 php-fpm

36 trong trình duyệt của bạn.

Bạn sẽ thấy cùng một danh sách thông số cấu hình PHP trên mỗi trang web như bạn đã thấy ở Bước 4.

Bây giờ ta có hai trang web được lưu trữ trên Apache tại cổng

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 . Hãy cấu hình Nginx tiếp theo.

Bước 6 - Cài đặt và cấu hình Nginx

Trong bước này, ta sẽ cài đặt Nginx và cấu hình các domain <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

2 và <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

3 làm server ảo của Nginx. Để có hướng dẫn đầy đủ về cách cài đặt server ảo trong Nginx, hãy xem Cách cài đặt khối server Nginx ( Server ảo) trên Ubuntu 18.04 .

Cài đặt Nginx bằng trình quản lý gói:

  • sudo mv /etc/apache2/ports.conf /etc/apache2/ports.conf.default

4

Sau đó, xóa softlink của server ảo mặc định vì ta sẽ không sử dụng nó nữa:

  • sudo mv /etc/apache2/ports.conf /etc/apache2/ports.conf.default

5

Ta sẽ tạo trang web mặc định của riêng mình sau này ( <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

2 ).

Bây giờ ta sẽ tạo server ảo cho Nginx bằng cách sử dụng cùng một quy trình mà ta đã sử dụng cho Apache. Đầu tiên hãy tạo folder root tài liệu cho cả hai trang web:

  • sudo mv /etc/apache2/ports.conf /etc/apache2/ports.conf.default

6

Ta sẽ giữ các trang web của Nginx trong

  • sudo apt install apache2 php-fpm

41 , đó là nơi Nginx muốn chúng theo mặc định. Bạn có thể đặt chúng dưới

  • sudo apt install apache2 php-fpm

42 với các trang Apache, nhưng sự tách biệt này có thể giúp bạn liên kết các trang web với Nginx.

Như bạn đã làm với server ảo của Apache, hãy tạo các file

  • sudo apt install apache2 php-fpm

25 và

  • sudo apt install apache2 php-fpm

09 để kiểm tra sau khi cài đặt xong:

  • sudo mv /etc/apache2/ports.conf /etc/apache2/ports.conf.default

7

Bây giờ, hãy tạo một file server ảo cho domain <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

2 :

  • sudo mv /etc/apache2/ports.conf /etc/apache2/ports.conf.default

8

  • sudo apt install apache2 php-fpm

46 cuộc gọi Nginx

  • sudo apt install apache2 php-fpm

46 khu vực của khối server file cấu hình. Tạo khối server cho server ảo chính,

  • sudo apt install apache2 php-fpm

48 . Chỉ thị cấu hình

  • sudo apt install apache2 php-fpm

49 làm cho server ảo mặc định này xử lý các yêu cầu HTTP không trùng với bất kỳ server ảo nào khác.

/etc/nginx/sites-available/example.com

  • sudo mv /etc/apache2/ports.conf /etc/apache2/ports.conf.default

9

Lưu và đóng file . Bây giờ, hãy tạo một file server ảo cho domain thứ hai của Nginx, <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

3 :

  • echo "Listen 8080" | sudo tee /etc/apache2/ports.conf

0

Thêm phần sau vào file :

/etc/nginx/sites-available/sample.org

  • echo "Listen 8080" | sudo tee /etc/apache2/ports.conf

1

Lưu và đóng file .

Sau đó, kích hoạt cả hai trang web bằng cách tạo các softlink đến folder

  • sudo apt install apache2 php-fpm

32 :

  • echo "Listen 8080" | sudo tee /etc/apache2/ports.conf

2

Sau đó, kiểm tra cấu hình Nginx đảm bảo không có vấn đề về cấu hình:

  • echo "Listen 8080" | sudo tee /etc/apache2/ports.conf

3

Sau đó reload Nginx nếu không có lỗi:

  • echo "Listen 8080" | sudo tee /etc/apache2/ports.conf

4

Bây giờ hãy truy cập file

  • sudo apt install apache2 php-fpm

09 của server ảo Nginx của bạn trong trình duyệt web bằng cách truy cập //example.com/info.php và //sample.org/info.php . Xem lại phần Biến PHP.

[“SERVER_SOFTWARE”] phải nói là

  • sudo apt install apache2 php-fpm

53 , cho biết rằng các file được cung cấp trực tiếp bởi Nginx. [“DOCUMENT_ROOT”] phải trỏ đến folder bạn đã tạo trước đó trong bước này cho mỗi trang web Nginx.

Đến đây, ta đã cài đặt Nginx và tạo hai server ảo. Tiếp theo, ta sẽ cấu hình Nginx cho các yêu cầu proxy dành cho các domain được lưu trữ trên Apache.

Bước 7 - Cấu hình Nginx cho Server ảo của Apache

Hãy tạo thêm một server ảo Nginx với nhiều domain trong lệnh

  • sudo apt install apache2 php-fpm

54 . Yêu cầu đối với các domain này sẽ được ủy quyền cho Apache.

Tạo một file server ảo Nginx mới để chuyển tiếp các yêu cầu tới Apache:

  • echo "Listen 8080" | sudo tee /etc/apache2/ports.conf

5

Thêm khối mã sau đây chỉ định tên của cả hai domain server ảo Apache và proxy các yêu cầu của chúng tới Apache. Hãy nhớ sử dụng địa chỉ IP công cộng trong

  • sudo apt install apache2 php-fpm

55 :

/ etc / nginx / sites-available / apache

  • echo "Listen 8080" | sudo tee /etc/apache2/ports.conf

6

Lưu file và kích hoạt server ảo mới này bằng cách tạo một softlink :

  • echo "Listen 8080" | sudo tee /etc/apache2/ports.conf

7

Kiểm tra cấu hình đảm bảo không có lỗi:

  • echo "Listen 8080" | sudo tee /etc/apache2/ports.conf

3

Nếu không có lỗi, hãy reload Nginx:

  • echo "Listen 8080" | sudo tee /etc/apache2/ports.conf

4

Mở trình duyệt và truy cập URL

  • sudo apt install apache2 php-fpm

56 trong trình duyệt của bạn. Cuộn xuống phần Biến PHP và kiểm tra các giá trị được hiển thị.

Các biến SERVER_SOFTWARE và DOCUMENT_ROOT xác nhận yêu cầu này đã được Apache xử lý. Các biến HTTP_X_REAL_IP và HTTP_X_FORWARDED_FOR đã được thêm bởi Nginx và sẽ hiển thị địa chỉ IP công cộng của máy tính bạn đang sử dụng để truy cập URL.

Ta đã cài đặt thành công Nginx cho các yêu cầu proxy cho các domain cụ thể tới Apache. Tiếp theo, hãy cấu hình Apache để đặt biến

  • sudo apt install apache2 php-fpm

57 như thể nó đang xử lý các yêu cầu này trực tiếp.

Bước 8 - Cài đặt và cấu hình mod_rpaf

Trong bước này, bạn sẽ cài đặt một module Apache có tên là

  • sudo apt install apache2 php-fpm

58 ghi lại các giá trị của REMOTE_ADDR , HTTPS và HTTP_PORT dựa trên các giá trị được cung cấp bởi Reverse Proxy . Nếu không có module này, một số ứng dụng PHP sẽ yêu cầu thay đổi mã để hoạt động liền mạch từ phía sau proxy. Mô-đun này hiện diện trong repository lưu trữ của Ubuntu dưới dạng

  • sudo apt install apache2 php-fpm

59 nhưng đã lỗi thời và không hỗ trợ các chỉ thị cấu hình nhất định. Thay vào đó, ta sẽ cài đặt nó từ nguồn.

Cài đặt các gói cần thiết để xây dựng module :

  • sudo a2dissite 000-default

0

Download bản phát hành ổn định mới nhất từ GitHub:

  • sudo a2dissite 000-default

1

Extract file đã download :

  • sudo a2dissite 000-default

2

Thay đổi vào folder mới chứa các file :

  • sudo a2dissite 000-default

3

Biên dịch và cài đặt module :

  • sudo a2dissite 000-default

4

Tiếp theo, tạo một file trong folder

  • sudo apt install apache2 php-fpm

60 sẽ tải module

  • sudo apt install apache2 php-fpm

61 :

  • sudo a2dissite 000-default

5

Thêm mã sau vào file để tải module :

/etc/apache2/mods-available/rpaf.load

  • sudo a2dissite 000-default

6

Lưu file và thoát khỏi editor .

Tạo một file khác trong folder này có tên

  • sudo apt install apache2 php-fpm

62 sẽ chứa các chỉ thị cấu hình cho <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

1 :

  • sudo a2dissite 000-default

7

Thêm khối mã sau để cấu hình <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

1 , đảm bảo chỉ định địa chỉ IP của server của bạn:

/etc/apache2/mods-available/rpaf.conf

  • sudo a2dissite 000-default

8

Dưới đây là mô tả ngắn gọn về từng chỉ thị. Xem file <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

1 để biết thêm thông tin.

  • RPAF_Header - Tiêu đề để sử dụng cho địa chỉ IP thực của khách hàng.
  • RPAF_ProxyIPs - IP proxy để điều chỉnh các yêu cầu HTTP.
  • RPAF_SetHostName - Cập nhật tên vhost để `
    • sudo apt install apache2 php-fpm

      66 và

    • sudo apt install apache2 php-fpm ` 67 hoạt động.
  • RPAF_SetHTTPS - Đặt biến môi trường `
    • sudo apt install apache2 php-fpm

      68 dựa trên giá trị có trong

    • sudo apt install apache2 php-fpm ` 69 .
  • RPAF_SetPort - Đặt biến môi trường `
    • sudo apt install apache2 php-fpm ` 70 . Hữu ích khi Apache sử dụng proxy SSL.

Lưu

  • sudo apt install apache2 php-fpm

62 và kích hoạt module :

  • sudo a2dissite 000-default

9

Điều này tạo ra các softlink của các file

  • sudo apt install apache2 php-fpm

72 và

  • sudo apt install apache2 php-fpm

62 trong folder

  • sudo apt install apache2 php-fpm

74 . Bây giờ hãy thực hiện kiểm tra cấu hình:

  • sudo apt install apache2 php-fpm

7

Reload Apache nếu không có lỗi:

  • sudo apt install apache2 php-fpm

0

Truy cập các trang

  • sudo apt install apache2 php-fpm

09

  • sudo apt install apache2 php-fpm

56 và

  • sudo apt install apache2 php-fpm

77 trong trình duyệt của bạn và kiểm tra phần PHP Variables . Biến REMOTE_ADDR bây giờ cũng sẽ là biến địa chỉ IP công cộng của máy tính local của bạn.

Bây giờ hãy cài đặt mã hóa TLS / SSL cho mỗi trang web.

Bước 9 - Cài đặt trang web HTTPS với Let's Encrypt (Tùy chọn)

Trong bước này, ta sẽ cấu hình certificate TLS / SSL cho cả hai domain được lưu trữ trên Apache. Ta sẽ nhận được certificate thông qua [Let's Encrypt] ( //letsencrypt.org ]. Nginx hỗ trợ kết thúc SSL để ta có thể cài đặt SSL mà không cần sửa đổi các file cấu hình của Apache. Mô-đun <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

1 đảm bảo các biến môi trường bắt buộc được đặt trên Apache thành làm cho các ứng dụng hoạt động liền mạch sau Reverse Proxy SSL.

Đầu tiên, ta sẽ tách các khối

  • sudo apt install apache2 php-fpm

79 của cả hai domain để mỗi domain có thể có certificate SSL riêng. Mở file

  • sudo apt install apache2 php-fpm

80 trong editor :

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-default.conf

2

Sửa đổi file để file trông giống như thế này, với <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

4 và <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

5 trong các khối

  • sudo apt install apache2 php-fpm

83 của riêng chúng:

/ etc / nginx / sites-available / apache

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-default.conf

3

Ta sẽ sử dụng Certbot để tạo certificate TLS / SSL của bạn . Plugin Nginx của nó sẽ chăm sóc cấu hình lại Nginx và reload cấu hình khi nào cần thiết.

Trước tiên, hãy thêm repository Certbot chính thức:

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-default.conf

4

Nhấn

  • sudo apt install apache2 php-fpm

84 khi được yêu cầu để xác nhận bạn muốn thêm repository mới. Sau đó, cập nhật danh sách gói để nhận thông tin gói của repository mới:

  • sudo apt update

Sau đó cài đặt gói Nginx của Certbot với

  • sudo apt install apache2 php-fpm

85 :

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-default.conf

6

Sau khi nó được cài đặt, hãy sử dụng lệnh

  • sudo apt install apache2 php-fpm

86 để tạo certificate cho <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

4 và

  • sudo apt install apache2 php-fpm

88 :

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-default.conf

7

Lệnh này yêu cầu Certbot sử dụng plugin

  • sudo apt install apache2 php-fpm

53 , sử dụng

  • sudo apt install apache2 php-fpm

90 để chỉ định tên mà ta muốn certificate hợp lệ.

Nếu đây là lần đầu tiên bạn chạy

  • sudo apt install apache2 php-fpm

86 , bạn sẽ được yêu cầu nhập địa chỉ email và đồng ý với các điều khoản dịch vụ. Sau khi làm như vậy,

  • sudo apt install apache2 php-fpm

86 sẽ giao tiếp với server Let's Encrypt, sau đó chạy thử thách để xác minh bạn kiểm soát domain mà bạn đang certificate request .

Tiếp theo, Certbot sẽ hỏi bạn muốn cấu hình cài đặt HTTPS của bạn như thế nào:

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-default.conf

8

Chọn lựa chọn của bạn, sau đó nhấn

  • sudo apt install apache2 php-fpm

84 . Cấu hình sẽ được cập nhật và Nginx sẽ reload để chọn cài đặt mới.

Bây giờ thực hiện lệnh cho domain thứ hai:

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-default.conf

9

Truy cập một trong các domain của Apache trong trình duyệt của bạn bằng tiền tố

  • sudo apt install apache2 php-fpm

94 ; truy cập

  • sudo apt install apache2 php-fpm

95 và bạn sẽ thấy:

Tìm trong phần Biến PHP . Biến SERVER_PORT đã được đặt thành 443 và HTTPS được đặt thành bật , như thể Apache được truy cập trực tiếp qua HTTPS. Với các biến này được đặt, các ứng dụng PHP không phải được cấu hình đặc biệt để hoạt động sau Reverse Proxy .

Bây giờ hãy vô hiệu hóa quyền truy cập trực tiếp vào Apache.

Bước 10 - Chặn quyền truy cập trực tiếp vào Apache (Tùy chọn)

Vì Apache đang lắng nghe trên cổng

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 trên địa chỉ IP công cộng nên mọi người đều có thể truy cập nó. Nó có thể bị chặn bằng cách đưa lệnh IPtables sau vào bộ luật firewall của bạn.

  • sudo nano /etc/apache2/sites-available/001-default.conf

0

Đảm bảo sử dụng địa chỉ IP của server thay cho ví dụ màu đỏ. Khi cổng

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 bị chặn trong firewall của bạn, hãy kiểm tra xem Apache có thể truy cập được trên đó không. Mở trình duyệt web và thử truy cập một trong các domain của Apache trên cổng

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 . Ví dụ: // example.com : 8080

Trình duyệt sẽ hiển thị thông báo lỗi “Không thể kết nối” hoặc “Trang web không khả dụng”. Với tùy chọn IPtables

  • sudo apt install apache2 php-fpm

99 tại chỗ, người ngoài sẽ không thấy sự khác biệt giữa cổng

  • sudo nano /etc/apache2/sites-available/001-default.conf

9 và một cổng không có bất kỳ dịch vụ nào trên đó.

Lưu ý: Các luật IPtables không tồn tại khi hệ thống khởi động lại theo mặc định. Có nhiều cách để duy trì các luật IPtables, nhưng cách dễ nhất là sử dụng

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

01 trong repository lưu trữ của Ubuntu. Khám phá bài viết này để tìm hiểu thêm về cách cấu hình IPTables.

Bây giờ, hãy cấu hình Nginx để phục vụ các file tĩnh cho các trang Apache.

Bước 11 - Cung cấp file tĩnh bằng Nginx (Tùy chọn)

Khi proxy Nginx yêu cầu các domain của Apache, nó sẽ gửi mọi yêu cầu file cho domain đó tới Apache. Nginx nhanh hơn Apache trong việc cung cấp các file tĩnh như hình ảnh, JavaScript và trang định kiểu. Vì vậy, hãy cấu hình file server ảo

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

02 của Nginx để phân phối trực tiếp các file tĩnh nhưng gửi yêu cầu PHP tới Apache.

Mở file

  • sudo apt install apache2 php-fpm

80 trong editor :

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-default.conf

2

Bạn cần thêm hai khối

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

04 bổ sung vào mỗi khối server , cũng như sửa đổi các phần

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

04 hiện có. Ngoài ra, bạn cần cho Nginx biết nơi tìm các file tĩnh cho mỗi trang web.

Nếu bạn quyết định không sử dụng certificate SSL và TLS, hãy sửa đổi file của bạn để file của bạn trông giống như sau:

/ etc / nginx / sites-available / apache

  • sudo nano /etc/apache2/sites-available/001-default.conf

2

Nếu bạn cũng muốn HTTPS khả dụng, hãy sử dụng cấu hình sau:

/ etc / nginx / sites-available / apache

  • sudo nano /etc/apache2/sites-available/001-default.conf

3

Lệnh

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

06 làm cho Nginx tìm kiếm các file trong root tài liệu và trực tiếp phân phát chúng. Nếu file có phần mở rộng

  • sudo apt install apache2 php-fpm

07 , yêu cầu được chuyển đến Apache. Ngay cả khi file không được tìm thấy trong folder root , yêu cầu được chuyển tới Apache để các tính năng ứng dụng như liên kết cố định hoạt động mà không gặp sự cố.

Cảnh báo: Chỉ thị

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

08 rất quan trọng; điều này ngăn Nginx phân phát nội dung của các file cấu hình Apache như

  • sudo apt install apache2 php-fpm

29 và

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

10 chứa thông tin nhạy cảm.

Lưu file và thực hiện kiểm tra cấu hình:

  • echo "Listen 8080" | sudo tee /etc/apache2/ports.conf

3

Reload Nginx nếu kiểm tra thành công:

  • sudo nano /etc/apache2/sites-available/001-default.conf

5

Để xác minh điều đang làm việc, bạn có thể kiểm tra các file log của Apache trong

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

11 và xem

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

12 yêu cầu cho các

  • sudo apt install apache2 php-fpm

20 file của <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

5 và <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

4 . Sử dụng lệnh

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

16 để xem vài dòng cuối cùng của file và sử dụng chuyển đổi

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

17 để xem file để biết các thay đổi:

  • sudo nano /etc/apache2/sites-available/001-default.conf

6

Bây giờ hãy truy cập

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

18 trong trình duyệt của bạn và sau đó xem kết quả từ log . Bạn sẽ thấy rằng Apache thực sự đang trả lời:

  • sudo nano /etc/apache2/sites-available/001-default.conf

7

Sau đó, hãy truy cập trang

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

19 cho mỗi trang web và bạn sẽ không thấy bất kỳ mục log nào từ Apache. Nginx đang phục vụ họ.

Khi bạn hoàn tất việc quan sát file log , hãy nhấn

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

20 để ngừng gắn đuôi file đó.

Với cài đặt này, Apache sẽ không thể hạn chế quyền truy cập vào các file tĩnh. Kiểm soát truy cập cho các file tĩnh cần được cấu hình trong file server ảo

  • wget //mirrors.edge.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
  • sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb

02 của Nginx, nhưng điều đó nằm ngoài phạm vi của hướng dẫn này.

Kết luận

Đến đây bạn có một server Ubuntu với Nginx phục vụ <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

2 và <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

3 , cùng với Apache phục vụ <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

4 và <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

5 Mặc dù Nginx đang hoạt động như một Reverse Proxy cho Apache, dịch vụ proxy của Nginx là minh bạch và các kết nối đến các domain của Apache dường như được phục vụ trực tiếp từ chính Apache. Bạn có thể sử dụng phương pháp này để phục vụ các trang web an toàn và tĩnh.

Chủ đề