LNMP是指Linux、Nginx、MySQL和PHP的組合,這是一個非常流行的用于部署Web應用的技術棧。以下是在Ubuntu上部署LNMP的一些最佳實踐:
sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y
安裝完成后,可以通過瀏覽器訪問服務器IP地址來驗證Nginx是否安裝成功。
sudo apt install mysql-server -y
安裝過程中會提示設置root用戶的密碼。安裝完成后,運行安全腳本:
sudo mysql_secure_installation
sudo apt install php-fpm php-mysql -y
配置Nginx以使用PHP:
sudo nano /etc/nginx/sites-available/default
找到以下部分并修改:
location \.php {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根據實際PHP版本調整
}
重啟Nginx:
sudo systemctl restart nginx
創建一個PHP測試文件:
sudo nano /var/www/html/info.php
添加以下內容:
<?php
phpinfo();
?>
保存并退出,然后在瀏覽器中訪問 http://your_server_ip/info.php
,如果看到PHP信息頁面,則安裝成功。
Nginx配置優化:
調整worker進程數:根據服務器的CPU核心數來設置worker進程數,通常設置為CPU核心數的2倍。
調整worker連接數:根據服務器的內存和CPU性能來設置worker連接數,通常設置為1024或更高。
啟用gzip壓縮:通過啟用gzip壓縮可以減少網絡傳輸的數據量,從而提高網站性能。
配置靜態文件緩存:為靜態文件(如CSS、JavaScript、圖片等)設置緩存,以減少服務器負載和加快頁面加載速度。
PHP配置優化:
調整PHP內存限制和執行時間:根據實際需求調整PHP的內存限制和執行時間,以適應不同場景的需求。
啟用OpCache:OpCache是PHP的內置緩存擴展,可以緩存PHP腳本編譯后的字節碼,從而提高PHP執行速度。
禁用不需要的PHP模塊:通過禁用不需要的PHP模塊,可以減少服務器的內存占用和提高性能。
MySQL配置優化:
調整MySQL內存限制:根據服務器的內存和CPU性能來設置MySQL的內存限制,通常設置為服務器總內存的50%-70%。
調整MySQL連接數:根據服務器的性能和應用需求來設置MySQL的最大連接數。
啟用查詢緩存:查詢緩存可以提高MySQL的查詢性能,但可能會增加服務器的內存消耗。根據實際需求決定是否啟用查詢緩存。
優化SQL查詢:避免使用復雜的子查詢和聯接操作,盡量使用索引來提高查詢性能。
password_hash()
函數來存儲加密后的密碼。limit_req_zone
和limit_req
模塊。top
、htop
或 vmstat
等,查看CPU、內存、磁盤和網絡使用情況。sudo systemctl status nginx
、sudo systemctl status mysql
、sudo systemctl status php-fpm
檢查Nginx、MySQL和PHP-FPM服務的狀態。通過遵循以上最佳實踐,你可以在Ubuntu上成功部署并優化LNMP環境,確保其高性能、安全性和可監控性。