以下是配置LNMP虛擬主機的核心步驟(以Debian/Ubuntu為例):
sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql
登錄MySQL并創建數據庫及用戶:
sudo mysql -u root -p
CREATE DATABASE your_db;
CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_db.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
在/etc/nginx/sites-available/下新建配置文件(如example.com.conf):
sudo nano /etc/nginx/sites-available/example.com.conf
添加以下內容(按需修改域名、路徑等):
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根據PHP版本調整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
創建符號鏈接并重啟Nginx:
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo nginx -t # 測試配置語法
sudo systemctl reload nginx
sudo mkdir -p /var/www/example.com
sudo chown -R www-data:www-data /var/www/example.com
在虛擬主機配置文件中添加偽靜態規則(如WordPress):
location ~ .*\.(php|php5)?$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include /usr/local/nginx/conf/wordpress.conf; # 自定義偽靜態文件
}
在網站根目錄創建index.php測試文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/example.com/index.php
通過瀏覽器訪問http://example.com,若顯示PHP信息頁面則配置成功。
lnmp vhost add命令自動配置SSL證書,或手動修改Nginx配置添加SSL模塊。/etc/nginx/sites-available/(啟用后鏈接到sites-enabled/)。/var/log/nginx/,可按需調整路徑。以上步驟參考自,適用于Debian/Ubuntu系統。CentOS系統可參考,但建議使用lnmp一鍵安裝包的命令行工具簡化操作。