2. Các bước thực hiện:

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

Vì nginx có sẵn trên kho lưu trữ mặc định của Ubuntu (Ubuntu's default repositories) nên có thể cài đặt nó từ kho lưu trữ bằng cách sử dụng hệ thống đóng gói apt

Để đảm bảo các chỉ mục gói được cập nhật và chúng ta có quyền truy cập danh sách gói gần đây nhất. Chúng ta thực hiện lệnh cập nhập gói và sau đó chúng ta có thể tiến hành cài đặt nginx:

sudo apt update
sudo apt install - nginx

Bước 2: Cấu hình tường lửa

Trước khi tiến hành thử nghiệm nginx, phần mềm tường lửa cần được điều chỉnh để cho phép truy cập dịch vụ. Nginx đăng ký chính nó như một dịch vụ với ufw khi cài đặt, làm mọi thử đơn giản hơn khi cấu hình:

Liệt kê các cấu hình ứng dụng mà ufw biết cách làm việc bằng cách gõ:

sudo ufw app list

Bạn sẽ nhận được một danh sách các hồ sơ ứng dụng:

OutputAvailable applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS

Như bạn có thể thấy, có ba hồ sơ có sẵn cho Nginx:

  • Nginx Full: Cấu hình này mở cả cổng 80 (lưu lượng truy cập web bình thường, không được mã hóa) và cổng 443 (lưu lượng được mã hóa TLS / SSL)

  • Nginx HTTP: Cấu hình này chỉ mở cổng 80 (lưu lượng truy cập web bình thường, không được mã hóa)

  • Nginx HTTPS: Cấu hình này chỉ mở cổng 443 (lưu lượng được mã hóa TLS / SSL)

Ở đây chúng ta sẽ chỉ kích hoạt tường lửa cho cho hồ Nginx HTTP. Chúng ta sẽ thực hiện bằng cách:

You can enable this by typing:

Bạn có thể kiểm tra (xác minh) sự thay đổi bằng cách nhập:

Bạn sẽ thấy đường truyền HTTP được phép trong output của câu lệnh:

Bước 3: Kiểm tra máy chủ web:

Khi kết thúc quá trình cài đặt, Ubuntu 18.04 khởi động Nginx. Các máy chủ web nên đã được chạy và chạy.

Chúng ta có thể kiểm tra với systemd để chắc chắn rằng nginx đang được chạy:

Như bạn có thể thấy ở trên, dịch vụ dường như đã bắt đầu thành công. Tuy nhiên, cách tốt nhất để kiểm tra điều này là thực sự yêu cầu một trang từ Nginx.

Bạn có thể truy cập trang đích Nginx mặc định để xác nhận rằng phần mềm đang chạy đúng bằng cách điều hướng đến địa chỉ IP máy chủ của bạn. Nếu bạn không biết địa chỉ IP máy chủ của mình, bạn có thể lấy một vài cách khác nhau.

Hãy thử gõ lệnh:

Kết quả trả về sẽ như thế này:

Bản sử dụng trình duyệt và mở web site với địa chỉ như sau:

Hoặc truy cập bằng

Bạn sẽ thấy trang mặc định của nginx như sau:

Trang mặc định của nginx

Trang web này hiển thị có nghĩa là nginx của bạn đang hoạt động chính xác.

Bước 4: Quản lý các tiến trình của

Bây giờ bạn đã có máy chủ web của mình hoạt động, hãy để xem lại một số lệnh quản lý cơ bản.

Để dừng máy chủ web, ta :

Để chạy lại máy chủ web vừa bị dừng, ta :

Để dừng và chạy lại máy chủ web, ta :

Nếu bạn chỉ đơn giản là thực hiện thay đổi cấu hình, Nginx thường có thể tải lại mà không làm mất kết nối. Để làm điều này, gõ:

Theo mặc định, Nginx được cấu hình để tự động khởi động khi máy chủ khởi động. Nếu đây không phải là điều bạn muốn, bạn có thể tắt hành vi này bằng cách nhập:

Để kích hoạt lại dịch vụ để khởi động khi khởi động, bạn có thể gõ:

Khi sử dụng máy chủ web Nginx, các khối máy chủ (tương tự như máy chủ ảo trong Apache) có thể được sử dụng để đóng gói chi tiết cấu hình và lưu trữ nhiều tên miền từ một máy chủ. Ở đây tôi cấu hình 1 domain có tên là tungong.com , bạn có thể thay đổi bằng tên bất kỳ.

Nginx trên Ubuntu 18.04 có một khối máy chủ được bật theo mặc định được định cấu hình để phân phát tài liệu ra khỏi thư mục tại /var/www/html. Mặc dù điều này hoạt động tốt cho một trang web, nhưng nó có thể trở nên khó sử dụng nếu bạn đang lưu trữ nhiều trang web. Thay vì sửa đổi /var/www/html, hãy tạo cấu trúc thư mục trong /var/www cho trang web tungong.com của chúng tôi, để lại /var/www/html làm thư mục mặc định được phục vụ nếu yêu cầu của khách hàng không phù hợp với bất kỳ trang web khác.

Tạo thư mục cho tungong.com như sau, sử dụng cờ -p để tạo bất kỳ thư mục mẹ cần thiết nào:

Tiếp theo, gán quyền sở hữu thư mục với biến môi trường $USER:

Thiết lập quyền truy cập cho dữ liệu web:

Tiếp theo, tạo trang index.html mẫu bằng nano hoặc trình chỉnh sửa văn bản yêu thích của bạn

Bên trong nhập nội dung như sau:

Lưu và đóng file sau khi chỉnh sửa xong.

Để Nginx phục vụ nội dung này, bạn cần phải tạo một khối máy chủ với các chỉ thị chính xác. Thay vì trực tiếp sửa đổi tệp cấu hình mặc định, hãy để một cái mới tạo tại/etc/nginx/sites-available/example.com:

Dán vào khối cấu hình sau, tương tự như mặc định, nhưng được cập nhật cho thư mục và tên miền mới của chúng tôi:

Lưu ý rằng chúng tôi đã cập nhật cấu hình root vào thư mục mới của chúng tôi và server_name thành tên miền của chúng tôi.

Tiếp theo, hãy để cho phép kích hoạt tệp bằng cách tạo một liên kết từ nó đến thư mục kích hoạt trang web mà Nginx đọc từ khi khởi động:

Hai khối máy chủ hiện được bật và định cấu hình để đáp ứng các yêu cầu dựa trên chỉ thị listenserver_name của chúng:

  • tungong.com: Sẽ phản hồi cho yêu cầu tungong.com www.tungong.com.

  • default: Sẽ phản hồi cho bất cứ yêu cầu nào trên cổng 80 không khớp với 2 yêu cầu trên

Để tránh sự cố bộ nhớ nhóm băm có thể phát sinh từ việc thêm tên máy chủ bổ sung, cần phải điều chỉnh một giá trị trong tệp /etc/nginx/nginx.conf. Mở tập tin:

Tìm chỉ server_names_hash_bucket_size và xóa biểu tưởng # ở dòng này:

Tiếp theo, kiểm tra để đảm bảo rằng không có lỗi cú pháp trong bất kỳ tệp Nginx nào của bạn:

Lưu và đóng sau khi hoàn

Nếu không có bất cứ vấn đề gì, thì tiến hành khởi động lại nginx để áp dụng các thay đổi.

Nginx hiện đang phục vụ tên miền của bạn. Bạn có thể kiểm tra điều này bằng cách điều hướng đếnhttp://example.com, bạn sẽ thấy kết quả như thế này

Kết quả nếu cấu hình khối máy chủ thành công

Bước 6: Làm quen với một số tệp và thư mục quan trọng

Nội dung:

  • /var/www/html: Trang mặc định của nginx phục vụ được lưu trữ ở đây. Có thể thay đổi bằng cách sửa file cấu hình của

Cấu hình máy chủ:

  • /etc/nginx: Thư mục cấu hình của Nginx, mọi file cấu hình năm trong thư mục

  • /etc/nginx/nginx.conf: File cấu hình chính của nginx. Chỉnh sửa file này để tạo sự thay đổi trên toàn bộ máy chủ web.

  • /etc/nginx/sites-available/: Tất cả các trang web được lưu trữ và cấu hình trên nginx. Lưu ý rằng, các trang web này không được phục vụ trừ khi được tạo symlink đến sites-enabled

  • /etc/nginx/sites-enabled/: Lưu trữ các trang web đang hoạt động. Thông thường sẽ là các liên kết đến với các file ở trong thư mục sites-available

Nhật ký máy chủ:

  • /var/log/nginx/access.log: Mọi yêu cầu đến máy chủ web của bạn được ghi lại trong tệp nhật ký này trừ khi Nginx được định cấu hình để làm khác

  • /var/log/nginx/error.log: Bất kỳ lỗi Nginx sẽ được ghi lại trong nhật ký này.

Last updated