Tôi có ứng dụng node.js trong đó một trong các chế độ xem là blog ghost.js
, mà tôi đã tích hợp bằng cách làm theo bài viết trên wiki Using Ghost as an npm module của Ghost.Sau khi tôi triển khai ứng dụng node.js, phần blog ghost vi phạm
Hiện tại, phiên bản cục bộ của tôi hoạt động hoàn hảo.
Các Lỗi:
Khi tôi truy cập trang web được triển khai, mọi thứ hoạt động ok, trừ khi tôi đến mysite.heroku.com/blog
, tại thời điểm đó tôi nhận được trang ma trông như .
Tôi đã nhận thấy rằng ứng dụng có hai chi nhánh cục bộ đang chạy đồng thời (localhost:3000
và localhost:2368/
). Tôi không chắc liệu điều đó có thể gây ra lỗi hay không. Tôi đã xem các nhật ký Heroku
của mình và chúng không cung cấp bất kỳ chi tiết nào khác ngoài yêu cầu GET
đã được gửi đến /blog
, trả lại trước tiên là 301
và sau đó là lỗi 404
.
Ngoài ra, nó có thể là hữu ích để biết rằng khi tôi nhấp vào liên kết Go to front page
nó gửi cho tôi để http://localhost:2368/
tập tin config.js của tôi trông giống như sau:
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;
Tôi đã thêm những gì được bao gồm trong tệp 'config.js' vào mã ở trên. – maudulus
Vâng, tất cả các URL trong tệp cấu hình của bạn sẽ không hoạt động. Ứng dụng của bạn, khi được triển khai ở mọi nơi, sẽ không bao giờ ở "localhost". Ngoài ra, bạn nên sử dụng cổng mà Heroku cung cấp cho bạn (trong môi trường biến PORT) (mà nó ánh xạ tới cổng 80 lần lượt), không phải là một cổng cố định. Cuối cùng, bạn không thể sử dụng SQLite - nó hầu như không phù hợp với một ứng dụng web trong sản xuất. Tôi khuyên bạn nên theo liên kết đến repo GitHub mà tôi đã cung cấp và kiểm tra cấu hình của chúng. –
Tôi không chắc chắn tôi làm theo: các phần 'localhost' của tập tin cấu hình nằm trong' development' và 'testing', trong khi phần' production' của mã sử dụng url. – maudulus