发布于 2026-01-06 2 阅读
0

如何将 Laravel/Vue 应用部署到 Heroku

如何将 Laravel/Vue 应用部署到 Heroku

在本文中,我将向您展示如何将 Laravel/Vue 应用程序部署到 Heroku;Heroku 是一个基于容器的云平台即服务 (PaaS),开发人员使用它来部署、管理和扩展现代应用程序。

先决条件:

• 具备 PHP 和 Laravel 知识
• 熟悉 Heroku 用户账号
• 熟悉 Heroku CLI(点击此处下载)
• 熟悉 Git(点击此处获取 Git )

本文假设您的本地服务器上已有一个可供部署的 Laravel/Vue 应用程序。

步骤 1:初始化 Git 仓库使用命令
在当前工作项目目录中初始化一个 Git 仓库。git init

步骤 2:创建 Procfile 文件。
在项目目录中创建一个不带扩展名的Procfile 文件web: vendor/bin/heroku-php-apache2 public/ ,并添加以下代码行。也可以通过终端创建和更新Procfile 文件,为此,请echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile在终端中运行命令。

步骤 3:在 Heroku 上创建新应用
要创建一个新的 Heroku 应用并将其推送到该应用,请使用以下heroku create命令。创建完成后,系统会自动为您的应用选择一个随机名称。要更改此名称,请使用以下heroku apps:rename newAppName 命令。将“newAppName”替换为您想要的新名称。

步骤 4:启用 Node.js
您需要启用 Node.js 才能运行诸如 `npm install` 和 `npm production` 之类的命令。为此,您需要heroku/nodejs使用命令添加构建包heroku buildpacks:add heroku/nodejs。这样,部署时将安装文件中的 Node 依赖项package.json,但不会安装任何开发依赖项。要解决此问题,您需要设置一个环境变量,告诉 Heroku 使用命令安装所有依赖项(包括开发依赖项),heroku config:set NPM_CONFIG_PRODUCTION=false然后postinstallpackage.json脚本中添加相应的配置。
"scripts": {
"postinstall": "npm run prod"
}

步骤 5:设置 Laravel 加密密钥
要设置 Laravel 加密密钥,请APP_KEY.env文件中复制环境值并运行heroku config:set APP_KEY=”Your app key”,或者您可以使用命令生成一个新密钥并将其设置为新密钥heroku config:set APP_KEY=$(php artisan --no-ansi key:generate --show)

步骤 6:推送到 Heroku
使用 git 提交应用程序的当前状态,然后推送到 Herokugit push heroku master

步骤 7:确保您的应用使用正确的 Heroku 构建包。
您需要确保您的应用使用正确的构建包。为此,请运行heroku buildpacks命令。如果您已heroku/php列出构建包,heroku/nodejs则一切就绪。

如果找不到任何构建包,请运行heroku buildpacks:add [‘missing build’]命令,将 ['missing build'] 替换为要安装的构建包,然后推送到 Heroku。

步骤 8:您的应用应该已经启动并运行。要查看它,请在浏览器中访问该地址。

要设置应用程序的环境变量,您可以使用终端命令heroku config:set VAR_NAME=VAR_VALUE或通过仪表板的设置选项卡,单击“显示配置变量”来查看和设置环境变量。

Heroku 提供免费使用 PostgreSQL 的选项。要使用此功能,请运行以下命令:

heroku addons:create heroku-postgresql:hobby-dev

在控制面板的设置选项卡中将其设置DB_CONNECTION为 pgsql,然后单击“显示配置变量”以查看环境变量。

要获取应用程序的数据库凭据,请点击仪表盘概览选项卡上的
Heroku Postgres Hobby Dev已安装插件,这将打开一个新的浏览器标签页。您可以在该新标签页的设置选项卡中找到数据库凭据。

注意:要在 Heroku 上运行常规的Artisannpm命令,请在所有语句前加上heroku run`.`heroku run php artisan storage:link或`.`。heroku run npm install

文章来源:https://dev.to/eduvin/how-to-deploy-a-laravel-vue-app-to-heroku-4kmg