【发布时间】:2018-06-08 11:02:32
【问题描述】:
我正在尝试将我的 nodejs API 应用程序部署到谷歌云平台。不幸的是,它错误地说:
我确实使用这些命令设置了 app.yaml 文件
runtime: nodejs
env: flex
这是我要部署的启动文件
const express = require('express');
const mysql = require('mysql');
var bodyParser = require('body-parser');
const db = mysql.createConnection({
host : '35.230.**.**',
user : 'root',
password : '*********',
database : 'sale*******er'
});
//Connect
db.connect((err) => {
if(err){throw err;}
// console.log('Connected to Sales Tracker database!');
})
const app = express();
const port = process.env.PORT || 8080
app.use('/backend', backend);
app.listen(port, () => {
// console.log('Server started on port 3000');
});
【问题讨论】:
-
您正在调整您的应用程序在 SQL 服务器连接成功的情况下正确启动。连接失败将导致部署期间出现问题,该问题根据应用程序正确启动来衡量部署成功。恕我直言,更好的方法是在您的应用启动后在后台管理此类连接。
-
你好@DanCornilescu。我在谷歌云 SQL 上也有 mySQL 数据库。我尝试部署的这个 nodejs 应用程序具有连接到云 SQL 上的数据库的端点。正如您所说,我如何在后台管理连接。
-
不太确定,我没有使用 SQL。在标准环境中,我会将推送队列任务排入队列来处理它,但这只是 flex 的 alpha 支持。也许使用第一个外部请求作为触发器?
标签: node.js google-app-engine google-cloud-platform