2015-07-01 54 views
5

我有一個node.js應用程序,其中一個視圖是ghost.js博客,我通過遵循Ghost的wiki文章Using Ghost as an npm module進行了整合。當我部署node.js應用程序後,幽靈博客部分打破

目前,我的本地版本完美工作。

的錯誤:

當我訪問了部署網站,一切工作正常,只是當我到mysite.heroku.com/blog,在這一點上,我得到了鬼頁面看起來像Ghost 404 Error Page

我注意到,該應用程序有兩個本地主機分支同時運行(localhost:3000和​​)。我不確定這是否會導致錯誤。我已經檢出了我的Heroku日誌,並且他們沒有提供任何更多詳細信息,而GET請求已發送到/blog,首先返回301,然後返回404錯誤。

此外,它可能是有用的知道,當我點擊Go to front page鏈接發送我http://localhost:2368/

我config.js文件如下所示:

var path = require('path'), 
    config; 

config = { 
    // ### Production 
    // When running Ghost in the wild, use the production environment 
    // Configure your URL and mail settings here 
    production: { 
     url: 'http://example.com/blog', 
     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' 
     } 
    }, 

    // ### Development **(default)** 
    development: { 
     // The url to use when providing links to the site, E.g. in RSS and email. 
     // Change this to your Ghost blogs published URL. 
     url: 'http://localhost:2368/blog', 

     // Example mail config 
     // Visit http://support.ghost.org/mail for instructions 
     // ``` 
     // mail: { 
     //  transport: 'SMTP', 
     //  options: { 
     //   service: 'Mailgun', 
     //   auth: { 
     //    user: '', // mailgun username 
     //    pass: '' // mailgun password 
     //   } 
     //  } 
     // }, 
     // ``` 

     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' 
     }, 
     paths: { 
      contentPath: path.join(__dirname, '/content/') 
     } 
    }, 

    // **Developers only need to edit below here** 

    // ### Testing 
    // Used when developing Ghost to run tests and check the health of Ghost 
    // Uses a different port number 
    testing: { 
     url: 'http://127.0.0.1:2369', 
     database: { 
      client: 'sqlite3', 
      connection: { 
       filename: path.join(__dirname, '/content/data/ghost-test.db') 
      } 
     }, 
     server: { 
      host: '127.0.0.1', 
      port: '2369' 
     }, 
     logging: false 
    }, 

    // ### Testing MySQL 
    // Used by Travis - Automated testing run through GitHub 
    'testing-mysql': { 
     url: 'http://127.0.0.1:2369', 
     database: { 
      client: 'mysql', 
      connection: { 
       host  : '127.0.0.1', 
       user  : 'root', 
       password : '', 
       database : 'ghost_testing', 
       charset : 'utf8' 
      } 
     }, 
     server: { 
      host: '127.0.0.1', 
      port: '2369' 
     }, 
     logging: false 
    }, 

    // ### Testing pg 
    // Used by Travis - Automated testing run through GitHub 
    'testing-pg': { 
     url: 'http://127.0.0.1:2369', 
     database: { 
      client: 'pg', 
      connection: { 
       host  : '127.0.0.1', 
       user  : 'postgres', 
       password : '', 
       database : 'ghost_testing', 
       charset : 'utf8' 
      } 
     }, 
     server: { 
      host: '127.0.0.1', 
      port: '2369' 
     }, 
     logging: false 
    } 
}; 

// Export config 
module.exports = config; 

回答

2

它看起來像鬼通過config.js文件進行配置(請參閱您提供的鏈接),並且您可能已將其配置爲url: 'http://localhost:2368/blog'。看起來您需要將其更改爲您的實際網址。

而且,看到這個https://github.com/cobyism/ghost-on-heroku

+0

我已經添加了什麼是包含在我的'config.js'文件到上面的代碼。 – maudulus

+0

是的,那麼你的配置文件中的所有URL都不起作用。您的應用程序在部署到任何地方時都不會處於「本地主機」。另外,您應該使用Heroku給您的端口(在環境變量PORT中)(它依次映射到端口80),而不是固定端口。最後,你不能使用SQLite - 它不適合生產中的Web應用程序。我建議你按照我提供的GitHub倉庫的鏈接查看他們的配置。 –

+0

我不確定我遵循:配置文件的'localhost'部分在'development'和'testing'下,而'production'部分的代碼使用了url。 – maudulus

相關問題