Laravel Forge - 同一服务器上的多个站点

作者:编程家 分类: laravel 时间:2025-12-10

Laravel Forge - 同一服务器上的多个站点

在建立和管理多个网站时,使用同一台服务器可以节省资源和管理成本。Laravel Forge是一个强大的工具,可以帮助我们轻松地在同一台服务器上托管多个站点。本文将介绍如何使用Laravel Forge在同一服务器上设置和管理多个站点,并提供一些示例代码。

1. 创建服务器

首先,我们需要在Laravel Forge中创建一个服务器。登录到Laravel Forge的控制面板,点击"Create Server"按钮。在弹出的窗口中,填写服务器的名称、服务器提供商、服务器规格等信息,并选择你喜欢的位置。点击"Create Server"按钮,等待服务器创建完成。

2. 添加站点

创建服务器后,我们可以开始添加站点。在服务器的详情页面,点击"Add Site"按钮。填写站点的域名、网站根目录、应用程序类型等信息,并选择合适的PHP版本。点击"Add Site"按钮,等待站点添加完成。

3. 配置域名

在添加站点后,我们需要配置域名以将其指向服务器。在服务器的详情页面,找到站点的IP地址。登录到你的域名注册商的控制面板,添加一个A记录,将域名指向站点的IP地址。保存设置并等待DNS生效。

4. 配置SSL证书

如果你的站点需要使用SSL证书,你可以在Laravel Forge中轻松地配置SSL证书。在服务器的详情页面,点击站点的名称,进入站点的设置页面。在"SSL Certificate"部分,点击"Let's Encrypt"按钮,Laravel Forge将自动为你的站点生成和安装SSL证书。

5. 配置数据库

每个站点通常都需要一个单独的数据库。在服务器的详情页面,点击"Add Database"按钮。填写数据库的名称、用户名和密码等信息,并选择合适的数据库类型和版本。点击"Add Database"按钮,等待数据库添加完成。

6. 配置环境变量

每个站点可能需要不同的环境变量。在服务器的详情页面,找到站点的名称,点击"Manage"按钮,进入站点的环境变量页面。在这里,你可以添加和编辑站点的环境变量。

7. 部署站点

完成以上配置后,我们可以开始部署站点。在服务器的详情页面,点击"Deploy Now"按钮,Laravel Forge将自动将你的应用程序部署到服务器上。

案例代码:

下面是一个使用Laravel Forge设置和管理多个站点的示例代码:

php

use Laravel\Forge\Forge;

// 创建服务器

$server = Forge::createServer([

'provider' => 'digitalocean',

'name' => 'My Server',

'size' => '512MB',

'location' => 'nyc3',

]);

// 添加站点

$site = Forge::createSite([

'server_id' => $server->id,

'domain' => 'example.com',

'project_type' => 'php',

'directory' => '/var/www/example.com',

]);

// 配置域名

$site->update(['ip_address' => $server->ipAddress]);

// 配置SSL证书

$site->installCertificate();

// 配置数据库

$database = Forge::createDatabase([

'server_id' => $server->id,

'name' => 'example_db',

'user' => 'example_user',

'password' => 'secret',

]);

// 配置环境变量

$site->updateEnvironmentFile([

'APP_ENV' => 'production',

'DB_HOST' => $server->ipAddress,

'DB_DATABASE' => $database->name,

'DB_USERNAME' => $database->user,

'DB_PASSWORD' => $database->password,

]);

// 部署站点

$site->deploy();

使用Laravel Forge,你可以轻松地在同一台服务器上设置和管理多个站点。通过使用上述示例代码,你可以自动化创建、配置和部署站点,从而提高效率和降低成本。祝你在使用Laravel Forge管理多个站点时取得成功!