無料で使えるAlways FreeのDBで有名なOracle Cloud(オラクルクラウド)。
DBだけでなく、コンピュートインスタンス(VMインスタンス)にもAlways Freeで利用できるものがある。
無料で使えるのであればVMインスタンスをWEBサーバー化したい。
ではどうやってVMインスタンスにnginxを設定すればいいのか。
今回はOracle CloudのVMインスタンスにnginxを設定する方法を解説する。
Oracle CloudのVMインスタンスにnginxを設定する流れ
Oracle CloudのVMインスタンスにnginxを設定する流れは以下の通り。
nginxを設定する流れ
設定は以下Qiitaの記事を参考にした。
VMインスタンスにssh接続
VMインスタンスにssh接続する方法については別の記事にしてあるので、そちらを参考にしてほしい。
あわせて読みたい
nginxをインストール
nginxのインストールはssh接続したVMインスタンス上で以下コマンドを実行する。
sudo yum install nginx
コマンドを実行するとパッケージのダウンロードが始まり、途中でインストールするかどうか確認があるので y
を入力するとインストールが実行される。
そして以下のコマンドでnginxを起動することができる。
sudo service nginx start
しかし起動できてもまだWEBブラウザでアクセスすると接続エラーになるだろう。
Failed to start nginx.service: Unit not found.
nginxを起動しようとして Failed to start nginx.service: Unit not found.
のエラーが出る場合、インストールが失敗している。
自分の場合は途中の確認で y
を入力しわすれて、nginxのインストールを完了させずに起動コマンドを実行してエラーになった。
仮想クラウド・ネットワークの許可ポート変更
nginxを起動してもWEBブラウザでアクセスできない理由のひとつが、
「HTTP接続を行う80番ポートに通信許可を設定していない」
となる。
VMインスタンス上でWEBサーバーを起動しても、通信が許可されていなければ外部からアクセスすることができない。
なのでOracle Cloudにサインインしてアクセスの許可を設定する。
コンピュート > インスタンス から仮想クラウド・ネットワークのリンクをクリック。
左サイドメニューからセキュリティリストを選択。
セキュリティリストの中から編集したいリストを選ぶと、アクセスを許可するポートが表示される。
デフォルトのリストは22番ポートのssh接続を許可している。
HTTP接続の80番ポートを許可していなければ、「イングレスルールの追加」を押して追加画面を開く。
80番ポートを許可したイングレスルールを追加すれば設定完了となる。
VMのファイアウォール設定変更
最後にファイアウォール設定を変更する。
ssh接続しているターミナルの画面に戻って以下コマンドを実行。
ファイアウォールにもHTTP接続の80番ポートの通信許可を行う。
sudo firewall-cmd --zone=public --add-service=http --permanent
設定変更したらファイアウォールをリロードして設定完了。
sudo firewall-cmd --reload
これでVMインスタンスのパブリックIPにWEBブラウザでアクセスすると、WEBサーバーとしてのnginxの画面が表示される。
Oracle CloudのVMインスタンスにnginxを設定 まとめ
Oracle CloudのVMインスタンスにnginxを設定するには以下の操作が必要となる。
nginxを設定する流れ