首页主机资讯Laravel项目在Ubuntu上如何实现自动化部署

Laravel项目在Ubuntu上如何实现自动化部署

时间2025-12-13 02:06:04发布访客分类主机资讯浏览1077
导读:在Ubuntu上实现Laravel项目的自动化部署可以通过多种方式来完成,以下是一个基本的步骤指南,使用Git进行版本控制,并结合一些常用的自动化工具如Jenkins、GitLab CI/CD或GitHub Actions。 前提条件 U...

在Ubuntu上实现Laravel项目的自动化部署可以通过多种方式来完成,以下是一个基本的步骤指南,使用Git进行版本控制,并结合一些常用的自动化工具如Jenkins、GitLab CI/CD或GitHub Actions。

前提条件

  1. Ubuntu服务器:确保你有一个运行Ubuntu的服务器。
  2. Web服务器:如Nginx或Apache。
  3. PHP环境:确保PHP及其相关扩展已安装。
  4. 数据库:如MySQL或PostgreSQL。
  5. Git:用于版本控制。

步骤指南

1. 安装必要的软件

在Ubuntu服务器上安装必要的软件:

sudo apt update
sudo apt install git nginx php-fpm mysql-server

2. 配置Nginx

配置Nginx以指向你的Laravel项目目录。假设你的项目目录是/var/www/laravel_project

sudo nano /etc/nginx/sites-available/laravel_project

添加以下内容:

server {
    
    listen 80;
    
    server_name your_domain.com;
    

    root /var/www/laravel_project/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;

    }


    location ~ /\.ht {
    
        deny all;

    }

}
    

启用该配置:

sudo ln -s /etc/nginx/sites-available/laravel_project /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl restart nginx

3. 配置数据库

创建数据库并配置Laravel的.env文件:

sudo mysql -u root -p

在MySQL shell中:

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

编辑.env文件:

cd /var/www/laravel_project
nano .env

修改以下内容:

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

4. 设置Git仓库

在服务器上初始化Git仓库:

cd /var/www
git init
git add .
git commit -m "Initial commit"

5. 配置自动化部署工具

这里以Jenkins为例:

安装Jenkins
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ >
     /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins

启动并启用Jenkins服务:

sudo systemctl start jenkins
sudo systemctl enable jenkins

访问http://your_server_ip:8080,按照提示完成Jenkins的初始配置。

创建Jenkins Job

在Jenkins中创建一个新的Freestyle project,配置如下:

  • Source Code Management: Git
  • Repository URL: 你的Git仓库URL
  • Credentials: 添加你的Git凭证
  • Build Triggers: 选择Poll SCM并设置定时任务(如H/5 * * * *表示每5分钟检查一次)
  • Build: 添加构建步骤,例如:
    cd /var/www/laravel_project
    git pull origin master
    composer install --no-interaction --prefer-dist --optimize-autoloader
    php artisan migrate --force
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
    sudo systemctl restart php7.4-fpm
    sudo systemctl restart nginx
    

总结

以上步骤提供了一个基本的自动化部署流程。你可以根据具体需求调整和扩展,例如添加更多的构建步骤、测试脚本、通知机制等。使用GitLab CI/CD或GitHub Actions也可以实现类似的自动化部署流程,具体配置方法可以参考相应的文档。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Laravel项目在Ubuntu上如何实现自动化部署
本文地址: https://pptw.com/jishu/771215.html
Linux上OpenSSL版本如何更新 Linux下OpenSSL如何加密文件

游客 回复需填写必要信息