我有一個node.js應用程序,其中一個視圖是ghost.js
博客,我通過遵循Ghost的wiki文章Using Ghost as an npm module進行了整合。當我部署node.js應用程序後,幽靈博客部分打破
目前,我的本地版本完美工作。
的錯誤:
當我訪問了部署網站,一切工作正常,只是當我到mysite.heroku.com/blog
,在這一點上,我得到了鬼頁面看起來像。
我注意到,該應用程序有兩個本地主機分支同時運行(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;
我已經添加了什麼是包含在我的'config.js'文件到上面的代碼。 – maudulus
是的,那麼你的配置文件中的所有URL都不起作用。您的應用程序在部署到任何地方時都不會處於「本地主機」。另外,您應該使用Heroku給您的端口(在環境變量PORT中)(它依次映射到端口80),而不是固定端口。最後,你不能使用SQLite - 它不適合生產中的Web應用程序。我建議你按照我提供的GitHub倉庫的鏈接查看他們的配置。 –
我不確定我遵循:配置文件的'localhost'部分在'development'和'testing'下,而'production'部分的代碼使用了url。 – maudulus