在Linux下部署Laravel项目需要经过以下几个步骤:
首先,确保你的Linux系统已经安装了以下软件:
将你的Laravel项目上传到服务器。你可以使用FTP、SCP或其他文件传输方法。
在项目根目录下运行以下命令,安装项目所需的PHP依赖:
composer install 复制.env.example文件并重命名为.env:
cp .env.example .env 编辑.env文件,配置数据库连接、邮件驱动等相关信息。
运行以下命令生成Laravel应用密钥:
php artisan key:generate 如果你的项目包含数据迁移或数据填充文件,请运行以下命令:
php artisan migrate php artisan db:seed 根据你使用的Web服务器(Nginx或Apache),配置虚拟主机。以下是一个简单的Nginx配置示例:
server { listen 80; server_name example.com; # 替换为你的域名 root /path/to/your/laravel/project; # 替换为你的项目路径 add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; index index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; # 根据你的PHP版本修改 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } } 对于Apache,你需要启用mod_rewrite模块,并在项目根目录下创建一个.htaccess文件,内容如下:
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule> 对于Nginx,运行以下命令:
sudo service nginx restart 对于Apache,运行以下命令:
sudo service apache2 restart 确保Laravel项目的storage和bootstrap/cache目录具有可写权限:
sudo chmod -R 775 storage bootstrap/cache 至此,你的Laravel项目应该已经在Linux服务器上成功部署。访问你的域名,你应该能看到Laravel项目的首页。