HRR Co., Ltd.

技術的な記録を残していくことを目的としています。1次情報を大事にしています。

VirtualBox + CentOS 7 + nginxでブラウザからアクセス

はじめに

仮想環境へWebサーバーであるnginx(エンジンエックス)の導入、そしてブラウザからのアクセスまでを行います。

VirtualBoxCentOSの部分は過去記事をご参照ください。
hrroct.hatenablog.com

手順

とりあえずyum update

ちなみにyumとは。

Yellowdog Updater Modified
"LinuxRPM Package Managerのパッケージを管理するメタパッケージ管理システムである。"

Yellowdog Updater Modified - Wikipedia

今回は、何かを始める前に、各種アプリケーションをupdateしましょう、くらいの意味合いです。
基本的にrootユーザーで作業していきます。

yum update

nginx導入

nginxとは。

nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev.

nginx

Apacheを使っている方はまだ多いと思いますが、非同期のイベント駆動のアプローチをするnginxはApacheと比べて

高負荷下において、より予測可能なパフォーマンスを提供すると考えられている

nginx - Wikipedia
とのことです。

今回、nginxの安定版を使用しようと思います。
やり方は同じく公式サイトに書いてあります。
nginx: Linux packages

ただし、"OS"を"centos"に、"OSRELEASE"を"7"に書き換える必要があります。

vi /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

nginx用のリポジトリ設定ができたので、あとは(CentOS的に)普通にインストールします。

yum -y --enablerepo=nginx install nginx
nginx -v
# nginx version: nginx/1.14.0

バージョン情報が表示されれば、無事インストールできています。

nginx起動

起動と、ついでに自動起動の設定も行っておきます。

# 起動
sudo systemctl start nginx
# 自動起動設定
sudo systemctl enable nginx
# ステータス確認
sudo systemctl status nginx

statusは複数行表示されますが、3行目あたりに

   Active: active (running)

って緑色で表示されていればOKです。

この時点で、

curl localhost

をすれば、ドキュメントルートにあるindex.htmlファイルの中身が返ってくると思います。
ただし、まだブラウザを介してのアクセスはできません。
CentOSファイアウォールの設定と、ポートフォワーディングの設定が必要になります。

ファイアウォールの設定(httpの許可)

これはCentOS側の設定になります。

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload

http(ポート80)を許可してあげればOKです。

ポートフォワーディングの設定

仮想マシンはデフォルトでは閉じた世界になっているので、80番ポートを開けただけでは、外の世界からhttp://localhost/でのアクセスはできません。

そこで以前の記事にも書いたポートフォワーディングの設定を行います。
詳細は以前の記事を見ていただくとして…

hrroct.hatenablog.com

f:id:hrroct:20180715212131p:plain
今回は、httpを追加します。
ホストポートの"8080"は、空いていれば何でもいいです。
そして、CentOSを再起動します。

ホスト側からブラウザでアクセスしてみる

http://localhost:8080/
にアクセスすれば、nginxの初期ページが表示されるはずです。

f:id:hrroct:20180715213433p:plain

さいごに

ただアクセスできるようにしただけなので、これからまだnginxについては設定が必要になります。
長くなるので、それはまたの機会に…。

以上でした!