一、準備工作
搭建LNMP測試環境前需完成基礎準備:選擇Ubuntu/CentOS等Linux發行版(推薦Ubuntu,軟件包更易獲?。?;準備遠程連接工具(如XShell、SecureCRT);確保服務器聯網且DNS正常解析。安裝前建議更新系統軟件包,避免依賴沖突:
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
# 或
sudo yum update -y # CentOS/RHEL
二、安裝Nginx(Web服務器)
Nginx作為輕量級Web服務器,負責處理HTTP請求。安裝命令:
sudo apt install nginx -y # Ubuntu/Debian
# 或
sudo yum install epel-release && sudo yum install nginx -y # CentOS/RHEL
安裝完成后,啟動Nginx并設置開機自啟:
sudo systemctl start nginx
sudo systemctl enable nginx
驗證安裝:瀏覽器訪問服務器IP地址,若看到Nginx默認歡迎頁面(含“Welcome to nginx!”字樣),則說明安裝成功。
三、安裝MySQL(數據庫服務器)
MySQL用于存儲網站數據(如WordPress、Discuz等應用的表結構)。安裝命令:
sudo apt install mysql-server -y # Ubuntu/Debian
# 或
sudo yum install mysql-server -y # CentOS/RHEL
安裝過程中會提示設置root用戶密碼(請務必記住,后續管理數據庫需用到)。啟動MySQL并設置開機自啟:
sudo systemctl start mysql
sudo systemctl enable mysql
安全加固:運行MySQL安全腳本,修改root密碼強度、移除匿名用戶、禁止root遠程登錄:
sudo mysql_secure_installation
按提示逐步操作(如輸入當前root密碼、設置新密碼、移除匿名用戶等)。
四、安裝PHP(服務器端腳本語言)
PHP用于處理動態網頁邏輯(如表單提交、數據庫交互)。安裝PHP及必要擴展(如php-mysql
用于連接MySQL):
sudo apt install php-fpm php-mysql -y # Ubuntu/Debian
# 或
sudo yum install php-fpm php-mysqlnd -y # CentOS/RHEL
安裝完成后,檢查PHP版本以確認安裝成功:
php -v
配置PHP-FPM(可選但建議):編輯PHP-FPM池配置文件(路徑因版本而異),確保listen
指令與Nginx配置一致:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf # Ubuntu 20.04(PHP 7.4)
# 或
sudo nano /etc/php/8.1/fpm/pool.d/www.conf # Ubuntu 22.04(PHP 8.1)
找到listen = /run/php/php7.4-fpm.sock
(或127.0.0.1:9000
),確保路徑正確(后續Nginx需引用此路徑)。保存后重啟PHP-FPM:
sudo systemctl restart php7.4-fpm # Ubuntu 20.04
# 或
sudo systemctl restart php8.1-fpm # Ubuntu 22.04
五、配置Nginx支持PHP
默認Nginx無法解析PHP文件,需修改站點配置文件。編輯默認站點配置:
sudo nano /etc/nginx/sites-available/default
找到server
塊中的location ~ \.php$
部分,修改為以下內容(關鍵參數說明:fastcgi_pass
需指向PHP-FPM的socket或IP端口,fastcgi_param
用于傳遞腳本路徑):
location ~ \.php$ {
include snippets/fastcgi-php.conf; # 引入FastCGI配置
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根據PHP版本修改(如php8.1-fpm.sock)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 腳本路徑
include fastcgi_params; # 包含通用FastCGI參數
}
測試Nginx配置語法(避免重啟失?。?/p>
sudo nginx -t
若輸出syntax is ok
和test is successful
,則重啟Nginx使配置生效:
sudo systemctl restart nginx
六、驗證LNMP環境
在Nginx默認網站根目錄(/var/www/html
)創建info.php
測試文件,內容如下:
sudo nano /var/www/html/info.php
輸入以下代碼(用于顯示PHP配置信息):
<?php phpinfo(); ?>
保存后,在瀏覽器訪問http://服務器IP/info.php
。若看到PHP信息頁面(包含版本、擴展、服務器信息等),則說明LNMP環境搭建成功。
七、后續優化(可選但重要)
sudo ufw allow 'Nginx Full' # Ubuntu(UFW防火墻)
sudo ufw enable
# 或
sudo firewall-cmd --permanent --add-service=http # CentOS(Firewalld防火墻)
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
# 或
sudo yum update -y # CentOS/RHEL
/etc/nginx/
、/etc/mysql/
、/etc/php/
),防止誤操作導致數據丟失。常見問題解決
sudo netstat -tuln | grep 80
),或Nginx配置文件語法錯誤(sudo nginx -t
)。sudo systemctl status php7.4-fpm
),且Nginx中的fastcgi_pass
路徑正確。sudo systemctl status mysql
),或root用戶權限(mysql -u root -p
登錄測試)。