以下是在Debian上部署Laravel项目的核心步骤:
系统更新与软件安装
sudo apt update && sudo apt upgrade -y
sudo apt install nginx php php-cli php-fpm php-mysql php-json php-mbstring php-xml php-zip composer mysql-server
配置Web服务器(以Nginx为例)
/etc/nginx/sites-available/yourdomain.com:server {
listen 80;
server_name yourdomain.com;
root /var/www/yourproject/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:/var/run/php/php7.4-fpm.sock;
}
}
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl restart nginx
部署Laravel项目
/var/www/yourproject,或通过Composer创建:composer create-project --prefer-dist laravel/laravel /var/www/yourproject
cd /var/www/yourproject && composer install --no-dev --optimize-autoloader
配置环境与权限
.env.example 为 .env,修改数据库连接等信息:cp .env.example .env
nano .env
php artisan key:generate
sudo chown -R www-data:www-data /var/www/yourproject
sudo chmod -R 755 /var/www/yourproject
sudo chmod -R 777 /var/www/yourproject/storage /var/www/yourproject/bootstrap/cache
数据库与迁移
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;
php artisan migrate
启动服务与验证
sudo systemctl restart nginx php7.4-fpm
http://yourdomain.com 查看项目是否正常运行。说明:
APP_DEBUG=false)并配置HTTPS。