Ghost,Nginx,502和端口问题

时间:2014-05-09 20:36:54

标签: node.js nginx ghost-blog

尝试在节点0.10的数字海洋Droplet上安装Ghost 0.4.2时遇到了问题。我使用了Dokku Droplet(而不是他们的Ghost设置),因为我想安装具有不同域的多个节点应用程序。

我git克隆了稳定的Ghost版本,并按照他们给出的说明进行设置:

npm install -g grunt-cli
npm install
grunt init (and grunt prod if you want to run Ghost in production mode)
npm start

我已将config.js文件(生产部分)更改为

    url: 'http://mydomain.co',  
    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: '0.0.0.0',
        // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
        port: '2368'

当我使用端口2368时,它表示" Ghost正在运行... 您的博客现已在http://mydomain.co"

上提供

但是它在页面上给我一个nginx 502错误。

好的,当我将生产端口更改为80(一篇文章建议这样做)时,它会抛出此错误:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EADDRINUSE
    at errnoException (net.js:901:11)
    at Server._listen2 (net.js:1039:14)
    at listen (net.js:1061:10)
    at net.js:1143:9
    at dns.js:72:18
    at process._tickDomainCallback (node.js:459:13)
    at process._tickFromSpinner (node.js:390:15)
npm ERR! weird error 8
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

我猜这意味着端口已经在使用中。

如何设置正确的端口?

好的,所以这是另一部分,我不明白。许多网站提到尝试" sudo服务ghost重启"。我总是得到"幽灵:无法识别的服务"对此。这很奇怪,因为一切都已到位,他们给出的开发人员说明(见上图)很适合安装它。但我的系统并不知道它在那里。

此外,似乎没有任何/ var / www / ghost文件。不确定这意味着什么。

我已经被谷歌和谷歌搜索但似乎无法解决这个问题。任何提示或技巧都会非常受欢迎。

1 个答案:

答案 0 :(得分:1)

EADDRINUSE - 当其他应用使用此端口时会出现此错误。 将config中的端口返回到2368。

然后编辑您的配置文件

 nano /etc/nginx/sites-available/default

您需要添加上游和proxy_pass。

在文件顶部:

upstream ghost {
    server localhost:2368;
}

然后在服务器路径中:

location / { 
    proxy_pass http://ghost;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
}