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

我正在尝试在本地笔记本电脑开发机器上设置Ghost博客框架。 我已经成功地执行了(基本安装说明)[http://docs.ghost.org/installation/mac/]。 我可以通过直接进入IP,即http://127.0.0.1:2368加载页面。 然而,我正努力通过一个url加载页面,即mysite.localmachine.net。 在config.js文件中,我设置了这样的东西:

 config = { // ### Development **(default)** development: { // The url to use when providing links to the site, Eg 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那样启动博客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,我读作为一个可能的解决scheme(在这里)[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 

在这一点上,我有点难以理解,一直没能find一个清晰的解释思路的方法。 如果有人有任何想法,这将是美好的。

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

如果绑定到0.0.0.0或实际的IP地址,则可以通过http://yourhost:2368/

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

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

尝试将您的主机从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/