bluemix 服务单页应用程序
Posted
技术标签:
【中文标题】bluemix 服务单页应用程序【英文标题】:bluemix serve onepage application 【发布时间】:2018-03-26 03:39:02 【问题描述】:我正在尝试在 bluemix 中部署一个示例,该示例使用 webpack 使用 serve 为使用 package.js 上的以下内容编译的单页应用程序提供服务
"start": "serve -p 6003",
但是出现如下错误
[HEALTH/0] ERR healthcheck failed: failure to make TCP connection: dial tcp 10.254.1.102:8080: getsockopt: connection refused
发布此应用需要更改的内容
我正在使用:cf push
推送,我的清单如下所示:
applications:
- path: .
memory: 256M
instances: 1
domain: mybluemix.net
name: ktest2017
host: ktest2017
disk_quota: 1024M
要运行该问题,我将执行以下操作:
-
在 bluemix 帐户中创建节点应用程序
下载基础项目
新建一个vue.js cli webpack-simple app,作为一页应用服务器
生成以 : 开头的 package.json
"scripts":
"dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot",
"build": "cross-env NODE_ENV=production webpack --progress --hide-modules",
"start":"serve -p 6003"
,
"dependencies":
"serve": "^6.2.0",
"vue": "^2.4.4",
"cfenv": "^1.0.4",
,
"devDependencies":
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-env": "^1.6.0",
"cross-env": "^5.0.5",
"css-loader": "^0.28.7",
"file-loader": "^1.1.4",
"node-sass": "^4.5.3",
"sass-loader": "^6.0.6",
"vue-loader": "^13.0.5",
"vue-template-compiler": "^2.4.4",
"webpack": "^3.6.0",
"webpack-dev-server": "^2.9.1"
运行 npm run build 生成 js 文件
使用 npm start 在本地运行 在本地尝试并成功 使用 CF cli 上传到 bluemix显示错误
[HEALTH/0] ERR 健康检查失败:建立 TCP 连接失败:拨打 tcp 10.254.1.102:8080:getsockopt:连接被拒绝
可能需要使用另一个库来为带有 vue.js 的单页应用程序提供服务
【问题讨论】:
你能分享你用来部署的命令和你的 manifest.yml 吗? 当然,谢谢我从控制台使用:cf push
,我的清单是这样的applications: - path: . memory: 256M instances: 1 domain: mybluemix.net name: ktest2017 host: ktest2017 disk_quota: 1024M
感谢您提供更多信息。我想我需要更多信息来了解发生了什么。理想情况下,Minimal, Complete, and Verifiable example
您可以尝试将启动命令添加到您的清单或使用cf push
(more info) 时吗?请注意,当您在 Cloud Foundry 上运行时,您将无法指定端口,因为该端口会自动分配给您 (more info)。
正如你所说,我删除了 package.json 中启动命令上的端口,现在可以正常工作了,非常感谢您的帮助
【参考方案1】:
Cloud Foundry 决定您的应用程序在哪个端口上运行。您无法自行设置。更多信息请看这里:https://docs.cloudfoundry.org/buildpacks/node/node-tips.html#port
【讨论】:
以上是关于bluemix 服务单页应用程序的主要内容,如果未能解决你的问题,请参考以下文章