首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Laptop Server上设置Ghost博客框架

如何在Laptop Server上设置Ghost博客框架
EN

Stack Overflow用户
提问于 2014-01-29 17:27:31
回答 2查看 1K关注 0票数 1

我正在尝试在我本地的笔记本电脑开发机器上设置Ghost blogging框架。我已经成功地遵循了(basic installation instructions)http://docs.ghost.org/installation/mac/ )。我可以通过直接转到IP,即http://127.0.0.1:2368来加载页面。然而,我正在努力让页面通过url加载,例如mysite.localmachine.net。在config.js文件中,我设置了如下内容:

代码语言:javascript
复制
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博客时,我得到了以下明显成功的加载消息:

代码语言:javascript
复制
> 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,则会收到一条site not available消息。我还尝试将端口设置为80,我将其读取为可能的解决方案(here)http://www.howtoinstallghost.com/how-to-install-ghost-on-a-mac-os-x-10-8-mountain-lion/,,但这会产生如下所示的错误:

代码语言:javascript
复制
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

在这一点上,我有点困惑,也找不到一个清晰的解释来解释任何地方思考配置的方式。如果有人有任何想法,那就太好了。

EN

回答 2

Stack Overflow用户

发布于 2014-02-02 02:06:29

您不能将程序绑定到端口80,除非您以root身份运行该程序,而且出于安全原因,您不应该在应用程序服务器上执行此操作。

如果您绑定到0.0.0.0或您的实际IP地址,您将能够通过http://yourhost:2368/访问博客

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

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

票数 2
EN

Stack Overflow用户

发布于 2014-01-29 20:01:41

尝试将主机从127.0.0.1更改为myurl

代码语言:javascript
复制
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/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21426900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档