2015-07-01 12 views
5

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ư Ghost 404 Error Page.

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:3000localhost: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; 

Trả lời

2

Nó trông giống như Ghost được định cấu hình thông qua tệp config.js (xem liên kết bạn đã cung cấp) và bạn có thể đã định cấu hình cho url: 'http://localhost:2368/blog'. Có vẻ như bạn cần phải thay đổi điều đó thành URL thực của mình.

Ngoài ra, hãy xem điều này https://github.com/cobyism/ghost-on-heroku

+0

Tôi đã thêm những gì được bao gồm trong tệp 'config.js' vào mã ở trên. – maudulus

+0

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. –

+0

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

Các vấn đề liên quan