javascript - 无法在生产模式下升起 sails 。(sails lift --prod --verbose 不起作用)

标签 javascript node.js sails.js

我想在生产模式下升起我的 sails 。当我运行 sails lift --prod --verbose 时,我收到了一堆错误。 我的 local.js 文件如下所示。

  /**
     * Local environment settings
*
 * While you're developing your app, this config file should include
 * any settings specifically for your development computer (db   passwords, etc.)
 * When you're ready to deploy your app in production, you can use   this file
 * for configuration options on the server where it will be deployed.
 *
 *
 * PLEASE NOTE:
 *        This file is included in your .gitignore, so if you're using  git
 *        as a version control solution for your Sails app, keep in   mind that
 *        this file won't be committed to your repository!
 *
 *        Good news is, that means you can specify configuration for your local
 *        machine in this file without inadvertently committing personal information
 *        (like database passwords) to the repo.  Plus, this prevents other members
 *        of your team from commiting their local configuration changes on top of yours.
 *
 *
 * For more information, check out:
 * http://sailsjs.org/#documentation
 */
var config={

development:{
    connections: {

            mongo: {
            adapter: 'sails-mongo',
            host: 'localhost',
            user: '',
            password: '',
            database: 'mydata',
            schema: true
        }
    },
    mailer:{
        hostUrl:'http://localhost:1337/',
        emailConfirm:'confirm/',
        inviteMoreFriends:'myspace'
    },
    geoSpatial:{
        radiusOfEarth:6375,
        radius:3,
        maxRecords:20
    },
    facebook:{
        clientID: "CLIENT ID",
        clientSecret: "SECRET",
        callbackURL: "http://www.EXAMPLE.com:1337/auth/facebook/callback"
    }
}
}
module.exports = {


// The `port` setting determines which TCP port your app will be deployed on
// Ports are a transport-layer concept designed to allow many different
// networking applications run at the same time on a single computer.
// More about ports: http://en.wikipedia.org/wiki/Port_(computer_networking)
//
// By default, if it's set, Sails uses the `PORT` environment variable.
// Otherwise it falls back to port 1337.
//
// In production, you'll probably want to change this setting
// to 80 (http://) or 443 (https://) if you have an SSL certificate

port: process.env.PORT || 1337,


// The runtime "environment" of your Sails app is either 'development' or 'production'.
//
// In development, your Sails app will go out of its way to help you
// (for instance you will receive more descriptive error and debugging output)
//
// In production, Sails configures itself (and its dependencies) to optimize performance.
// You should always put your app in production mode before you deploy it to a server-
// This helps ensure that your Sails app remains stable, performant, and scalable.
//
// By default, Sails sets its environment using the `NODE_ENV` environment variable.
// If NODE_ENV is not set, Sails will run in the 'development' environment.

environment: process.env.NODE_ENV || 'development',


development: {
    //config is placed as the attributes needed by aws config node module
    aws: {
        region: 'REGION',
        accessKeyId: 'KEY ID',
        secretAccessKey: 'SECRET',
        cloudFrontCDN: 'EXAMPLE.cloudfront.net'
    },
    s3: {
        Bucket: 'MY_BUCKET',
        endpoint: 'ENDPOINT',
        imageUrl: 'URL'
    },
    uploads: {
        thumbnails: __dirname + '/../uploads/thumbnails/'
    }



},
likeprod: {
    //config is placed as the attributes needed by aws config node module
    aws: {
        region: 'REGION',
        accessKeyId: 'KEY ID',
        secretAccessKey: 'SECRET',
        cloudFrontCDN: 'EXAMPLE.cloudfront.net'
    },
    s3: {
        Bucket: 'MY_BUCKET',
        endpoint: 'ENDPOINT',
        imageUrl: 'URL'
    },
    uploads: {
        thumbnails: __dirname + '/../uploads/thumbnails/'
    }


},

mandrillApiKey:"API_KEY",
twilio:{
    accountSid:'SECRET',
    authToken:'TOKEN'
},
metaPublic:{
    groupBookNumber:'+0123456789'
},

    connections:config[process.env.NODE_ENV].connections,
    mailer:config[process.env.NODE_ENV].mailer,
    geoSpatial:config[process.env.NODE_ENV].geoSpatial,
    facebook:config[process.env.NODE_ENV].facebook,

//TODO: refactor the config[environment] as for connections
current: function () {
    return sails.config[sails.config.environment]
}

};

当我运行 sails lift --prod 时。我收到此错误。

 $ sails lift --prod --verbose

info: Starting app...

verbose: Please run `npm install coffee-script` to use coffescript     (skipping for now)
verbose: Setting Node environment...
verbose: moduleloader hook loaded successfully.
verbose: Loading app config...

/home/vgulp/Desktop/config/local.js:136
connections:config[process.env.NODE_ENV].connections,
                                        ^
TypeError: Cannot read property 'connections' of undefined
at Object.<anonymous> (/home/Desktop/vka/config/local.js:136:45)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at       /home/Desktop/vka/node_modules/sails/node_modules/include-all/index.js:129:29
at Array.forEach (native)
at requireAll (/home/Desktop/vka/node_modules/sails/node_modules/include-all/index.js:44:9)
at buildDictionary (/home/Desktop/vka/node_modules/sails/node_modules/sails-build-dictionary/index.js:68:14)
at Function.module.exports.aggregate (/home/Desktop/vka/node_modules/sails/node_modules/sails-build-dictionary/index.js:190:9)
at Array.loadOtherConfigFiles [as 0] (/home/Desktop/vka/node_modules/sails/lib/hooks/moduleloader/index.js:102:22)
at /home/Desktop/vka/node_modules/sails/node_modules/async/lib/async.js:459:38
at Array.forEach (native)
at _each (/home/Desktop/vka/node_modules/sails/node_modules/async/lib/async.js:32:24)
at Object.async.auto (/home/Desktop/vka/node_modules/sails/node_modules/async/lib/async.js:430:9)

任何人都可以提出解决方案吗?

最佳答案

[已编辑:以下答案基于原始问题,已被作者完全更改]

您的 sails 应用程序需要在生产模式下启动,或者您需要指定要在配置文件中使用的端口。

生产模式在端口 80 上运行 Express 服务器。

您的 AWS 实例设置是否可以在生产模式下提升应用程序?

http://sailsjs.org/documentation/anatomy/my-app/config/env/production-js

关于javascript - 无法在生产模式下升起 sails 。(sails lift --prod --verbose 不起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34049179/

相关文章:

javascript - Android 在动态添加类时与一般兄弟选择器的奇怪行为

javascript - i18n 翻译在支持 Handlebars 的 Node Express 应用程序中部分工作

javascript - MongoDB 发现 $in 在 sails.js 中不工作

javascript - Sails.js 使用带有 promise 的事务的最佳实践(Postgres)

javascript - 如何在移植到 ASP.NET MVC 的 Web 表单页面中顽固地保留旧的 JavaScript 事件处理程序?

javascript - CSS如何增加底部的高度向上

javascript - 是否可以在没有任何服务器端脚本的情况下仅通过 javascript 实现 Oauth 1.0?

javascript - Node/npm : File to import not found when compiling scss with node-sass

node.js - 通过 JavaScript 响应式(Reactive)扩展使用 Mongoose Stream

javascript - 风 sails js mongodb 填充