温馨提示×

Linux下Laravel项目如何部署

小樊
48
2025-08-19 13:07:05
栏目: 智能运维

在Linux下部署Laravel项目需要经过以下几个步骤:

  1. 安装依赖

首先,确保你的Linux系统已经安装了以下软件:

  • PHP(建议版本7.3或更高)
  • Composer(PHP依赖管理工具)
  • Nginx或Apache(Web服务器)
  • MySQL或其他数据库(如PostgreSQL)
  1. 上传项目

将你的Laravel项目上传到服务器。你可以使用FTP、SCP或其他文件传输方法。

  1. 安装PHP依赖

在项目根目录下运行以下命令,安装项目所需的PHP依赖:

composer install 
  1. 配置环境变量

复制.env.example文件并重命名为.env

cp .env.example .env 

编辑.env文件,配置数据库连接、邮件驱动等相关信息。

  1. 生成应用密钥

运行以下命令生成Laravel应用密钥:

php artisan key:generate 
  1. 运行数据迁移和数据填充(可选)

如果你的项目包含数据迁移或数据填充文件,请运行以下命令:

php artisan migrate php artisan db:seed 
  1. 配置Web服务器

根据你使用的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> 
  1. 重启Web服务器

对于Nginx,运行以下命令:

sudo service nginx restart 

对于Apache,运行以下命令:

sudo service apache2 restart 
  1. 设置文件权限

确保Laravel项目的storagebootstrap/cache目录具有可写权限:

sudo chmod -R 775 storage bootstrap/cache 

至此,你的Laravel项目应该已经在Linux服务器上成功部署。访问你的域名,你应该能看到Laravel项目的首页。

0