下面给你一份**在 Debian(以 Debian 11/12 为例)上搭建 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)**的实用教程,适合新手和服务器部署。
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl wget unzip vim git
sudo apt install -y nginx
启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
测试: 浏览器访问服务器 IP,看到 Nginx 欢迎页 即成功。
sudo apt install -y mariadb-server
初始化安全设置:
sudo mysql_secure_installation
sudo apt install -y mysql-server
sudo mysql_secure_installation
sudo mysql
sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
查看 PHP 版本:
php -v
systemctl status php*-fpm
sudo vim /etc/nginx/sites-available/default
修改为如下内容(示例):
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
⚠️ php-fpm.sock 名称可能不同,可用:
ls /run/php/
sudo nginx -t
sudo systemctl reload nginx
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
看到 PHP 信息页即成功(测试完建议删除)。
sudo rm /var/www/html/info.php
sudo apt install -y ufw
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
如果你需要:
可以告诉我你的使用场景,我可以进一步细化。