首页 文章

在 生产环境 模式下无法提升风帆 . (风帆提升 - 生产环境 - 无法运行)

提问于
浏览
0

我想在 生产环境 模式中提升我的风帆 . 当我运行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 --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)

有谁能提出解决方案 .

2 回答

  • 3

    local.js 中没有为 production 指定连接(从桌面运行时)

    正如错误所说,

    connections:config [process.env.NODE_ENV] .connections,^ TypeError:无法读取未定义的属性'connections'

    process.env.NODE_ENV--prod 中运行 production

    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"
            }
        },
        production: {
            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"
            }
        }
    }
    
  • 2

    [编辑:以下答案基于作者完全改变的原始问题]

    您的sails应用程序需要在 生产环境 模式下升级,或者您需要指定要在配置文件中使用的端口 .

    生产环境 模式在端口80上运行您的快速服务器 .

    您的AWS实例设置是否以 生产环境 模式解除应用程序?

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

相关问题