Cài đặt Nginx trên Debian 12

Cai Dat Nginx Tren Debian 12



Trong hướng dẫn này, chúng tôi sẽ trình bày cách cài đặt và định cấu hình Nginx trên Debian 12.

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

Để thực hiện các bước được trình bày trong hướng dẫn này, bạn cần có các thành phần sau:

  • Hệ thống Debian 12 được cấu hình đúng. Thủ tục thanh toán cách cài đặt Debian trên máy ảo VirtualBox .
  • Truy cập vào người dùng không phải root với đặc quyền sudo. Học nhiều hơn về quản lý đặc quyền sudo bằng cách sử dụng /etc/sudoers trong Debian .

Nginx trên Debian

Được phát triển và duy trì bởi Dự án Debian , Debian là một phổ biến , phân phối Linux mã nguồn mở và miễn phí. Debian nổi tiếng về tính ổn định, bảo mật và hỗ trợ cộng đồng. Debian 12 (tên mã “bookworm”) là bản phát hành ổn định mới nhất. Học nhiều hơn về nâng cấp từ Debian 11 lên Debian 12 .







Nginx là một máy chủ web mã nguồn mở và miễn phí được biết đến với hiệu suất cao, khả năng mở rộng, hiệu quả bộ nhớ và bảo mật. Hơn nữa, nó cũng có thể hoạt động như một proxy ngược, bộ cân bằng tải, bộ đệm HTTP, v.v.



Trên Debian, Nginx có sẵn trực tiếp từ kho gói chính thức. Tuy nhiên, nó có thể hơi lỗi thời do Chu kỳ phát hành gói của Debian . Rất may, Nginx cung cấp kho lưu trữ Debian chính thức với các bản phát hành mới nhất.



Phương pháp 1: Cài đặt Nginx từ Debian Repo

Đầu tiên, mở một cửa sổ terminal và cập nhật bộ đệm repo APT:





$ sudo cập nhật thích hợp

Nginx có sẵn dưới dạng gói “nginx”:



$ apt hiển thị nginx

Để cài đặt Nginx, hãy chạy lệnh sau:

$ sudo đúng cách cài đặt nginx

Phương pháp 2: Cài đặt Nginx từ Nginx Repo

Định cấu hình repo Nginx APT cung cấp phiên bản Nginx mới nhất. Tuy nhiên, nó có thể xung đột với các gói Nginx khác từ repo mặc định.

Cài đặt điều kiện tiên quyết

Đầu tiên, cài đặt các gói tiên quyết:

$ sudo đúng cách cài đặt Curl gnupg2 ca-certificates lsb-release debian-archive-keyring

Nhập khóa ký GPG

Cần có khóa ký Nginx để APT xác minh tính xác thực của các gói đã tải xuống. Lấy khóa ký:

$ cuộn tròn https: // nginx.org / phím / nginx_signing.key | gpg --bạn thân mến | sudo phát bóng / sử dụng / chia sẻ / Móc chìa khóa / nginx-archive-keyring.gpg > / nhà phát triển / vô giá trị

Xác minh xem khóa thích hợp có được nhập hay không:

$ gpg --chạy khô --im lặng --không có móc khóa --nhập khẩu --tùy chọn nhập nhập khẩu / sử dụng / chia sẻ / Móc chìa khóa / nginx-archive-keyring.gpg

Đầu ra sẽ in 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 làm dấu vân tay của khóa. Nếu không, hãy xóa tệp khỏi /usr/share/keyrings/nginx-archive-keyring.gpg và khởi động lại quá trình.

Thêm Nginx APT Repo

Với khóa ký đã được cài đặt, giờ đây chúng ta có thể thêm repo Nginx vào APT. Nginx cung cấp hai nhánh phát hành:

ổn định : Khả năng tương thích tốt hơn với các mô-đun của bên thứ ba. Chỉ nhận được các bản sửa lỗi quan trọng.

đường chính : Các tính năng mới có thể ảnh hưởng đến khả năng tương thích của mô-đun. Tuy nhiên, nó nhận được nhiều bản sửa lỗi, bản vá bảo mật và các bản sửa lỗi quan trọng hơn.

Nginx chính thức khuyến nghị triển khai nhánh chính trong mọi trường hợp. Để thêm nhánh chính Nginx, hãy chạy lệnh sau:

$ tiếng vọng 'deb [đã ký bởi=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx' | sudo phát bóng / vân vân / đúng cách / nguồn.list.d / nginx.list

Thay vào đó, nếu bạn muốn nhánh ổn định Nginx, hãy chạy lệnh sau:

$ tiếng vọng 'deb [đã ký bởi=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx' | sudo phát bóng / vân vân / đúng cách / nguồn.list.d / nginx.list

Ghim Repo

Để buộc APT sử dụng repo Nginx khi xử lý các gói liên quan đến Nginx, chúng tôi kích hoạt tính năng ghim repo:

$ tiếng vọng -Nó là 'Bưu kiện: * \N Ghim: xuất xứ nginx.org \N Ghim: phát hành o=nginx \N Pin-Ưu tiên: 900 \N ' | sudo phát bóng / vân vân / đúng cách / tùy chọn.d / 99nginx

Cài đặt Nginx

Với cấu hình repo mới, hãy cập nhật bộ đệm repo APT:

$ sudo cập nhật thích hợp

Kiểm tra thông tin gói Nginx:

$ apt hiển thị nginx

Cuối cùng, cài đặt Nginx:

$ sudo đúng cách cài đặt nginx

Điều chỉnh tường lửa

Debian được cài đặt sẵn tường lửa iptables (netfilter). Tuy nhiên, để dễ sử dụng, bạn nên sử dụng Tường lửa UFW . Về cơ bản, nó là một giao diện người dùng thân thiện hơn với netfilter.

Theo mặc định, UFW chặn Nginx truy cập mạng. Để cho phép cả truy cập HTTP/HTTPS, hãy chạy lệnh sau:

$ sudo ugh cho phép 80 , 443 / tcp

Nếu bạn chỉ muốn truy cập HTTP, thay vào đó hãy sử dụng lệnh sau:

$ sudo ugh cho phép 80 / tcp

Nếu bạn chỉ muốn truy cập HTTPS, thay vào đó hãy sử dụng lệnh sau:

$ sudo ugh cho phép 443 / tcp

Xác minh xem các quy tắc đã được thêm thành công hay chưa:

$ sudo trạng thái ufw

Xác minh cài đặt Nginx

Có một số cách để chúng tôi có thể xác minh xem quá trình cài đặt Nginx có thành công hay không. Đầu tiên, hãy kiểm tra trạng thái của dịch vụ Nginx:

$ sudo trạng thái systemctl nginx

Nếu nó không chạy, hãy khởi động máy chủ:

$ sudo systemctl bắt đầu nginx

Bây giờ, hãy mở URL sau trong trình duyệt web:

$ http: // localhost_or_server_ip /

Bạn nên truy cập trang chào mừng Nginx mặc định.

Quản lý quy trình Nginx

Sau khi cài đặt, Nginx đăng ký dịch vụ với systemd. Chúng ta có thể dễ dàng quản lý các quy trình Nginx bằng dịch vụ.

Trạng thái Nginx

Lệnh sau trả về trạng thái của Nginx:

$ sudo trạng thái systemctl nginx

Dừng Nginx

Lệnh sau dừng Nginx:

$ sudo systemctl dừng nginx

Bắt đầu Nginx

Nếu Nginx không chạy, hãy sử dụng lệnh sau để khởi động máy chủ:

$ sudo systemctl bắt đầu nginx

Đang tải lại Nginx

Nginx không yêu cầu khởi động lại hoàn toàn để áp dụng bất kỳ thay đổi nào đối với cấu hình của nó. Trong trường hợp đó, chúng ta có thể tải lại dịch vụ Nginx mà không làm mất bất kỳ kết nối nào:

$ sudo systemctl tải lại nginx

Khởi động lại Nginx

Để khởi động lại máy chủ Nginx, hãy chạy lệnh sau:

$ sudo systemctl khởi động lại nginx

Tải lại hoặc khởi động lại Nginx

Nếu bạn không chắc chắn nên tải lại hay khởi động lại Nginx, hãy sử dụng lệnh sau:

$ sudo systemctl tải lại hoặc khởi động lại nginx

Trong trường hợp này, systemd sẽ tự động quyết định hướng hành động tốt nhất.

Lời khuyên bổ sung 1: Khối Nginx

Tương tự như máy chủ ảo trong Apache, Nginx cũng hỗ trợ nhiều máy chủ trên một máy chủ.

Đây là cấu hình giả xử lý hai máy chủ ảo ( nguồn ):

http {

chỉ số chỉ số. html ;

máy chủ {

tên_máy chủ www. tên miền1 . với ;

nhật ký access_log / tên miền1. truy cập . nhật ký chủ yếu ;

nguồn gốc / đã từng là / www / tên miền1. với / htdocs ;

}

máy chủ {

tên_máy chủ www. miền2 . với ;

nhật ký access_log / miền2. truy cập . nhật ký chủ yếu ;

nguồn gốc / đã từng là / www / miền2. với / htdocs ;

}

}

Tệp này chứa nhiều khối trong tệp cấu hình, mỗi khối mô tả các thuộc tính khác nhau. Các khối quan trọng nhất là khối máy chủ và vị trí:

  • máy chủ : Nó mô tả một máy chủ ảo để xử lý các yêu cầu của máy khách thuộc một loại cụ thể. Có thể có nhiều khối máy chủ cho nhiều máy chủ ảo. Các kết nối đến được chuyển hướng đến các khối máy chủ khác nhau dựa trên tên miền, địa chỉ IP và cổng được yêu cầu.
  • vị trí : Đó là một khối con trong khối máy chủ. Nó mô tả cách Nginx xử lý các yêu cầu đến từ máy khách đối với các tài nguyên khác nhau.

Các cấu hình này được lưu trữ trong các tập tin ở /etc/nginx/sites-có sẵn . Có thể có các tệp duy nhất cho mỗi khối máy chủ. Các cấu hình được áp dụng khi được đặt dưới /etc/nginx/sites-enabled . Nói chung, các tệp cấu hình từ các trang có sẵn được liên kết tượng trưng với các trang được kích hoạt.

Lời khuyên bổ sung 2: Các tệp và thư mục Nginx quan trọng

Dưới đây là danh sách ngắn các tệp và thư mục Nginx quan trọng:

  • /etc/nginx : Thư mục mẹ chứa tất cả các cấu hình Nginx.
  • /etc/nginx/sites-có sẵn : Nó chứa các tập tin khối máy chủ. Các tập tin cấu hình không được sử dụng.
  • /etc/nginx/sites-enabled : Nó cũng lưu trữ các khối máy chủ trên mỗi trang. Nói chung, chúng là các liên kết tượng trưng từ các trang có sẵn. Nginx tích cực sử dụng các cấu hình từ thư mục này để phục vụ các yêu cầu của khách hàng.
  • /etc/nginx/đoạn trích : Nó lưu trữ các đoạn cấu hình có thể được triển khai ở nơi khác.
  • /etc/nginx/ngnix.conf : Đây là tệp cấu hình chính cho Nginx. Nó xử lý hành vi toàn cầu của Nginx.

Phần kết luận

Chúng tôi đã giới thiệu nhiều cách cài đặt Nginx trên Debian khác nhau. Chúng tôi cũng đã thảo luận ngắn gọn về cách quản lý các quy trình Nginx bằng systemd. Ngoài ra, chúng tôi cũng đã đề cập sơ qua về các khối Nginx và cách Nginx có thể được cấu hình để phục vụ nhiều máy chủ ảo.

Bạn muốn tìm hiểu thêm về Nginx? Kiểm tra Danh mục phụ Nginx .