Debian LNMP虚拟主机设置步骤
首先确保系统软件包为最新版本,避免兼容性问题:
sudo apt update && sudo apt upgrade -y 安装Nginx并启动服务,设置开机自启:
sudo apt install nginx -y sudo systemctl start nginx sudo systemctl enable nginx 验证Nginx是否运行:浏览器访问服务器IP,应看到Nginx默认欢迎页面。
选择MySQL或MariaDB(推荐MariaDB,更轻量):
sudo apt install mariadb-server mariadb-client -y # MariaDB # 或 sudo apt install mysql-server -y # MySQL 启动数据库服务并设置开机自启:
sudo systemctl start mariadb sudo systemctl enable mariadb 运行安全脚本加固数据库(设置root密码、移除匿名用户、禁止远程root登录等):
sudo mysql_secure_installation 安装PHP-FPM(FastCGI进程管理器)及常用扩展(如MySQL、GD、MBString等):
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml -y 启动PHP-FPM并设置开机自启:
sudo systemctl start php7.4-fpm # 根据PHP版本调整(如php8.2-fpm) sudo systemctl enable php7.4-fpm 编辑PHP-FPM池配置文件(默认路径/etc/php/7.4/fpm/pool.d/www.conf),确保listen指令与Nginx配置一致:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf 找到listen行,修改为Unix socket(性能更优):
listen = /run/php/php7.4-fpm.sock 保存退出后,重启PHP-FPM使配置生效:
sudo systemctl restart php7.4-fpm 在/etc/nginx/sites-available/目录下新建配置文件(如yourdomain.com.conf):
sudo nano /etc/nginx/sites-available/yourdomain.com.conf 添加以下内容(替换yourdomain.com为你的域名,/var/www/yourdomain.com为网站根目录):
server { listen 80; server_name yourdomain.com www.yourdomain.com; root /var/www/yourdomain.com; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 必须与PHP-FPM的listen一致 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; # 禁止访问.htaccess文件 } } 保存退出。
创建符号链接,将配置文件链接到sites-enabled目录(Nginx实际读取的目录):
sudo ln -s /etc/nginx/sites-available/yourdomain.com.conf /etc/nginx/sites-enabled/ 测试配置文件语法是否正确:
sudo nginx -t 若输出syntax is ok和test is successful,则重载Nginx使配置生效:
sudo systemctl reload nginx 创建网站根目录,并修改所有者为Nginx运行的用户(www-data):
sudo mkdir -p /var/www/yourdomain.com sudo chown -R www-data:www-data /var/www/yourdomain.com 在网站根目录下创建index.php,用于验证PHP是否正常运行:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/yourdomain.com/index.php 浏览器访问http://yourdomain.com,应看到PHP信息页面(若未绑定域名,可通过修改本地/etc/hosts文件映射IP到域名)。
使用Let’s Encrypt为网站添加HTTPS加密:
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com 按照提示完成证书申请(自动配置Nginx的SSL监听端口443)。
fastcgi_pass路径(如/run/php/php8.2-fpm.sock)。sudo ufw allow 'Nginx Full'