在Debian上部署Laravel静态资源可以通过以下步骤完成:
首先,确保你已经安装了Nginx。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install nginx
编辑Nginx的默认配置文件或创建一个新的配置文件来处理Laravel应用。
编辑 /etc/nginx/sites-available/default 文件:
sudo nano /etc/nginx/sites-available/default
将以下内容添加到 server 块中:
server {
listen 80;
server_name your_domain.com; # 替换为你的域名
root /var/www/your_project; # 替换为你的Laravel项目路径
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:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
保存并退出编辑器,然后测试Nginx配置:
sudo nginx -t
如果没有错误,重新加载Nginx:
sudo systemctl reload nginx
创建一个新的配置文件 /etc/nginx/sites-available/your_project:
sudo nano /etc/nginx/sites-available/your_project
将以下内容添加到 server 块中:
server {
listen 80;
server_name your_domain.com; # 替换为你的域名
root /var/www/your_project; # 替换为你的Laravel项目路径
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:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
保存并退出编辑器,然后创建一个符号链接到 sites-enabled 目录:
sudo ln -s /etc/nginx/sites-available/your_project /etc/nginx/sites-enabled/
测试Nginx配置:
sudo nginx -t
如果没有错误,重新加载Nginx:
sudo systemctl reload nginx
确保PHP-FPM正在运行并配置正确。你可以使用以下命令启动和启用PHP-FPM:
sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm
根据你的PHP版本调整命令中的PHP版本号。
将你的Laravel项目上传到服务器上的指定目录(例如 /var/www/your_project)。
进入你的Laravel项目目录并运行以下命令来生成静态资源:
cd /var/www/your_project
composer install
php artisan key:generate
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize
这些命令将安装依赖、生成应用密钥、缓存配置、路由、视图和优化应用。
确保Nginx用户(通常是 www-data)对Laravel项目的存储和缓存目录有读写权限:
sudo chown -R www-data:www-data /var/www/your_project
sudo chmod -R 755 /var/www/your_project
sudo chmod -R 775 /var/www/your_project/storage
sudo chmod -R 775 /var/www/your_project/bootstrap/cache
打开浏览器并访问你的域名,确保Laravel应用正常运行并且静态资源正确加载。
通过以上步骤,你应该能够在Debian上成功部署Laravel静态资源。