下面给你一个**在 Debian 上部署 LNMP 项目(Linux + Nginx + MySQL + PHP)**的完整实战流程,适合大多数 PHP 项目(Laravel / ThinkPHP / 原生 PHP 等)。
/var/www/myprojectexample.comsudo apt update
sudo apt upgrade -y
sudo apt install nginx -y
启动并设置开机自启:
sudo systemctl enable nginx
sudo systemctl start nginx
测试: 浏览器访问服务器 IP,看到 Welcome to nginx 即成功。
sudo apt install mariadb-server -y
sudo mysql_secure_installation
常见设置:
sudo mysql -u root -p
CREATE DATABASE myproject CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myproject'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON myproject.* TO 'myproject'@'localhost';
FLUSH PRIVILEGES;
EXIT;
sudo apt install php-fpm php-mysql php-curl php-xml php-mbstring php-zip php-gd php-redis -y
Debian 11+ 默认是 PHP 8.x
查看版本:
php -v
sudo systemctl status php8.2-fpm
sudo mkdir -p /var/www/myproject
sudo apt install git -y
cd /var/www/myproject
sudo git clone https://github.com/your/project.git .
scp -r ./project root@server:/var/www/myproject
sudo chown -R www-data:www-data /var/www/myproject
sudo chmod -R 755 /var/www/myproject
sudo nano /etc/nginx/sites-available/myproject
server {
listen 80;
server_name example.com;
root /var/www/myproject/public;
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/php8.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Laravel 项目
root指向public,原生 PHP 指向项目根目录即可。
sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
cp .env.example .env
nano .env
修改数据库配置:
DB_DATABASE=myproject
DB_USERNAME=myproject
DB_PASSWORD=password
生成 key(Laravel):
php artisan key:generate
sudo chown -R www-data:www-data /var/www/myproject
sudo chmod -R 755 /var/www/myproject
Laravel 额外:
sudo chmod -R 777 storage bootstrap/cache
sudo ufw allow 80
sudo ufw allow 443
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com
sudo systemctl status php8.2-fpm
.envlocalhost 不是 127.0.0.1✅ Debian
✅ Nginx
✅ MySQL
✅ PHP-FPM
✅ 项目代码
✅ Nginx 站点配置
✅ 权限
✅ 环境配置
如果你愿意,我可以:
你现在用的是 Debian 几?PHP 几?什么项目?