试图在Bluemix上运行Swift Vapor – 404 Not Found:请求的路由不存在

试图在Bluemix上运行Swift Vapor – 404 Not Found:请求的路由不存在,第1张

概述我正在试图弄清楚如何在IBM Bluemix中部署使用Vapor框架的Cloudfoundry应用程序. IBM正在为他的平台使用他的框架Kitura开发服务器端Swift应用程序提供设施和指导.我认为作为Cloudfoundry提供者,使用正确的Swift buildpack,我们必须能够部署通用服务器端Swift代码. 最后,在学习CF的部分时,我达到了使用CloudFoundry CLI的程 我正在试图弄清楚如何在IBM Bluemix中部署使用Vapor框架的Cloudfoundry应用程序.

IBM正在为他的平台使用他的框架Kitura开发服务器端Swift应用程序提供设施和指导.我认为作为Cloudfoundry提供者,使用正确的Swift buildpack,我们必须能够部署通用服务器端Swift代码.

最后,在学习CF的部分时,我达到了使用CloudFoundry Cli的程度:

>我正在连接到Bluemix API端点(API .eu-gb .bluemix .net)
>登录确定(将超时设置env.var CF_DIAL_TIMEOUT扩展为20后)
>制作“cf push”.它创建应用程序并上传和编译所有内容.
>应用程序状态为“正在运行”.

但是当我加载页面(https://sommobilitatcore.eu-gb.mybluemix.net/)时,我得到:

404 Not Found: Requested route ('sommobilitatcore.eu-gb.mybluemix.net') does not exist.

任何人都可以帮助我吗?谢谢!

一些背景:

manifest.yml:

applications:- path: .  memory: 256M  instances: 1  name: SomMobilitatCore  disk_quota: 1024M  buildpack: https://github.com/IBM-Swift/swift-buildpack.git

procfile

web: App

(main.swift在Source / App /中)

在Vapor Config文件中没有配置端口,然后Vapor正在尝试侦听端口80:

import Vaporimport httplet drop = Droplet()let _ = drop.config["app","key"]?.string ?? ""drop.get("/") { request in    return try drop.vIEw.make("welcome.HTML")}(...)let port = drop.config["app","port"]?.int ?? 80// Print what link to visit for default portdrop.serve()

更新:

最后让它在没有procfile,manifest.yml的情况下工作

- path: .  instances: 1  memory: 256M  disk_quota: 1024M  name: SomMobilitat4  command: App --env=production --workdir="./"  buildpack: swift_buildpack

和/Config/production/servers.Json:

{    "production": {        "port": "$PORT"    }}

我既没有在main.swift文件中指定port变量.随着更新的Vapor版本:

import Vaporimport httplet drop = Droplet()drop.get("/") { request in    return "hello vapor in bluemix cloudfoundry"}drop.run()

如果您是Cloudfoundry或IBM Bluemix的新手,这是一种工作方式:

>您在Cloudfoundry提供商中注册(例如:bluemix)
>你在当地有Vapor项目.
>使用以下短行添加.cfignore文件:Packages /
避免将包上传到服务器.
>添加提到的manifest.yml文件.
>下载并安装Cloudfoundry Cli:https://docs.cloudfoundry.org/cf-cli/

使用Cli:
> cf API https://api.eu-gb.bluemix.net
> cf登录
> cf推

解决方法 要在Bluemix上运行Vapor应用程序:

>使用servers.Json添加Config目录(使用这些名称). servers.Json应包含以下内容:

    {        "myserver": {            "port": "$PORT"        }    }  

它将指示Vapor在从Bluemix使用的$PORT环境变量获取的端口上启动名为myserver的服务器.

>在procfile中,添加–workdir =.参数,所以它将包含:

web: App --workdir=.

它将指示Vapor在运行时查找当前目录中的Config目录.

总结

以上是内存溢出为你收集整理的试图在Bluemix上运行Swift Vapor – 404 Not Found:请求路由不存在全部内容,希望文章能够帮你解决试图在Bluemix上运行Swift Vapor – 404 Not Found:请求的路由不存在所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1017770.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存