下面给你一份**在 Debian(以 Debian 11 / 12 为例)上手工安装 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)**的标准流程,适合服务器环境,命令可直接复制使用。
# 切换到 root(或确保有 sudo 权限)
sudo -i
# 更新系统
apt update
apt upgrade -y
# 安装基础工具
apt install -y curl wget gnupg2 ca-certificates lsb-release
apt install -y nginx
启动并设置开机自启:
systemctl enable --now nginx
测试:
curl http://localhost
apt install -y mariadb-server
安全初始化:
mysql_secure_installation
按提示:
测试:
mysql -u root -p
Debian 12 默认已是 PHP 8.2,Debian 11 可能需要 Sury 源。
apt install -y lsb-release ca-certificates apt-transport-https
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt update
apt install -y php-fpm php-mysql php-cli php-common php-curl php-gd php-mbstring php-xml php-zip
查看 PHP 版本:
php -v
编辑默认站点:
nano /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/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
}
测试并重载:
nginx -t
systemctl reload nginx
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
测试完成后建议删除:
rm /var/www/html/info.php
apt install -y ufw
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable
apt install -y certbot python3-certbot-nginx
certbot --nginx
如果你告诉我:
我可以给你更精确的方案。