在Debian LNMP(Linux, Nginx, MySQL, PHP)環境中管理日志主要涉及Nginx和PHP-FPM的日志管理。以下是具體的管理方法:
tail -f /var/log/nginx/access.log
命令實時查看訪問日志。tail -f /var/log/nginx/error.log
命令實時查看錯誤日志。logrotate
工具進行日志輪轉,防止日志文件過大。logrotate
是Linux系統自帶的日志管理工具,可以自動切割、壓縮、郵件通知等。logrotate
規則文件,例如 /etc/logrotate.d/nginx
,定義日志輪轉的時間和格式。/etc/nginx/nginx.conf
,在 http
塊中定義日志格式:http {
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
...
}
server
或 location
塊中使用 access_log
和 error_log
指令記錄日志:server {
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log;
...
}
/var/log/php-fpm/
目錄下,文件名通常包含進程ID和日期。tail -f /var/log/php-fpm/www-data-*.log
命令實時查看PHP-FPM的日志。logrotate
工具進行管理,配置規則文件例如 /etc/logrotate.d/php-fpm
。/etc/php/7.0/fpm/php-fpm.conf
(路徑可能因版本不同而有所差異),在 error_log
指令中定義日志格式和輸出路徑。如果你使用的是LNMP一鍵安裝包(如lnmp.org提供的腳本),通常這些腳本會在安裝過程中自動配置好日志管理的相關設置,包括日志輪轉和日志文件的存放位置。安裝完成后,你可以通過提供的命令來管理日志,例如:
sudo systemctl restart nginx
sudo systemctl restart php7.0-fpm
sudo systemctl status nginx
sudo systemctl status php7.0-fpm
以上就是在Debian LNMP環境中管理日志的基本方法。對于更復雜的日志管理需求,你可能需要進一步定制日志輪轉策略、分析日志文件以識別潛在的安全風險等。