DigitalOceanでNginxを使用してGhostをホストする方法
序章
2013年4月、ブログ作成の分野に参入したばかりの John O'Nolan は、 Ghost と呼ばれる新しい種類のブログのキックスターターを立ち上げました。これにより、書き込みと保守が大幅に簡素化されます。ブログ。 ここでは、GhostをDigitalOceanVPSでセットアップして実行するためのすべての手順を説明します。
前提条件
始める前に、まとめておくべきことがいくつかあります
- Ghostのコピーを入手する
- このチュートリアルでは、ローカルコンピューターにGhostのコピーが既にあることを前提としています。 現在、Kickstarterの支援者のみが利用できるため、ダウンロードできるサイトへのリンクが送信されているはずです。
- このチュートリアルでは、ローカルコンピューターにGhostのコピーが既にあることを前提としています。 現在、Kickstarterの支援者のみが利用できるため、ダウンロードできるサイトへのリンクが送信されているはずです。
- VPSを設定する
- このチュートリアルでは、VPSがすでに設定されていることを前提としています。 Ubuntu 12.04を使用しますが、何でも問題ありません。 この部分についてサポートが必要な場合は、このチュートリアルを使用して開始できます。
- このチュートリアルでは、VPSがすでに設定されていることを前提としています。 Ubuntu 12.04を使用しますが、何でも問題ありません。 この部分についてサポートが必要な場合は、このチュートリアルを使用して開始できます。
- ドメインをVPSに向ける
- このチュートリアルでは、VPSでドメインをすでに指定していることを前提としています。 このチュートリアルは、その方法がわからない場合に、その部分を支援するはずです。
ステップ1:npmをインストールする
始める前に、システムが最新であることを確認することを強くお勧めします。 次のコマンドを実行して、VPSにSSHで接続することから始めます。
ssh root@*your-server-ip*
ローカルマシンで、VPSで以下を実行します。
apt-get update apt-get upgrade
それが完了したら、npm
をインストールする必要があります。 次のコマンドを実行すると、Nodeのいくつかの依存関係がインストールされ、そのリポジトリがapt-get
に追加されてから、nodejs
がインストールされます。
apt-get install python-software-properties python g++ make add-apt-repository ppa:chris-lea/node.js apt-get update apt-get install nodejs
注:おそらくrootとしてログインしているため、sudo
でコマンドを実行する必要はありませんが、このチュートリアルから逸脱して別のユーザーとしてログインしている場合、おそらくsudo
が必要になることを忘れないでください。
これで、コマンドラインでnpm
を実行すると、ヘルプ情報が出力されます。 それでよければ、Ghostをインストールする準備ができています。
ステップ2:Ghostをインストールする
次に行うことは、Ghostのコピーをリモートサーバーに取得することです。 Ghostがベータ版である間、このステップは今のところのみ必要であることに注意してください。 一般に公開されると、npm
からインストールできるようになります(このチュートリアルは、それを反映するように更新される可能性があります)。
ファイルをVPSに直接ダウンロードするか、FTP経由で転送することができます。 SCPを使用してフォルダをホストからサーバーにコピーする方法を説明します。 次のコマンドは、ローカル端末で実行されます。
cd /path/to/unzipped/ghost/folder scp -r ghost-0.3 root@*your-server-ip*:~/
これにより、ghost-0.3
フォルダーのすべての内容がサーバー上のrootユーザーのホームフォルダーにコピーされます。
次に、リモートサーバーに戻り、アップロードしたGhostフォルダーに移動し、npm
を使用してGhostをインストールします。 コマンドは次のようになります。
cd ~/ghost-0.3 npm install --production
これが完了したら、以下を実行して、インストールが正しく機能したことを確認します。
npm start
出力は次のようになります。
> [email protected] start /root/ghost-0.3 > node index Ghost is running... Listening on 127.0.0.1:2368 Url configured as: http://my-ghost-blog.com
その場合は、おめでとうございます! Ghostがサーバー上で稼働しています。 Control-Cでプロセスを停止し、次の手順に進んで構成を完了します。
ステップ3:nginxをインストールして構成する
次のステップは、nginx
をインストールして構成することです。 Nginx(「engine-x」と発音)は、「無料のオープンソースの高性能HTTPサーバーおよびリバースプロキシ」です。 基本的に、ポート80の外部からの接続が、Ghostが実行されているポートに接続できるようになるため、他のユーザーがブログを見ることができます。
挿入は簡単です:
apt-get install nginx
構成はもう少し難しいだけです。 cd
でnginxの構成ファイルにアクセスし、デフォルトのファイルを削除することから始めます。
cd /etc/nginx/ rm sites-enabled/default
次に、新しい構成ファイルを作成します。
cd sites-available touch ghost
そして、次のコードを貼り付けて、独自の構成に適合するように変更します(変更する必要があるのはドメイン名だけです)。
server { listen 0.0.0.0:80; server_name *your-domain-name*; access_log /var/log/nginx/*your-domain-name*.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header HOST $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:2368; proxy_redirect off; } }
最後に、sites-available
のファイルからsites-enabled
へのシンボリックリンクを作成します。
cd .. ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost
これにより、ポート80で着信するトラフィックをリッスンし、指定したドメインに接続している場合は、Ghostにリクエストを渡します。
サーバーを再起動し(ステップ2の最後のコードを使用)、ドメインにアクセスします。 あなたがゴーストを見たら、あなたは行ってもいいです!
ステップ4:アップスタートを構成する
最後のステップは、Ghostを処理するUpstartタスクを作成し、何らかの理由でサーバーの電源がオフになった場合に、Ghostがキックバックされることを確認することです。 次の手順を実行して、新しいUpstart構成ファイルを作成することから始めます。
cd /etc/init nano ghost.conf
そして、次の構成で貼り付けます。
# ghost # description "An Upstart task to make sure that my Ghost server is always running" # author "Your Name Here" start on startup script cd /root/ghost npm start end script
これにより、サーバーが起動するたびにGhostが起動し、service ghost start
、service ghost stop
、およびservice ghost restart
を使用してGhostを簡単に制御できるようになります。