Android

Cách thiết lập khối máy chủ nginx trên Ubuntu 18.04

Ubuntu Server 18.04 Administration Guide Part 10 - Securing Applications with Fail2ban

Ubuntu Server 18.04 Administration Guide Part 10 - Securing Applications with Fail2ban

Mục lục:

Anonim

Nginx Server Blocks cho phép bạn chạy nhiều trang web trên một máy. Với Khối máy chủ, bạn có thể chỉ định gốc tài liệu trang web (thư mục chứa tệp trang web), tạo chính sách bảo mật riêng cho từng trang, sử dụng các chứng chỉ SSL khác nhau cho từng trang và hơn thế nữa.

Trong hướng dẫn này, chúng tôi sẽ cung cấp hướng dẫn từng bước về cách thiết lập các khối máy chủ Nginx (tương tự như Máy chủ ảo Apache) trên Ubuntu 18.04.

Điều kiện tiên quyết

Hãy chắc chắn rằng bạn đã đáp ứng các điều kiện tiên quyết sau đây trước khi tiếp tục với hướng dẫn này:

  • Bạn có một tên miền trỏ đến IP máy chủ công cộng của bạn. Trong hướng dẫn này, chúng tôi sẽ sử dụng example.com . Bạn đã cài đặt Nginx bằng cách làm theo các hướng dẫn sau. Bạn đã đăng nhập với tư cách là người dùng có quyền sudo.
Trong một số tài liệu, bạn sẽ thấy Server Blocks được gọi là Virtual host . Một máy chủ ảo là một thuật ngữ Apache.

Tạo cấu trúc thư mục

Tài liệu gốc là thư mục nơi các tệp trang web cho một tên miền được lưu trữ và phục vụ để đáp ứng yêu cầu. Chúng tôi có thể đặt gốc tài liệu cho bất kỳ vị trí nào chúng tôi muốn nhưng trong hướng dẫn này, chúng tôi sẽ sử dụng cấu trúc thư mục sau:

/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html

Về cơ bản, chúng tôi sẽ tạo một thư mục riêng cho mỗi tên miền mà chúng tôi muốn lưu trữ trên máy chủ của chúng tôi bên trong thư mục /var/www . Trong mỗi thư mục này, chúng tôi sẽ tạo một thư mục public_html sẽ lưu trữ các tệp trang web tên miền.

Hãy tạo thư mục gốc cho ví dụ tên miền của chúng example.com :

sudo mkdir -p /var/www/example.com/public_html

Để thử nghiệm, chúng tôi sẽ tạo một index.html trong thư mục gốc của tài liệu.

Mở trình soạn thảo của bạn và tạo tệp demo:

/var/www/example.com/public_html/index.html

<code> Welcome to example.com Success! example.com home page! </code>

Welcome to example.com Success! example.com home page!

Trong hướng dẫn này, chúng tôi đang chạy các lệnh như người dùng sudo và các tệp và thư mục mới được tạo được sở hữu bởi người dùng root.

Để tránh mọi vấn đề về quyền, chúng tôi có thể thay đổi quyền sở hữu thư mục gốc của tài liệu miền thành người dùng Nginx ( www-data ):

sudo chown -R www-data: /var/www/example.com

Tạo khối máy chủ

Theo mặc định trên các hệ thống Ubuntu, các tệp cấu hình của máy chủ Nginx được lưu trữ trong thư mục /etc/nginx/sites-available Available, được kích hoạt thông qua các liên kết tượng trưng đến thư mục /etc/nginx/sites-enabled/ .

Mở trình soạn thảo bạn chọn và tạo tệp khối máy chủ sau:

/etc/nginx/sites-av Available / example.com

server { listen 80; listen:80; root /var/www/example.com/public_html; index index.html; server_name example.com www.example.com; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location / { try_files $uri $uri/ =404; } }

Bạn có thể đặt tên cho tệp cấu hình theo ý muốn nhưng thông thường tốt nhất là sử dụng tên miền.

Để kích hoạt tệp khối máy chủ mới, chúng ta cần tạo một liên kết tượng trưng từ tệp đến thư mục sites-enabled , được Nginx đọc trong khi khởi động:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Kiểm tra cấu hình Nginx cho đúng cú pháp:

sudo nginx -t

Nếu không có lỗi, đầu ra sẽ như thế này:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Khởi động lại dịch vụ Nginx để các thay đổi có hiệu lực:

sudo systemctl restart nginx

Cuối cùng, để xác minh khối máy chủ đang hoạt động như mong đợi mở http://example.com trong trình duyệt bạn chọn và bạn sẽ thấy một cái gì đó như thế này:

Phần kết luận

Bạn đã học cách tạo cấu hình khối máy chủ Nginx để lưu trữ nhiều tên miền trên một máy chủ Ubuntu. Bạn có thể lặp lại các bước chúng tôi đã nêu ở trên và tạo các khối máy chủ bổ sung cho tất cả các miền của bạn.

Bảo mật Nginx với Let Encrypt trên Ubuntu 18.04

nginx ubfox

Bài đăng này là một phần của loạt bài hướng dẫn cách cài đặt-lemp-stack-on-ub Ubuntu-18-04.

Các bài viết khác trong loạt bài này:

• Cách cài đặt Nginx trên Ubuntu 18.04 • Cách thiết lập khối máy chủ Nginx trên Ubuntu 18.04 • Bảo mật Nginx bằng Let Encrypt trên Ubuntu 18.04 • Cách cài đặt MySQL trên Ubuntu 18.04 • Cách cài đặt PHP trên Ubuntu 18.04