Android

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

Hướng dẫn cài LEMP Webserver (Linux - NGINX - PHP-FPM -MariaDB)

Hướng dẫn cài LEMP Webserver (Linux - NGINX - PHP-FPM -MariaDB)

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. Điều này cực kỳ hữu ích, vì đối với mỗi trang web, bạn có thể chỉ định gốc tài liệu trang web (thư mục chứa các tệp trang web), tạo chính sách bảo mật riêng, sử dụng các chứng chỉ SSL khác nhau và hơn thế nữa.

Trong hướng dẫn này, chúng tôi sẽ giải thích cách thiết lập các khối máy chủ Nginx trên CentOS 7.

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

Đảm bảo 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:

  • 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 cài đặt Nginx trên hệ thống CentOS của bạn. Được đă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/ ├── example.com │ └── public_html ├── example2.com │ └── public_html ├── example3.com │ └── public_html

Về cơ bản, chúng tôi đang 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 thư mục này, chúng tôi sẽ tạo một thư mục chung_html sẽ là thư mục gốc của tài liệu miền và sẽ lưu trữ các tệp trang web tên miền.

Hãy bắt đầu bằng cách tạo thư mục gốc cho 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 bên trong thư mục gốc của tài liệu.

Mở trình soạn thảo văn bản của bạn và tạo index.html demo:

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

Sao chép và dán đoạn mã sau vào tệp:

/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 ( nginx ):

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

Tạo khối máy chủ

Các tệp cấu hình khối máy chủ Nginx phải kết thúc bằng .conf và được lưu trong thư mục /etc/nginx/conf.d .

Mở trình soạn thảo bạn chọn và tạo tệp cấu hình khối máy chủ cho example.com .

sudo nano /etc/nginx/conf.d/example.com.conf 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.

Sao chép và dán đoạn mã sau vào tệp:

/etc/nginx/conf.d/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; } }

Lưu tệp và 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ủ CentOS. 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 CentOS 7

centin nginx

Bài này là một phần của loạt cài đặt-lemp-stack-on-centos-7.

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

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