在开始前,确保系统软件包为最新版本,避免兼容性问题:
sudo apt update && sudo apt upgrade -y
安装Nginx并启动服务,设置开机自启:
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
安装完成后,可通过浏览器访问服务器IP,确认Nginx默认页面显示正常。
Debian默认仓库中的MySQL可能被MariaDB替代(兼容MySQL),安装MariaDB:
sudo apt install mariadb-server -y
运行安全脚本,设置root密码、移除匿名用户、禁止root远程登录:
sudo mysql_secure_installation
按照提示操作,提升数据库安全性。
安装PHP 7.4(或更高版本,根据需求调整)及常用扩展(如MySQL、curl、gd等):
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml -y
启动PHP-FPM并设置开机自启:
sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm
编辑PHP-FPM池配置文件,确保Nginx能通过socket与PHP-FPM通信:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到listen指令,确认设置为unix:/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;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
说明:
server_name:绑定域名(本地测试可改为127.0.0.1);root:网站根目录(需手动创建);location ~ \.php$:处理PHP请求,通过FastCGI传递给PHP-FPM。创建符号链接,将配置文件链接到sites-enabled目录:
sudo ln -s /etc/nginx/sites-available/yourdomain.com.conf /etc/nginx/sites-enabled/
sudo mkdir -p /var/www/yourdomain.com
sudo chown -R www-data:www-data /var/www/yourdomain.com # 设置属主为www-data(Nginx运行用户)
sudo chmod -R 755 /var/www/yourdomain.com
echo "<?php phpinfo(); ?>" | sudo tee /var/www/yourdomain.com/index.php
该文件用于验证PHP是否正常运行。
检查配置文件语法是否正确:
sudo nginx -t
若输出syntax is ok,则重载Nginx使配置生效:
sudo systemctl reload nginx
允许HTTP(80)和HTTPS(443)流量通过防火墙:
sudo apt install ufw -y
sudo ufw allow 'Nginx Full'
sudo ufw enable
验证防火墙状态:
sudo ufw status
若在本地测试,编辑/etc/hosts文件,将域名指向服务器IP:
sudo nano /etc/hosts
添加以下内容(替换your_server_ip为服务器实际IP):
your_server_ip yourdomain.com www.yourdomain.com
保存后,在浏览器访问http://yourdomain.com,应看到PHP信息页面。
为网站添加SSL证书(使用Let’s Encrypt免费获取):
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
按照提示操作,Certbot会自动配置Nginx支持HTTPS,并设置证书自动续期。
完成以上步骤后,Debian系统上的LNMP虚拟主机已配置完成,可正常托管网站或Web应用。