Vapor部署到Heroku,日志错误代码=H10 desc=";“应用程序崩溃”;方法=获取
经过多次研究和尝试,我仍然无法解决这个问题。我使用Vapor部署到Heroku,日志错误代码=H10 desc=";“应用程序崩溃”;方法=获取,heroku,swift4,vapor,Heroku,Swift4,Vapor,经过多次研究和尝试,我仍然无法解决这个问题。我使用Vapor工具箱:3.1.2和Vapor框架:2.3.0和Swift4.0.3(macos high sierra上的Xcode 9.2)构建了一个简单的网站(没有数据库)。但是,在运行vapor heroku push成功后,我尝试转到heroku dashboard打开我的网站,但没有成功。我尝试运行heroku日志,结果是崩溃了: 2017-12-26T09:04:10.000000+00:00 app[api]: Build succee
Vapor工具箱:3.1.2
和Vapor框架:2.3.0
和Swift4.0.3
(macos high sierra上的Xcode 9.2)构建了一个简单的网站(没有数据库)。但是,在运行vapor heroku push
成功后,我尝试转到heroku dashboard
打开我的网站,但没有成功。我尝试运行heroku日志,结果是崩溃了:
2017-12-26T09:04:10.000000+00:00 app[api]: Build succeeded
2017-12-26T09:10:00.192686+00:00 heroku[web.1]: Process exited with status 127
2017-12-26T09:10:00.207462+00:00 heroku[web.1]: State changed from starting to crashed
2017-12-26T09:10:00.210981+00:00 heroku[web.1]: State changed from crashed to starting
2017-12-26T09:10:03.369454+00:00 heroku[web.1]: Starting process with command `leeswift --env=production --port=19489`
2017-12-26T09:10:00.072884+00:00 app[web.1]: bash: leeswift: command not found
2017-12-26T09:10:05.460027+00:00 app[web.1]: bash: leeswift: command not found
2017-12-26T09:10:05.560609+00:00 heroku[web.1]: Process exited with status 127
2017-12-26T09:10:05.594754+00:00 heroku[web.1]: State changed from starting to crashed
2017-12-26T09:11:28.858638+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=leeswift.herokuapp.com request_id=0eab887e-dba0-488e-b3f6-899de07898d6 fwd="118.69.108.38" dyno= connect= service= status=503 bytes= protocol=https
请帮我修一下
bash:leeswift:未找到命令
您的heroku buildpack找不到为vapor应用程序生成的可执行文件。这可能与应用程序的名称/路径有关。我还没有使用heroku,但是Swift会根据您的编译模式在.build/release/
或.build/debug/
中生成它的可执行文件
bash:leeswift:未找到命令
您的heroku buildpack找不到为vapor应用程序生成的可执行文件。这可能与应用程序的名称/路径有关。我还没有使用heroku,但是Swift会根据您的编译模式,在
.build/release/
或.build/debug/
中生成它的可执行文件。我认为“Procfile”文件中有错误。例如,这是我的:
web: Run --env=production --workdir=./ --config:servers.default.port=$PORT
我认为“Procfile”文件中有一个错误。例如,这是我的:
web: Run --env=production --workdir=./ --config:servers.default.port=$PORT
请按照以下步骤解决您的问题 如何在Vapor框架的帮助下创建swift后端API。市场上还提供了另一个框架。但我们选择的是斯威夫特蒸汽 让我们开始吧 在系统中安装vapor 第一步。运行下面的命令安装vapor
brew安装vapor/tap/vapor测试版
检查vapor是否在命令下安装或运行
vapor测试版--帮助
这些将有助于掌握蒸汽
仅当您在项目目录中时才使用。
你可以
#创建的vapor项目
vapor新myProjectName
#建立蒸汽项目
蒸汽生成
#运行蒸汽项目
蒸汽流
#您可以配置Xcode。您应该在创建的项目目录中。
蒸气Xcode
在项目文件中进行更改或为更新添加新功能后,您可以使用下面的命令
蒸汽Xcode
您可以通过本地服务器测试API运行。出来的是“你好,世界”
curlhttp://localhost:8080/hello
======================================================================PostgreSQL安装程序================================================
设置本地PrortgeSQL。在命令下面运行
brew安装postgresql
启动本地数据库服务器。在命令下面运行
pg_ctl-D/usr/local/var/postgres启动
停止本地数据库服务器。在命令下面运行
pg_ctl-D/usr/local/var/postgres-stop
当您希望在启动时将PostgreSQL作为后台服务运行时,可以使用brew server。在命令下面运行
brew服务启动postgresql
让我们从这里开始Postgres
psql-d postgres
通过运行以下命令创建数据库:
创建数据库数据库名称
创建数据库ashi应用程序#实际命令
通过在下面运行命令创建用户:-通过在下面运行命令授予该用户所需的权限
创建用户用户名
创建用户ashi应用程序用户#实际命令
将数据库databaseName上的所有权限授予userName
#实际指挥
将数据库ASI应用程序的所有权限授予ASI应用程序用户
======================================================================PostgreSQL安装程序================================================
===============================================================================在Heroku上部署新应用程序================================================
在没有数据库的Heroku上部署新的swift vapor应用程序
假设您已经创建了没有数据库的Vapor项目
第一步。在cd MyApp上导航
cd-myApp
#实际指挥
阿什api光盘
第二步。在根项目目录中创建swift版本文件。在终端上运行以下命令
echo 5.1.3>.swift版本
第三步。在根项目目录中创建Procfile文件。在终端上运行以下命令
echoweb:Run service--env production--hostname 0.0.0.0--port$port>Procfile
第四步。通过下面的命令添加文件git和commit
git添加。
git提交-m“应用程序设置”
第五步。您应该通过下面的命令生成linux测试文件
swift测试——生成linuxmain
第六步。通过下面的命令在git中再次修改添加
git添加。
git提交-m“测试设置”
第七步。登录Heroku。需要在heroku上创建应用程序进行部署。所以我们登录了heruko。通过运行下面的命令,我们可以登录
heroku login
第八步。登录完成后,创建heroku应用程序。名称必须是唯一的,我们最喜欢的是app appname
heroku应用程序:创建myAppName
heroku应用程序:创建ashi api#实际命令
第九步。使用应用程序添加swift构建包。为了在此基础上进行编译,我们必须添加buildback。Heroku不支持swift的内置包
heroku构建包:设置https://github.com/vapor-community/heroku-buildpack -我的项目
#实际指挥
heroku构建包:集https://github.com/vapor-community/heroku-buildpack -阿什api
第十步。查找服务器上的命令推送更改
git推送heroku主机
现在您的应用程序和API将可用于测试
===============================================================================在Heroku上部署新应用程序================================================
==============================使用已部署的应用程序和下一版本的部署设置数据库==================================
第一步。进行数据库配置。用postgreSQL替换sqlite数据库。因为Heroku不支持sqlite
在App->configure.sw中替换