下面给你一份在 Debian 上从零搭建 Laravel 运行环境的实用步骤(以 Debian 11 / 12 为例,PHP 8.1+,使用 Nginx + MySQL)。
sudo apt update
sudo apt upgrade -y
sudo apt install nginx -y
Laravel 10/11 推荐 PHP 8.1+
sudo apt install php-fpm php-cli php-mysql php-mbstring php-xml \
php-bcmath php-curl php-zip php-gd php-intl -y
检查版本:
php -v
sudo apt install mysql-server -y
sudo mysql_secure_installation
创建数据库:
sudo mysql -u root -p
CREATE DATABASE laravel_db;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
cd /tmp
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer -V
cd /var/www
composer create-project laravel/laravel example-app
git clone your-repo.git
cd your-project
composer install
cd /var/www/example-app
cp .env.example .env
php artisan key:generate
修改 .env:
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=password
设置权限:
sudo chown -R www-data:www-data /var/www/example-app
sudo chmod -R 755 /var/www/example-app
新建配置文件:
sudo nano /etc/nginx/sites-available/laravel
示例配置:
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/example-app/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
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 ~ /\.(?!well-known).* {
deny all;
}
}
启用站点:
sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
浏览器访问:
http://your_server_ip
看到 Laravel 欢迎页即成功 ✅
php artisan migrate
php artisan serve
php artisan queue:work
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx
如果你需要:
告诉我你的使用场景,我可以进一步细化。