我正在尝试在我的本地笔记本电脑开发机器上设置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
我在这一点上有点难过,并且无法找到关于在任何地方考虑配置的方式的明确解释。如果有人有任何想法,那就太棒了。
答案 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/