如何在笔记本电脑服务器上设置Ghost博客框架

时间:2014-01-29 09:27:31

标签: node.js ghost-blog

我正在尝试在我的本地笔记本电脑开发机器上设置Ghost博客框架。我成功地遵循了(基本安装说明)[http://docs.ghost.org/installation/mac/]。我可以通过直接转到IP来加载页面,即http://127.0.0.1:2368。然而,我正在努力通过网址加载页面,即mysite.localmachine.net。在config.js文件中,我设置了如下:

config = {
    // ### Development **(default)**
    development: {
        // The url to use when providing links to the site, E.g. in RSS and email.
        url: 'http://myurl',

        database: {
            client: 'sqlite3',
            connection: {
                filename: path.join(__dirname, '/content/data/ghost-dev.db')
            },
            debug: false
        },
        server: {
            // Host to be passed to node's `net.Server#listen()`
            host: '127.0.0.1',
            // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
            port: '2368'
        }
    },

    // ### Production
    // When running Ghost in the wild, use the production environment
    // Configure your URL and mail settings here
    production: {
        url: 'http://myurl',
        mail: {},
        database: {
            client: 'sqlite3',
            connection: {
                filename: path.join(__dirname, '/content/data/ghost.db')
            },
            debug: false
        },
        server: {
            // Host to be passed to node's `net.Server#listen()`
            host: '127.0.0.1',
            // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
            port: '2368'
        }
    },
    ...
    ...
    ...

当我像npm start --production那样启动博客时,我得到以下显然成功的加载消息:

> ghost@0.4.0 start /Users/ethan/Sites/ghost
> node index

Ghost is running... 
Your blog is now available on http://myurl 

Ctrl+C to shut down

但是,如果我在浏览器中导航到http://myurl,我会收到一个网站不可用的消息。我也尝试将端口设置为80,我将其视为可能的解决方案(此处)[http://www.howtoinstallghost.com/how-to-install-ghost-on-a-mac-os-x- 10-8-mountain-lion /],但会产生如下错误:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EACCES
    at errnoException (net.js:901:11)
    at Server._listen2 (net.js:1020:19)
    at listen (net.js:1061:10)
    at net.js:1143:9
    at dns.js:72:18
    at process._tickCallback (node.js:415:13)
    at process._tickFromSpinner (node.js:390:15)
npm ERR! ghost@0.4.0 start: `node index`
npm ERR! Exit status 8
npm ERR! 
npm ERR! Failed at the ghost@0.4.0 start script.
npm ERR! This is most likely a problem with the ghost package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node index
npm ERR! You can get their info via:
npm ERR!     npm owner ls ghost
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 13.0.0
npm ERR! command "/usr/local/Cellar/node/0.10.25/bin/node" "/usr/local/bin/npm" "start" "--production"
npm ERR! cwd /Users/ethan/Sites/ghost
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
npm ERR! code ELIFECYCLE
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/****/Sites/ghost/npm-debug.log
npm ERR! not ok code 0

我在这一点上有点难过,并且无法找到关于在任何地方考虑配置的方式的明确解释。如果有人有任何想法,那就太棒了。

2 个答案:

答案 0 :(得分:2)

除非您以root用户身份运行程序,否则无法将程序绑定到端口80,出于安全原因,您不应该使用应用服务器执行此操作。

如果您绑定到0.0.0.0或您的实际IP地址,您将能够使用http://yourhost:2368/

访问博客

要在端口80上运行博客,请将ip和端口保持为127.0.0.1:2368并运行apache或nginx作为前端代理,这将以root身份运行,但放弃工作进程的权限。然后代理请求访问localhost上的node.js服务器。

另请注意,您的博客在http://yourhostname:2368/不可用的消息并不意味着它在那里真的可以访问,它只是在配置中配置的url(即哪个url将用于绝对链接,如rss )

答案 1 :(得分:0)

尝试将主机从127.0.0.1更改为myurl

production: {
    url: 'http://myurl',
    mail: {},
    database: {
        client: 'sqlite3',
        connection: {
            filename: path.join(__dirname, '/content/data/ghost.db')
        },
        debug: false
    },
    server: {
        // Host to be passed to node's `net.Server#listen()`
        // *** Change host value here ****
        host: 'myurl',
        // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
        port: '2368'
    }
},

在某些情况下,使用localhost代替127.0.0.1作为主机值也可以。

这是我的Ghost开发设置过程:http://seanvbaker.com/a-ghost-workflow/