在Linux下部署Laravel应用程序时,有一些关键步骤和技巧可以帮助你确保应用程序顺利运行。以下是一个详细的指南,涵盖了从环境配置到应用部署的整个过程。
更新系统:
sudo apt update && sudo apt upgrade -y
安装必要的软件:
sudo apt install php php-fpm php-mysql php-curl php-mbstring php-xml php-zip php-gd php-bcmath
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo apt install nginx
sudo apt install mysql-server
上传Laravel应用程序:
使用FTP或SCP将Laravel项目上传到服务器,确保将项目的public
目录设置为服务器的Web根目录。
配置Nginx:
编辑Nginx配置文件,通常位于/etc/nginx/sites-available/
目录下。
sudo nano /etc/nginx/sites-available/default
添加以下内容:
server {
listen 80;
server_name your_domain.com;
root /path/to/your/laravel/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; modeblock";
add_header X-Content-Type-Options "nosniff";
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location /\.(?!well-known).* {
deny all;
}
}
保存文件并重启Nginx:
sudo systemctl restart nginx
配置PHP: 确保PHP安装了必要的扩展。你可以使用以下命令检查:
php -m
确保以下扩展已经安装:pdo_mysql
, tokenizer
, xml
, mbstring
, curl
, zip
, gd
, bcmath
。
配置环境变量:
复制.env.example
文件为.env
,并使用你的数据库凭据和其他必要的信息填充它。
cp .env.example .env
nano .env
生成应用密钥:
php artisan key:generate
运行数据库迁移: 创建数据库并运行迁移:
php artisan migrate
优化配置: 运行以下命令优化配置缓存和路由缓存:
php artisan config:cache
php artisan route:cache
设置文件权限:
确保Laravel的storage
和bootstrap/cache
目录具有正确的权限:
sudo chown -R www-data:www-data /path/to/your/laravel/storage
sudo chown -R www-data:www-data /path/to/your/laravel/bootstrap/cache
sudo chmod -R 775 /path/to/your/laravel/storage
sudo chmod -R 775 /path/to/your/laravel/bootstrap/cache
通过以上步骤和技巧,你应该能够在Linux上成功部署Laravel应用程序。如果在过程中遇到任何问题,请参考Laravel官方文档或寻求社区帮助。