👌

【GCP】GCE構築(CentOS7)~Nginx導入迄の流れをアウトプットします。(WEBサーバー)

2021/05/08に公開1

はじめに

GCPにてGCE(CentOS7)を構築するところからNginx導入迄の流れをアウトプットしたいと思います。
Nginxのページが表示されることがゴールになります。

構成図

GCE(CentOS7)のスペック

項目 設定
VM名 web01
シリーズ E2
マシンタイプ e2.small
OS CentOS7
vCPU 2
メモリ(GB) 2
ブートディスク 20GB

前提

  • GCPの無料試用版登録済み
  • 学習用にVMを立てることを前提にしている

作業の流れ

①GCE作成
②パッケージアップデート
③Nginxインストール・確認

作業手順

①GCE作成

1.GCPのポータル画面を開き、「Compute Engine」→「VMインスタンス」と選択する。

Google Cloud Platform

2.「VMインスタンス」→「インスタンスの作成」と選択する。

3.新規VMインスタンスの画面で以下のように設定する。

項目 設定
名前 web01
リージョン asia-northeast1(東京)
ゾーン asia-northeast1-a
シリーズ E2
マシンタイプ e2-small

4.ブートディスクの「変更」をクリックする。

5.以下のように入力し、「選択」をクリックする。

6.HTTPとHTTPSのトラフィックを許可し、「作成」をクリック。

※他の設定はデフォルトで問題なし

7.VMインスタンスの一覧にてVMが作成できていることを確認する。

]

②パッケージアップデート

1.対象インスタンスの「SSH」の部分をクリックする。

2.接続されるまで待つ。

3.接続されると以下の画面が表示される。

4.パッケージのアップデートを実施する。

コマンド
sudo yum -y update

→「Complete!」と表示されれば問題なし。

実行例)

実行例
[office365testac0402@web01 ~]$ sudo yum -y update
Loaded plugins: fastestmirror
Determining fastest mirrors
epel/x86_64/metalink                                                                        |  50 kB  00:00:00     
 * base: ftp.iij.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
base                                                                                        | 3.6 kB  00:00:00     
epel                                                                                        | 4.7 kB  00:00:00     
extras                                                                                      | 2.9 kB  00:00:00     
google-cloud-sdk                                                                            | 1.4 kB  00:00:00     
~~~~~
Updated:
  bind-export-libs.x86_64 32:9.11.4-26.P2.el7_9.5             device-mapper.x86_64 7:1.02.170-6.el7_9.5            
  device-mapper-libs.x86_64 7:1.02.170-6.el7_9.5              firewalld.noarch 0:0.6.3-13.el7_9                    
  firewalld-filesystem.noarch 0:0.6.3-13.el7_9                glibc.x86_64 0:2.17-324.el7_9                        
  glibc-common.x86_64 0:2.17-324.el7_9                        google-cloud-sdk.x86_64 0:339.0.0-1                  
  google-osconfig-agent.x86_64 1:20210429.3-g1.el7            kernel-tools.x86_64 0:3.10.0-1160.25.1.el7           
  kernel-tools-libs.x86_64 0:3.10.0-1160.25.1.el7             nss.x86_64 0:3.53.1-7.el7_9                          
  nss-sysinit.x86_64 0:3.53.1-7.el7_9                         nss-tools.x86_64 0:3.53.1-7.el7_9                    
  openldap.x86_64 0:2.4.44-23.el7_9                           python-firewall.noarch 0:0.6.3-13.el7_9              
  python-perf.x86_64 0:3.10.0-1160.25.1.el7                  

Complete!
[office365testac0402@web01 ~]$ 

③Nginxインストール・確認

②で作成したGCEにNginxをインストールする。

1.リポジトリ追加

  • nginx.repoファイルを作成する。
コマンド
sudo vi /etc/yum.repos.d/nginx.repo
  • nginx.repoに以下の内容を書きこむ。
書き込む内容
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
  • nginx.repoファイルが作成されていることを確認する。
コマンド
cat /etc/yum.repos.d/nginx.repo
実行例
[office365testac0402@web01 ~]$ cat /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
[office365testac0402@web01 ~]$ 

2.リポジトリ初期化&読み込み

  • リポジトリを初期化する。
コマンド
sudo yum clean all
実行例
[office365testac0402@web01 ~]$ sudo yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base epel extras google-cloud-sdk google-compute-engine
              : nginx updates
Cleaning up list of fastest mirrors
[office365testac0402@web01 ~]$  
  • リポジトリを読み込む。
コマンド
sudo yum repolist all
実行例
[office365testac0402@web01 ~]$ sudo yum repolist all
Loaded plugins: fastestmirror
Determining fastest mirrors
epel/x86_64/metalink                              | 7.4 kB     00:00     
 * base: ty1.mirror.newmediaexpress.com
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: ty1.mirror.newmediaexpress.com
 * updates: ty1.mirror.newmediaexpress.com
 ~~~~~~~~~~~~~
 centos-kernel/7/x86_64              CentOS LTS Kernels fo disabled
centos-kernel-experimental/7/x86_64 CentOS Experimental K disabled
centosplus/7/x86_64                 CentOS-7 - Plus       disabled
centosplus-source/7                 CentOS-7 - Plus Sourc disabled
cr/7/x86_64                         CentOS-7 - cr         disabled
epel/x86_64                         Extra Packages for En enabled: 13,590
epel-debuginfo/x86_64               Extra Packages for En disabled
epel-source/x86_64                  Extra Packages for En disabled
epel-testing/x86_64                 Extra Packages for En disabled
epel-testing-debuginfo/x86_64       Extra Packages for En disabled
epel-testing-source/x86_64          Extra Packages for En disabled
extras/7/x86_64                     CentOS-7 - Extras     enabled:    476
extras-source/7                     CentOS-7 - Extras Sou disabled
fasttrack/7/x86_64                  CentOS-7 - fasttrack  disabled
google-cloud-sdk                    Google Cloud SDK      enabled:  1,348
google-compute-engine               Google Compute Engine enabled:      9
nginx/x86_64                        nginx repo            enabled:    809
updates/7/x86_64                    CentOS-7 - Updates    enabled:  2,173
updates-source/7                    CentOS-7 - Updates So disabled
repolist: 28,477
[office365testac0402@web01 ~]$ 

3.Nginxインストール

  • Nginxをインストールする。
コマンド
sudo yum install nginx

「Complete!」が表示されていれば問題なし。

実行例
Installed:
  nginx.x86_64 1:1.19.10-1.el7.ngx                                       
Dependency Installed:
  make.x86_64 1:3.82-24.el7       openssl.x86_64 1:1.0.2k-21.el7_9      
Complete!
  • Nginxインストール確認を実施する。
コマンド
nginx -v
実行例
[office365testac0402@web01 ~]$ nginx -v
nginx version: nginx/1.19.10
[office365testac0402@web01 ~]$ 

4.Nginx起動

  • Nginxを起動する。
コマンド
sudo systemctl start nginx
実行例
[office365testac0402@web01 ~]$ sudo systemctl start nginx
[office365testac0402@web01 ~]$
  • Nginxを起動確認を実施する。
コマンド
systemctl status nginx

active (running)があれば問題なし。

実行例
[office365testac0402@web01 ~]$ systemctl status nginx
● nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendo
r preset: disabled)
   Active: active (running) since Sat 2021-05-08 08:12:22 UTC; 4s ago
     Docs: http://nginx.org/en/docs/
  Process: 1453 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=
exited, status=0/SUCCESS)
 Main PID: 1454 (nginx)
   CGroup: /system.slice/nginx.service
           ├─1454 nginx: master process /usr/sbin/nginx -c /etc/nginx/...
           └─1455 nginx: worker process
May 08 08:12:22 web01 systemd[1]: Starting nginx - high performance w....
May 08 08:12:22 web01 systemd[1]: Started nginx - high performance we....
Hint: Some lines were ellipsized, use -l to show in full.
[office365testac0402@web01 ~]$

5.Nginx自動起動設定

  • Nginxの自動起動設定を実施する。
コマンド
sudo systemctl enable nginx
実行例
[office365testac0402@web01 ~]$ sudo systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.se
rvice to /usr/lib/systemd/system/nginx.service.
[office365testac0402@web01 ~]$
  • Nginxの自動起動設定を確認する。
コマンド
systemctl is-enabled nginx

enabledがあれば問題なし。

実行例
[office365testac0402@web01 ~]$ systemctl is-enabled nginx
enabled
[office365testac0402@web01 ~]$ 

6.WEB画面表示確認

ブラウザに外部IPアドレス:80と入力し、以下の画面が表示されることを確認。

参考

GCPで作成したCentOS7のインスタンスにNginxをインストールする

Discussion

gar_sangar_san

社内でGCEを使った研修をやるはめになり、こちらのサイトを参考にさせて頂きました。大変助かりました。