温馨提示×

Ubuntu环境下Laravel如何部署

小樊
45
2025-10-25 01:55:19
栏目: 智能运维

在Ubuntu环境下部署Laravel应用程序通常涉及以下几个步骤:

  1. 安装必要的软件

    • 确保你的Ubuntu系统是最新的。
    • 安装Nginx或Apache作为Web服务器。
    • 安装PHP和必要的PHP扩展。
    • 安装MySQL或PostgreSQL数据库服务器(取决于你的需求)。
    • 安装Composer,PHP的依赖管理工具。
  2. 设置Web服务器

    • 配置Nginx或Apache以指向你的Laravel项目的public目录。
  3. 配置数据库

    • 创建一个新的数据库和用户,并授予适当的权限。
    • .env文件中配置数据库连接信息。
  4. 安装和配置Laravel

    • 使用Composer安装Laravel框架。
    • 设置正确的文件和目录权限。
    • 运行Laravel的迁移和种子命令来设置数据库结构。
  5. 优化和安全设置

    • 配置队列和缓存系统。
    • 设置SSL证书以启用HTTPS。
    • 应用安全最佳实践,如隐藏敏感信息、限制失败的登录尝试等。
  6. 测试部署

    • 访问你的网站URL以确保一切正常运行。

下面是详细的步骤说明:

1. 更新系统和安装软件

sudo apt update && sudo apt upgrade -y
sudo apt install nginx php-fpm php-mysql composer -y

2. 安装MySQL或PostgreSQL

sudo apt install mysql-server -y # 对于MySQL
# 或者
sudo apt install postgresql postgresql-contrib -y # 对于PostgreSQL

3. 设置Web服务器

Nginx配置示例:

server {
    listen 80;
    server_name example.com; # 替换为你的域名或公网IP

    root /var/www/laravel_project/public; # 替换为你的Laravel项目的public目录
    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;
    }
}

将上述配置保存到/etc/nginx/sites-available/laravel_project,然后创建一个符号链接到sites-enabled目录,并重启Nginx:

sudo ln -s /etc/nginx/sites-available/laravel_project /etc/nginx/sites-enabled/
sudo nginx -t # 测试配置文件是否有误
sudo systemctl restart nginx

Apache配置示例:

<VirtualHost *:80>
    ServerName example.com # 替换为你的域名或公网IP
    DocumentRoot /var/www/laravel_project/public # 替换为你的Laravel项目的public目录

    <Directory /var/www/laravel_project/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

将上述配置保存到/etc/apache2/sites-available/laravel_project.conf,然后启用站点并重启Apache:

sudo a2ensite laravel_project.conf
sudo systemctl restart apache2

4. 配置数据库

登录到MySQL或PostgreSQL并创建数据库和用户:

CREATE DATABASE laravel_db;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;

.env文件中配置数据库连接:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=password

5. 安装和配置Laravel

导航到你的项目目录并使用Composer安装依赖:

cd /var/www/laravel_project
composer install

设置文件和目录权限:

sudo chown -R www-data:www-data /var/www/laravel_project
sudo chmod -R 755 /var/www/laravel_project
sudo chmod -R 777 /var/www/laravel_project/storage
sudo chmod -R 777 /var/www/laravel_project/bootstrap/cache

运行迁移和种子命令:

php artisan migrate
php artisan db:seed

6. 优化和安全设置

配置队列和缓存系统,设置SSL证书,并应用安全最佳实践。

7. 测试部署

访问你的网站URL以确保一切正常运行。

以上步骤提供了一个基本的Laravel部署流程。根据你的具体需求,可能还需要进行额外的配置和优化。

0