kopuyor. Görünümlerden birinin Ghost's wiki article Using Ghost as an npm module'u izleyerek bütünleştirdiğim bir ghost.js
blogu olan bir node.js uygulamasına sahibim.node.js uygulamasını dağıttıktan sonra, hayalet bloğu bölümü
Şu anda yerel sürümüm kusursuz çalışıyor.
Hata: Ben dağıtılan web sitesini ziyaret ettiğinizde
, her şey bu noktada ben hayalet sayfa gibi bakıyor olsun, mysite.heroku.com/blog
geldiğimde haricinde Tamam çalışır.
Uygulamanın, eşzamanlı olarak çalışan iki yerel ana dalı olduğunu fark ettim (localhost:3000
ve localhost:2368/
). Hataya neden olabileceğinden emin değilim. Heroku
günlüklerimi kontrol ettim ve GET
isteğinin /blog
'a gönderilmesinden daha fazla ayrıntı vermediler, ilk olarak 301
ve 404
hatalarını döndürdüler.
Ayrıca, ben Go to front page
bağlantıyı tıkladığınızda o beni gönderdiğini bilmek yararlı olabilir http://localhost:2368/
Benim config.js dosyası aşağıdaki gibi görünür
:
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;
bakın. – maudulus
Evet, yapılandırma dosyanızdaki tüm URL'ler işe yaramayacak. Uygulamanız, herhangi bir yerde dağıtıldığında asla "localhost" da olmayacaktır. Ayrıca, Heroku'nun size verdiği portu (ortam değişkeni PORT'ta) (sabit bir port değil, port 80'e karşılık gelen) kullanmalısınız. Son olarak, SQLite'yi kullanamazsınız - bu, üretimde bir web uygulamasına pek uygun değildir. Sağladığım GitHub repo'yu takip etmenizi ve yapılandırmalarını kontrol etmenizi tavsiye ederim. –
Takip ettiğimden emin değilim: config dosyasının 'localhost' parçaları' development' ve 'testing' altındayken, kodun' production' parçası bir url kullanıyor. – maudulus