2015-07-01 10 views
5

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

cevap

2

Bu Hayalet benziyor config.js dosyası aracılığıyla yapılandırılmıştır (sağladığınız bağlantıya bakın) ve url: 'http://localhost:2368/blog' için yapılandırılmış olabilir. Bunu, gerçek URL’nize değiştirmeniz gerekecek gibi görünüyor.

Ayrıca yukarıdaki koduna benim `config.js` dosyasına dahil edeceğine ben ekledim bu https://github.com/cobyism/ghost-on-heroku

+0

bakın. – maudulus

+0

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

+0

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

İlgili konular