linux

Linux环境下Laravel项目如何部署

小樊
47
2025-07-23 15:40:03
栏目: 智能运维

在Linux环境下部署Laravel项目,你需要遵循以下步骤:

  1. 安装依赖

首先,确保你的Linux系统已经安装了PHP、Composer、Nginx(或Apache)和MySQL。然后,通过SSH进入你的项目目录,运行以下命令来安装项目的依赖:

composer install
  1. 配置环境变量

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

cp .env.example .env

使用文本编辑器打开.env文件,配置数据库连接、邮件服务器等相关信息。

  1. 生成应用密钥

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

php artisan key:generate

这将在.env文件中设置APP_KEY

  1. 运行数据迁移和数据填充(可选)

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

php artisan migrate
php artisan db:seed
  1. 配置Nginx(或Apache)

配置Web服务器以指向Laravel项目的public目录。以下是一个Nginx配置示例:

server {
    listen 80;
    server_name example.com;
    root /path/to/your/laravel/project/public;

    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.4-fpm.sock;
        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
  1. 配置队列(可选)

如果你的项目使用队列,你需要配置队列驱动(例如Redis或Beanstalkd)并在服务器上启动队列监听器。例如,对于Redis,你可以运行以下命令:

php artisan queue:work --daemon --queue=high,default

现在,你的Laravel项目应该已经在Linux环境下成功部署并运行。访问你在Nginx或Apache配置中设置的域名,你应该能看到Laravel项目的首页。

0
看了该问题的人还看了