Установка Reverse Proxy Nginx+Apache2+SSL от Let's Encrypt за 30 минут на Debian 9
Mục lục:
- Cấu hình Nhật ký truy cập
- Cấu hình Nhật ký Lỗi
- Vị trí của tệp nhật ký
- Đọc và hiểu các tệp nhật ký Nginx
- Phần kết luận
Nginx là một máy chủ proxy ngược và HTTP hiệu suất cao, mã nguồn mở chịu trách nhiệm xử lý tải của một số trang web lớn nhất trên Internet. Khi quản lý máy chủ web NGINX, một trong những nhiệm vụ thường xuyên nhất bạn sẽ thực hiện là kiểm tra tệp nhật ký.
Biết cách cấu hình và đọc nhật ký rất hữu ích khi xử lý sự cố máy chủ hoặc ứng dụng vì chúng cung cấp thông tin gỡ lỗi chi tiết.
Nginx viết các bản ghi về các sự kiện của nó trong hai loại nhật ký: nhật ký truy cập và nhật ký lỗi. Nhật ký truy cập ghi thông tin về các yêu cầu của khách hàng và nhật ký lỗi ghi thông tin về các sự cố của máy chủ và ứng dụng.
Bài viết này phác thảo cách cấu hình và đọc nhật ký truy cập và lỗi của Nginx.
Cấu hình Nhật ký truy cập
Bất cứ khi nào một yêu cầu của khách hàng được xử lý, Nginx sẽ tạo một sự kiện mới trong nhật ký truy cập. Mỗi bản ghi sự kiện chứa dấu thời gian và bao gồm nhiều thông tin khác nhau về máy khách và tài nguyên được yêu cầu. Nhật ký truy cập có thể cho bạn biết vị trí của khách truy cập, trang họ truy cập, họ dành bao nhiêu thời gian trên trang và hơn thế nữa.
Lệnh
log_format
cho phép bạn xác định định dạng của các thông điệp được ghi lại. Lệnh
access_log
cho phép và đặt vị trí của tệp nhật ký và định dạng được sử dụng.
Cú pháp cơ bản nhất của lệnh
access_log
như sau:
access_log log_file log_format;
Trong đó
log_file
là đường dẫn đầy đủ đến tệp nhật ký và
log_format
là định dạng được sử dụng bởi tệp nhật ký.
Nhật ký truy cập có thể được kích hoạt trong khối chỉ thị
http
,
server
hoặc
location
.
Theo mặc định, nhật ký truy cập được kích hoạt toàn cầu trong chỉ thị
http
bên trong tệp cấu hình Nginx chính.
http {… access_log /var/log/nginx/access.log;… }
Để bảo trì tốt hơn, nên đặt một tệp nhật ký truy cập riêng cho từng khối máy chủ. Bộ chỉ thị
access_log
trong chỉ thị
server
ghi đè lên bộ được đặt trong chỉ thị
http
(cấp cao hơn).
http {… access_log /var/log/nginx/access.log;… server { server_name domain.com access_log /var/log/nginx/domain.access.log;… } }
Nếu không có định dạng nhật ký được chỉ định, Nginx sẽ sử dụng định dạng kết hợp được xác định trước giống như sau:
log_format combined '$remote_addr - $remote_user ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';
Để thay đổi định dạng ghi nhật ký, ghi đè cài đặt mặc định hoặc xác định cài đặt mới. Ví dụ: để xác định định dạng ghi nhật ký mới có tên chính sẽ mở rộng định dạng kết hợp với giá trị hiển thị tiêu đề
X-Forwarded-For
thêm định nghĩa sau trong chỉ thị
http
hoặc
server
:
log_format custom '$remote_addr - $remote_user "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
Để sử dụng định dạng mới, chỉ định tên của nó sau tệp nhật ký như dưới đây:
access_log /var/log/nginx/access.log custom;
Trong khi nhật ký truy cập cung cấp thông tin rất hữu ích. nó chiếm dung lượng đĩa và có thể ảnh hưởng đến hiệu suất máy chủ. Nếu máy chủ của bạn thiếu tài nguyên và bạn có một trang web bận rộn, bạn có thể muốn tắt nhật ký truy cập. Để làm điều đó, hãy đặt giá trị của lệnh
access_log
thành
off
:
Cấu hình Nhật ký Lỗi
Nginx viết thông báo về ứng dụng và lỗi máy chủ chung trong tệp nhật ký lỗi. Nếu bạn gặp lỗi trong ứng dụng web của mình, nhật ký lỗi là nơi đầu tiên để bắt đầu khắc phục sự cố.
Lệnh
error_log
cho phép và đặt vị trí và mức độ nghiêm trọng của nhật ký lỗi. Nó có dạng sau và có thể được đặt trong một khối
http
,
server
hoặc
location
:
error_log log_file log_level
Tham số
log_level
đặt mức ghi nhật ký. Dưới đây là các mức được liệt kê theo mức độ nghiêm trọng của chúng (từ thấp đến cao):
-
debug- Thông báo gỡ lỗi.info- Tin nhắn thông tin.notice- Thông báo.warn- Cảnh báo.error- Lỗi trong khi xử lý yêu cầu. phê bình - Các vấn đề quan trọng. Yêu cầu một hành động kịp thời.alert- Cảnh báo. Hành động phải được thực hiện ngay lập tức.emerg- Tình huống khẩn cấp. Hệ thống ở trạng thái không sử dụng được.
Mỗi cấp độ nhật ký bao gồm các cấp cao hơn. Ví dụ: nếu bạn đặt mức ghi nhật ký thành
warn
, Nginx cũng sẽ ghi nhật ký
error
,
crit
,
alert
và thông báo nổi lên.
Khi tham số
log_level
không được chỉ định, nó mặc định là
error
.
Theo mặc định, lệnh
error_log
được xác định trong lệnh
http
bên trong tệp nginx.conf chính:
http {… error_log /var/log/nginx/error.log;… }
Tương tự như với nhật ký truy cập, nên đặt một tệp nhật ký lỗi riêng cho từng khối máy chủ, ghi đè cài đặt được kế thừa từ các cấp cao hơn.
Ví dụ: để đặt nhật ký lỗi của domain.com để
warn
bạn sẽ sử dụng:
http {… error_log /var/log/nginx/error.log;… server { server_name domain.com error_log /var/log/nginx/domain.error.log warn;… } }
Bất cứ khi nào bạn sửa đổi tệp cấu hình, bạn phải khởi động lại dịch vụ Nginx để các thay đổi có hiệu lực.
Vị trí của tệp nhật ký
Theo mặc định trên hầu hết các bản phân phối Linux, chẳng hạn như Ubuntu, CentOS và Debian, nhật ký truy cập và lỗi được đặt trong thư mục
/var/log/nginx
.
Đọc và hiểu các tệp nhật ký Nginx
Bạn có thể mở và phân tích các tệp nhật ký bằng các lệnh tiêu chuẩn như
cat
,
less
,
grep
,
cut
,
awk
, v.v.
Dưới đây là bản ghi ví dụ từ tệp nhật ký truy cập sử dụng định dạng nhật ký kết hợp Nginx mặc định:
192.168.33.1 - - "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"
Hãy chia nhỏ ý nghĩa của từng lĩnh vực trong hồ sơ:
-
$remote_addr-192.168.33.1- Địa chỉ IP của khách hàng thực hiện yêu cầu.$remote_user--- Người dùng được xác thực HTTP. Khi tên người dùng không được đặt, trường này sẽ hiển thị-. -- Giờ máy chủ cục bộ."$request"-"GET /- Loại yêu cầu, đường dẫn và giao thức.$status-200- Mã phản hồi của máy chủ.$body_bytes_sent-396- Kích thước phản hồi của máy chủ theo byte."$http_referer"-"-"- URL của người giới thiệu."$http_user_agent"-Mozilla/5.0…- Tác nhân người dùng của máy khách (trình duyệt web).
Sử dụng lệnh
tail
để xem tệp nhật ký trong thời gian thực:
Phần kết luận
Các tệp nhật ký cung cấp cho bạn thông tin hữu ích về các sự cố máy chủ và cách khách truy cập tương tác với trang web của bạn.
Nginx cho phép bạn định cấu hình truy cập và nhật ký lỗi theo nhu cầu của bạn.
nginxTrung Quốc không phải là ' t thị trường duy nhất phải đối mặt với suy thoái trong nhu cầu về chip. Intel, các nhà sản xuất chip lớn nhất thế giới, tuần trước đã từ chối tiết lộ dự báo lợi nhuận trong quý đầu tiên, cho biết họ đã hạn chế khả năng hiển thị nhu cầu của khách hàng trong giai đoạn này. các công ty bán dẫn có thể dựa vào sự tăng trưởng, ngay cả khi các thị trường khác chững lại. Ví dụ, sau vụ tai nạn dot-com năm 2000, nhu cầu về chip của Trung Quốc tăng 24,4%, trong khi nhu cầu toàn c
Nền kinh tế Trung Quốc, phụ thuộc nhiều vào xuất khẩu tăng trưởng. dễ bị tổn thương hơn với suy thoái kinh tế hiện tại nhiều hơn dự kiến. IDC tuần này đã thông báo rằng các lô hàng PC châu Á đã giảm lần đầu tiên trong mười năm trong quý IV, dẫn đến nhu cầu yếu hơn dự kiến từ người tiêu dùng Trung Quốc là một lý do chính.
ẤN Độ có thể yêu cầu Google, Skype và các nhà cung cấp dịch vụ trực tuyến khác cho phép các cơ quan thực thi pháp luật của nước này truy cập thông tin liên lạc trên mạng của họ. nó sẽ yêu cầu các nhà cung cấp dịch vụ trong nước đảm bảo rằng một số dịch vụ BlackBerry sẽ được các cơ quan thực thi pháp luật của họ truy cập trước ngày 31/8 hoặc phải đối mặt với một khối dịch vụ này.
Rajesh Chharia, chủ tịch Hiệp hội các nhà cung cấp dịch vụ Internet Ấn Độ (ISPAI), nói rằng tại một cuộc họp ông đã tham dự khoảng một tháng trước đây của Cục Viễn thông của đất nước, nó đã được thảo luận rằng các dịch vụ trực tuyến khác bên cạnh BlackBerry cũng sẽ được yêu cầu pr
Sharp, một trong những nhà sản xuất màn hình LCD lớn nhất thế giới. , cho biết lỗ của nó cho năm kết thúc ngày 31 tháng 3 đạt 545 tỷ yên (5,4 tỷ USD), lớn nhất trong lịch sử của công ty. Sharp hứa sẽ tái cơ cấu liên tục, liên quan đến hàng ngàn công việc cắt giảm và đóng cửa nhà máy, cuối cùng sẽ mang lại lợi nhuận trong năm nay dưới hình thức lợi nhuận khiêm tốn 5 tỷ yên. mật độ điểm ảnh cao nhất của ngành với tốc độ lên đến 262 pixel / inch, là sản phẩm hàng loạt từ tháng 6. Công ty đã tìm thấ
Sharp cho biết, doanh thu của họ cũng sẽ tăng lên trong doanh thu màn hình LCD lõi lên hơn 1 nghìn tỷ đô la trong năm. đến tháng 3 năm 2016. Công ty sở hữu một số nhà máy lớn nhất trên thế giới nhưng đã phải vật lộn với giá giảm và tạo ra đủ doanh nghiệp để vận hành dây chuyền của mình. Một thỏa thuận được ký kết với Foxconn năm ngoái đã cho phép một nửa công ty kiểm soát một trong những nhà máy LCD chính của Sharp để đổi lấy tiền mặt và một luồng kinh doanh ổn định.







