Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
21
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@day-1

Ghostで作ったブログをherokuに公開する

基本的な手順は以下の通りで良いのです。
http://www.howtoinstallghost.com/how-to-install-ghost-on-heroku/

ですがいくつかはまったポイントがありました。
まず、Procfileの作成の際。

web: node index.js --production

このように書くようにとありますが、これでherokuにpushすると、
heroku logs -t でログを見ると "Ghost is running in development..."と表示されてました。
試しにローカルのGhostのディレクトリで node index.js --production で起動してみると、やはりdevelopmentでした。

そこで次の通り修正しました。

web:  NODE_ENV=production node index.js

これでproductionで動かす事ができました。
ところがログを見ると今度は "Module pg not found" でまたしてもエラー。。
Ghostをnpm installするとnpmのライブラリは「node_modules」以下に格納されるのですが、その中に"pg"がないと。
pgはpostgresqlを利用するためのライブラリです。
ではインストール。

npm install pg --production

--productionオプションは、testファイルなどの開発用のコードをインストールしないためにつけておくと良いと思います。
Ghostのインストール時にもつけるオプションです。
すると今度は、"pg_config: command not found"で失敗。
CentOS環境なのでyumでインストールします。

yum install postgresql_devel

その後pgを再インストールして、herokuにpushすると、無事Ghostのトップ画面が表示されました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
21
Help us understand the problem. What are the problem?