在 Debian 上搭建了 LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 后,新增一个站点一般按下面步骤来。以 Nginx 为例(最常用)。
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R www-data:www-data /var/www/example.com
sudo chmod -R 755 /var/www/example.com
example.com换成你的域名或项目名
进入 Nginx 站点配置目录:
sudo nano /etc/nginx/sites-available/example.com
粘贴以下基础配置(PHP 站点):
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/public_html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
# 根据你实际 PHP 版本修改,如 php8.1-fpm.sock
}
location ~ /\.ht {
deny all;
}
}
保存退出。
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
mysql -u root -p
CREATE DATABASE example_db;
CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
hosts 文件sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
try_files 已包含常见规则
sudo rm /etc/nginx/sites-enabled/default
如果你用的是 OneinStack / LNMP.org 一键包,或者想加 子目录站点 / 多端口站点 / 纯静态站点,可以告诉我,我给你对应方案。