
Bug编译狮
使用Laravel Forge将Laravel部署到DigitalOcean是一个相对简单的过程。以下是详细步骤:
1. 注册并登录Laravel Forge
- 访问Laravel Forge官网。
- 注册一个新的账户(如果还没有)。
- 登录Forge。
2. 创建新项目
- 在Forge控制台中,点击左侧菜单栏中的“Projects”。
- 点击“New Project”按钮。
- 选择“Laravel”作为框架。
- 输入项目的名称、描述和选择一个区域。
- 勾选你需要的额外功能,如SSL证书、DNS记录等。
- 点击“Create Project”。
3. 配置服务器
- 在项目页面中,点击右侧菜单栏中的“Servers”。
- 选择你要配置的服务器。
- 点击“Settings”按钮。
- 在“SSH Keys”部分,添加一个新的SSH密钥对。
- 点击“Save Changes”。
4. 安装Laravel
-
在服务器上运行以下命令来安装Laravel:
composer create-project --prefer-dist laravel/laravel your_project_name cd your_project_name -
运行以下命令来生成应用密钥:
php artisan key:generate
5. 配置数据库
- 在Forge控制台中,点击右侧菜单栏中的“Databases”。
- 选择你要使用的数据库。
- 点击“Settings”按钮。
- 在“Database Credentials”部分,输入数据库用户名、密码和主机名。
- 点击“Save Changes”。
6. 配置Nginx
-
在服务器上编辑Nginx配置文件:
sudo nano /etc/nginx/sites-available/your_project_name -
添加以下内容到配置文件中:
server { listen 80; server_name your_domain_or_ip; root /var/www/html/your_project_name/public; index 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; } } -
创建符号链接以启用新的配置:
sudo ln -s /etc/nginx/sites-available/your_project_name /etc/nginx/sites-enabled/ -
测试Nginx配置:
sudo nginx -t -
如果配置正确,重新加载Nginx服务:
sudo systemctl reload nginx
7. 启动PHP-FPM
-
启动PHP-FPM服务:
sudo systemctl start php7.4-fpm -
设置PHP-FPM开机自启动:
sudo systemctl enable php7.4-fpm
8. 验证部署
- 打开浏览器并访问你的域名或IP地址,你应该能够看到Laravel的欢迎页面。
示例代码
以下是一个简单的Laravel控制器示例:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class HomeController extends Controller
{
public function index()
{
return view('home');
}
}
这个示例创建了一个名为HomeController的控制器,并定义了一个名为index的方法,该方法返回视图home。
通过以上步骤,你应该能够在Laravel Forge上成功部署你的Laravel应用程序到DigitalOcean服务器。

黑板Bug讲师
介绍
部署Laravel应用程序可以成为一个平滑且高效的流程,借助Laravel Forge与DigitalOcean服务的捆绑。通过本例教程,您将跟随步骤学习如何使用Laravel Forge在DigitalOcean上部署Laravel应用,包含多个示例。完成此教程后,您应该对从零到完成Laravel应用程序的部署过程有一个坚实的理解。
Laravel Forge 是由 Laravel 提供的令人惊叹的工具,它帮助您自动化应用程序的服务器配置和管理。它允许您从 GitHub、Bitbucket 或 GitLab 上的仓库直接部署到托管在 DigitalOcean(以及其他云提供商)上的云服务器。它处理服务器管理的复杂性,并提供一个用户友好的界面来操作。
前置条件:在我们开始部署之前,让我们确保您已经具备以下条件:
一个在版本控制系统(如GitHub、GitLab或Bitbucket)下托管的Laravel应用程序
一个DigitalOcean账户
一个使用 Laravel Forge 的账户。
部署步骤逐一进行。
步骤 1:在 DigitalOcean 上设置服务器
第一步是在DigitalOcean上设置一个服务器来托管我们的Laravel应用程序。Forge使得这一步骤变得简单。
点击“创建服务器”,让Forge为您自动配置它。
添加你的SSH密钥,以便Forge和本地机器能够与你的Droplet进行通信。
选择服务器的区域。
请选择您喜欢的Droplet大小。
选择DigitalOcean作为您的提供商。
前往“服务器”并点击“创建服务器”。
登录到您的Laravel Forge账户。
一旦服务器准备好,红石就会显示您的服务器的IP地址,您需要稍后使用这个信息。
步骤 2:添加您的网站到 Forge
在服务器启动运行后,是时候向 Forge 添加您的 Lumen 应用程序了:
一旦创建好了站点,Forge 将提供一个默认的服务器块配置。后期可能需要对其进行调整以符合应用的具体需求。
请填写您的域名详情,并确保您选择“Laravel”作为站点类型。
在服务器控制台的“站点”部分,点击“创建站点”。
在锻造台(Forge)仪表板上,点击您的服务器以访问服务器仪表板。
请注意,您需要更新DNS,使其指向您之前获取的DigitalOcean服务器的IP地址。
步骤 3:设置仓库
目前,我们将连接Forge到您的代码库:
请在提供的文本区域中添加任何构建或部署脚本,Forge 应在拉取您的应用程序后执行这些脚本。一个典型的脚本可能是:
在这一栏里,设置部署分支。通常这是“master”或“main”,取决于版本控制系统中的设置。
选择包含您的Laravel应用程序的源控制系统,允许Forge安装应用。
点击“Git”标签页。在这里,你可以连接Forge站点到源代码控制。
在服务器仪表板内,点击刚刚创建的站点。
cd /home/forge/{your-site-domain} php artisan migrate --force该脚本将导航到您的应用程序目录并运行Laravel迁移。
步骤4:配置环境
每个Laravel应用程序都需要环境变量,这些变量对于其正常运行至关重要:
点击“更新环境”,当完成时,这将更新您的app的.env文件以包含正确的凭据。
编辑环境变量以反映您的应用程序设置,例如数据库连接详细信息以及任何其他所需的服务凭据。
在服务器的仪表板上,点击您的站点,然后转到“环境”标签页。
您的环境配置应安全并反映应用程序的生产设置。
步骤 5:设置部署触发器
Forge 可以自动部署您的应用程序,当您对 Git 仓库进行更改时:
如果您需要更多的控制,可以选择每次手动部署或为自定义工作流程设置部署钩子。
如果你想让Forge自动部署新提交到指定分支,请启用“快速部署”功能。
在您的Forge站点仪表盘的“应用程序”标签页中,找到“部署”部分。
配置部署触发器后,您的应用程序将在连接的仓库每次推送时自动部署,或者如果您选择了手动触发选项,则可以手动触发它。
第6步:管理SSL证书
确保您的Laravel应用程序的安全HTTPS连接需要管理SSL证书:
一旦证书安装,点击“激活”以在您的站点上强制执行HTTPS。
只需点击“Let’s Encrypt”按钮,Forge 就会为您获取并安装SSL证书。
在这里,你可以选择安装一个新的SSL证书。Laravel Forge 提供了一个免费的Let’s Encrypt证书,对于许多应用来说通常是足够的。
在Forge服务器控制台的仪表盘上,点击您的站点并导航到“SSL”标签页。
Laravel Forge 会定期为 Let’s Encrypt 的证书进行续期,因此在初始设置后不需要额外的工作。
第7步:安排和执行备份
在部署的最后一步,设置数据备份计划是个明智的选择。以下是Forge中设置备份的方法:
确保备份存放在安全且可靠的地点,远离您的托管基础设施。
设置备份频率、保留策略和备份位置,通常可以使用云存储提供商。
Forge允许您通过点击“配置备份”来配置数据库备份。此外,还可以备份文件。
在您的Forge服务器仪表板中,导航到“备份”标签页。
根据Forge提供的协议,你可以配置一个稳定的数据库和文件备份环境,以在灾难发生时处理数据检索。
结论
部署到DigitalOcean使用Laravel Forge简化了部署过程,管理服务器配置,并使自动化和扩展更加易于访问。通过利用Forge的特性和自动化选项,您可以轻松地运行并更新您的Laravel应用程序。有了今天的部署处理好后,您就可以专注于开发具有竞争力的Laravel和PHP应用。

长工码奴1523
要在Laravel Forge上将Laravel部署到DigitalOcean,请按照以下步骤操作:
步骤 1: 创建一个新项目
首先,你需要创建一个新的Laravel项目。你可以从GitHub上获取最新版本的Laravel并将其安装到你的计算机上。
composer create-project --prefer-dist laravel/laravel myproject
然后,运行php artisan serve来启动开发服务器,并访问 http://localhost:8000/ 来查看你的新项目。
步骤 2: 部署到DigitalOcean
2.1 设置环境变量
在你的项目根目录下创建 .env.example 文件,并编辑它以设置你的 DigitalOcean 账户信息(API密钥和区域):
vi .env.example
替换 .env.example 中的 <your_api_key> 和 <your_region> 为实际的 API 密钥和区域名称。
2.2 配置 Laravel Forge
- 在
vendor目录下的app/Console/Commands/forge.php文件中,添加以下代码:
<?php
namespace AppConsoleCommands;
use IlluminateSupportFacadesFile;
use LaravelForgeForgeServiceProvider;
class ForgeCommand extends IlluminateFoundationConsoleKernel
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'forge';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Run a forge command';
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
// 保存环境配置文件
File::put(base_path('config/app.php'), file_get_contents(__DIR__.'/../bootstrap/app.php'));
File::put(base_path('database/migrations'), file_get_contents(__DIR__.'/../database/migrations'));
// 更新数据库迁移脚本
File::put(base_path('database/migrations/2023_06_04_175942_create_users_table.php'), file_get_contents(__DIR__.'/../database/migrations/2023_06_04_175942_create_users_table.php'));
File::put(base_path('database/seeds/2023_06_04_175942_create_users_seeds.sql'), file_get_contents(__DIR__.'/../database/seeds/2023_06_04_175942_create_users_seeds.sql'));
}
}
2.3 启动 DigitalOcean
- 使用以下命令启动 DigitalOcean 控制台:
./vendor/bin/digitalocean.sh start
这将打开一个新的终端窗口,允许您登录到您的 DigitalOcean 计划。
2.4 安装 Forge CLI
- 如果你还没有安装 Laravel Forge 的命令行界面 (CLI),现在是时候了。执行以下命令:
./vendor/bin/fake -v
如果一切正常,你应该看到一些关于 Forge 的输出。如果没有,尝试更新虚拟环境:
composer update
2.5 挂载和激活Forge服务
- 打开
digitalocean.json文件并添加以下数据:
"services": [
{
"name": "forge",
"command": "vendor/bin/fake -v",
"mountpoint": "/opt/virtualbox"
}
]
- 将以上文件保存为
digitalocean.json并重启 Docker 服务。
2.6 运行Forge
- 现在,你可以通过运行以下命令在虚拟机中启动 Forge:
./vendor/bin/fake -c digitalocean.json
步骤 3: 测试部署
- 登录到你的 DigitalOcean 虚拟机后,访问
https://<your-droplet-ip>/laravel-forge来测试你的 Laravel 应用。
注意事项
- 在进行任何更改之前,请确保备份你的应用和数据库。
- 只有在熟悉Forge的工作原理并且理解如何配置它时才尝试部署Laravel。
- 如果遇到任何问题,请查阅官方文档或寻求社区的帮助。

