在Debian上配置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)虚拟主机的步骤如下:
1. 安装必要的软件包
首先,更新你的包列表并安装Nginx、MySQL/MariaDB和PHP。
sudo apt update sudo apt install nginx mysql-server php-fpm php-mysql
2. 配置MySQL/MariaDB
启动并启用MySQL/MariaDB服务,并运行安全脚本以设置root密码和其他安全选项。
sudo systemctl start mysql sudo systemctl enable mysql sudo mysql_secure_installation
3. 配置Nginx
3.1 创建一个新的Nginx配置文件
为你的虚拟主机创建一个新的配置文件。例如,如果你要为example.com
创建一个虚拟主机,可以这样做:
sudo nano /etc/nginx/sites-available/example.com
3.2 编辑配置文件
在打开的文件中添加以下内容:
server { listen 80; server_name example.com www.example.com; root /var/www/example.com; index index.php index.html index.htm; 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; include fastcgi_params; } location ~ /\.ht { deny all; } }
3.3 启用配置文件
创建一个符号链接以启用该配置文件:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
3.4 测试Nginx配置
测试Nginx配置是否正确:
sudo nginx -t
如果没有错误,重新加载Nginx以应用更改:
sudo systemctl reload nginx
4. 配置PHP
确保PHP-FPM正在运行并监听正确的套接字或端口。默认情况下,PHP-FPM应该已经配置为监听/var/run/php/php7.4-fpm.sock
。
5. 创建网站目录和文件
创建你的网站目录并添加一些文件:
sudo mkdir -p /var/www/example.com sudo chown -R www-data:www-data /var/www/example.com sudo chmod -R 755 /var/www/example.com echo "Hello, World!" | sudo tee /var/www/example.com/index.php
6. 配置防火墙
确保防火墙允许HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
7. 测试你的网站
打开浏览器并访问http://example.com
,你应该能看到“Hello, World!”的消息。
8. 可选:配置SSL
如果你想为你的网站配置SSL,可以使用Let’s Encrypt免费证书:
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d example.com -d www.example.com
按照提示完成SSL配置。
通过以上步骤,你应该能够在Debian上成功配置一个LNMP虚拟主机。