在 Forge 上运行

Forge 是一个付费的服务器管理服务,专为在 DigitalOcean、Linode、Vultr、Amazon、Hetzner 等服务器提供商上托管 Laravel 应用而设计。

如果您拥有 Forge 账户及已连接的服务器集群,您可以轻松设置 Umami 安装。

先决条件

  1. 配置您想要让 Umami 可用的(子)域名。通常,您可以通过在 DNS 配置中添加指向集群 IP 地址的 A 记录来完成此操作。

设置

  1. 选择您在 Forge 中想要使用的服务器。

  2. 进入 Sites > New Site

    • 输入域名
    • 项目类型:Static HTML
    • 勾选 Create Database,填写数据库名
    • 点击 Add
  3. 要安装仓库,将 https://github.com/umami-software/umami 项目 Fork 到您的 GitHub 账户,或直接从官方仓库安装。

    • 输入仓库路径:umami-software/umami
    • 取消勾选 Install Composer Dependencies
    • 点击 Install Repository
  4. 更新部署脚本,在 git pull origin $FORGE_SITE_BRANCH 命令后添加以下内容。

    yarn install
    yarn build

    删除以下内容,因为我们没有 artisan 也不使用 php:

    ( flock -w 10 9 || exit 1
    echo 'Restarting FPM...'; sudo -S service $FORGE_PHP_FPM reload ) 9>/tmp/fpmlock
    
    if [ -f artisan ]; then
        $FORGE_PHP artisan migrate --force
    fi
  5. 在 Forge 中,进入您的服务器页,点击 Database 并为刚创建的数据库添加用户。

  6. 创建数据库连接字符串并添加到您的 .env 文件中:

    DATABASE_URL=mysql://user:password@localhost:3306/dbname

    连接 URL 格式示例如下:

    DATABASE_URL=postgresql://username:mypassword@localhost:5432/mydb
    DATABASE_URL=mysql://username:mypassword@localhost:3306/mydb
  7. 通过 SSH 执行初始项目设置:

    yarn install
    yarn update-db
    yarn build
  8. 进入您的 Umami 站点,点击左侧菜单的 SSL 并添加 SSL 证书。

  9. 点击 Edit files > Edit Nginx Configuration 并覆盖以下配置块:

    location / {
      proxy_pass http://localhost:3000;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection 'upgrade';
      proxy_set_header Host $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_cache_bypass $http_upgrade;
    }

    该配置将把请求流量路由到 Umami 运行的 Node 服务器。

  10. 在 Forge 中,进入您的服务器页,点击 Daemons 并添加 New Daemon,以确保 Umami Node 服务器持续运行。

    • 命令:yarn start
    • 目录:/home/forge/umami.yourdomain.tld
    • 点击 Create

现在您应该可以访问您的 Umami 项目了。

On this page