溫馨提示×

如何搭建LNMP測試環境

小樊
43
2025-10-03 08:07:36
欄目: 編程語言

一、準備工作
搭建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 oktest 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環境搭建成功。

七、后續優化(可選但重要)

  1. 設置防火墻:允許HTTP(80)和HTTPS(443)流量,提升安全性:
    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
    
  2. 定期更新:保持系統和軟件包最新,修復安全漏洞:
    sudo apt update && sudo apt upgrade -y  # Ubuntu/Debian
    # 或
    sudo yum update -y                      # CentOS/RHEL
    
  3. 備份配置:定期備份Nginx、MySQL、PHP配置文件(如/etc/nginx/、/etc/mysql/、/etc/php/),防止誤操作導致數據丟失。

常見問題解決

  • Nginx無法啟動:檢查80端口是否被占用(sudo netstat -tuln | grep 80),或Nginx配置文件語法錯誤(sudo nginx -t)。
  • PHP文件無法解析:確保PHP-FPM服務運行(sudo systemctl status php7.4-fpm),且Nginx中的fastcgi_pass路徑正確。
  • MySQL連接失敗:檢查MySQL服務狀態(sudo systemctl status mysql),或root用戶權限(mysql -u root -p登錄測試)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女