こんにちは。じじグラマーのカン太です。
休日は全く能率が上がりませんが、週末プログラマーをしています。
前回までで、サーバ関連の設定と基本的なセキュリティ関連の設定が完了しました。
今回からいよいよrailsアプリの公開のための設定をしていきます。
前回の内容はこちらから
では早速はじめましょう。
Webサーバをインストール
まずはWebサーバをインストールします。今回は「Nginx」 を選択しました。Webサーバ と言えば、「Apache 」との印象があるかもしれませんが、railsとの相性は 「Nginx」 の方がいいような気がします。詳しいことはよくわかりませんが、前回公開したアプリが「Nginx」で、安定稼働しているのでこれでいきましょう。
yumコマンドでインストールします。 yumとはパッケージ管理ツールです。これを使えば簡単にインストールできる、らしいので利用していきます。
リポジトリの追加
リポジトリとは、よくわかりませんがソースの「保管場所」のようなものらしいです。yumリポジトリには、nginxがないそうですので、追加してあげる必要があります。
前回同様「Tera Term」で一般ユーザーでログインしたのち、「root」ユーザーに変更してインストールします。
$ su -
パスワードを入力後、「root」ユーザーに変わったことを確認してください。
次に「nginx.repo」
というファイル名で、 「/etc/yum.repos.d/」
配下にファイルを作成します。
# cd /etc/yum.repos.d
# touch nginx.repo
ファイルの中身を書き加えます。
# vi nginx.repo
特にこだわりがなければ、次のコードをコピペしましょう。
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
セーブしてエディターを閉じてください。
※ 「baseurl=http://nginx.org/packages/centos/7/$basearch/」の「7」の部分はインストールしたcentosのバージョンに合わせて変更してください(画面はcentos7 の場合の例です)
書き換えた内容が反映されているか確認します。
# yum info nginx
利用可能なパッケージ
名前 : nginx
アーキテクチャー : x86_64
エポック : 1
バージョン : 1.20.1
リリース : 2.el7
容量 : 586 k
リポジトリー : epel/x86_64
要約 : A high performance web server and reverse proxy server
URL : https://nginx.org
ライセンス : BSD
説明 : Nginx is a web server and a reverse proxy server for HTTP,
: SMTP, POP3 and IMAP protocols, with a strong focus on high
: concurrency, performance and low memory usage.
こんなメッセージが表示されていればOKです。
では、さくっとインストールしてみましょう。
# yum install nginx
「完了しました!」とメッセージが表示されれば完了です。
バージョンを確認しましょう。
# nginx -v
nginx version: nginx/1.20.1
こんな感じで表示されればOKです。
ブラウザで確認
早速インストールした「nginx」を起動します。
# systemctl start nginx
ブラウザで「http://コンピュータのホスト名/」あるいは「 http://コンピュータのIPアドレス/ 」を入力してアクセスしてみましょう。
ウェルカムページが表示されれば完了です。
ついでに、起動時に自動で 「nginx」 が起動するようにしておきましょう。
# systemctl enable nginx
Firewallの設定
上記のウェルカムページが表示されない場合、ファイアーウォールのポートが開いていない可能性があります。確認してみましょう。
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports: 8088/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
「services:」のところに、「http」がなければ追記してあげる必要があります。便利なコマンドがあるので使いましょう。
$ firewall-cmd --add-service=http --zone=public --permanent
$ firewall-cmd --reload
追記してリロードするコマンドです。
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client http ssh
ports: 8088/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
「services:」 欄に「http」が追記されましたでしょうか。
追記されたら、再度ブラウザでウェルカムページが表示されるか確認してみましょう。
まとめ
いかがでしたでしょうか。うまく表示されましたでしょうか。僕はいろんなところをミスして、一発でうまくいった試しがありません。その度にいろいろ調べていろいろ試してぐちゃぐちゃになって・・の繰り返しです。調べてるうちに自分の知識も増えていく、と信じて作業をしています。
次回から、いよいよrails側の設定をしていく予定です。
コメント