【问题标题】:Trying to get basic Nodejs example working on GAE试图让基本的 Nodejs 示例在 GAE 上工作
【发布时间】:2015-08-02 09:58:51
【问题描述】:

我使用的是 Windows 7x64,gcloud 安装版本

Google Cloud SDK 0.9.71

app 2015.07.24
app-engine-java 1.9.24
app-engine-python 1.9.24
app-engine-python-extras 1.9.21
bq 2.0.18
bq-win 2.0.18
core 2015.07.24
core-win 2015.07.24
gcloud 2015.07.24
gsutil 4.13
gsutil-win 4.13
preview 2015.07.24
windows-ssh-tools 2015.06.02

我正在尝试在预览版上运行并部署来自here 的教程示例。 请注意,此示例中的 app.yaml 将“nodejs”设置为运行时。

运行命令后

gcloud preview app run --host localhost:8080 app.yaml

我明白了

RuntimeError: Unknown runtime 'nodejs'; supported runtimes are 'custom', 'go', 'java', 'java7', 'php', 'php55', 'python, 'python27', 'vm'.

如果我将“vm”用于运行时,它想使用 docker,这对我也不起作用,我想使用选项来执行此操作 without docker 无论如何。

如果我在 yaml 文件中为运行时添加“自定义”,我会得到:

ValueError: The --custom_entrypoint flag must be set for custom runtimes

此开关的帮助输出中给出的示例如下

--custom_entrypoint="gunicorn -b localhost:{port} mymodule:application"

我试过了,最好的猜测

gcloud preview app run --custom_entrypoint="nodejs -b localhost:{8080} mymodule:application" app.yaml

得到了这个

ERROR: Argument [--custom_entrypoint=nodejs -b localhost:{8080} mymodule:application] is not a valid deployable file.
ERROR: (gcloud.preview.app.run) Errors occurred while parsing the App Engine app configuration.

感谢您的宝贵时间。

【问题讨论】:

  • 我刚刚为 Node.js 找到了 quickstart guide。它建议使用npm 和node 进行本地开发,并且仅使用gcloud 进行部署,这应该与runtime: nodejs 标志一起使用。
  • 嗯,好吧,即使我上次尝试部署这个相同的示例,服务器一直以 503 响应,也许这会起作用。我会试一试。在部署之前,我想让它作为本地测试在预览版上运行。我想,如果它不在本地运行,它也不会在服务器上运行。
  • 更多牦牛剃须。挂在Copying certificates for secure access. You may be prompted to create an SSH keypair.
  • 您是否有机会在与临时目录不同的驱动器上?也就是说,python.exe -c 'import tempfile; print tempfile.mkdtemp()' 是否在与当前目录不同的驱动器上显示临时文件?如果是这样,请尝试将您的项目移动到同一个驱动器,看看您是否仍然得到相同的行为。
  • 你能打开一个 Python 提示符运行import tempfile,然后运行print tempfile.mkdtemp()吗?有一个已知问题会导致交叉驱动器路径在同一点挂起。也就是说,鉴于您一直在使用“C:”,这可能不是问题。我再挖一点。完整、详细的日志可能会有所帮助。

标签: node.js google-app-engine gcloud


【解决方案1】:

gcloud 命令似乎正在发生一些变化,所以这个问题似乎不再有效,因为我们打算运行 dev_appserver.py 而不是 gcloud 来运行 devserver 进程;您也可以直接运行节点服务器,甚至使用 docker 从 dockerfile 构建映像并将其作为容器运行。

如果从 dev_appserver.py 运行,请确保您有 runtime: custom 和 Dockerfile 源 FROMgcr.io/google_appengine/nodejs,因为 dev_appserver.py 当前引发:

RuntimeError: Unknown runtime 'nodejs'; supported runtimes are 'custom', 'go', 'java', 'java-compat', 'java7', 'php55', 'python', 'python-compat', 'python27'.

【讨论】:

    猜你喜欢
    • 2023-04-11
    • 2020-12-10
    • 2014-05-13
    • 2014-03-22
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多