以下是配置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
一键安装包的命令行工具简化操作。