さくらVPSにNginxとPHP7を入れる その2

公開: 2016-09-19 12:45

さぁ第2回目です。

前回はさくらVPSを借りてSSHで入るとこまでやりました。

⇒ さくらVPSにNginxとPHP7を入れる その1


先に言って置きたいのですが、これはこのシリーズを通して言いたい大事なことです。

それは...



ブログ書きながら作業するのって大変!!



あっきぃはシングルタスク感がすごいので難しい。

でも現代の若者はご飯食べながらツイートしたりしてるので、そういう能力に長けてるのかも。やってみそ。



あ、でも、ぶつぶつ喋りながらは結構できる(むしろ喋ることで何か整理してる?)ので、
だらだら喋った内容がいい感じの記事になる装置が欲しいです。



...



以上!!!!!!



ではさっそく始めましょう。

今日はNginxを入れてHello, worldを出してみようのコーナーです。


ちなみに初めてやります。Nginx。



Nginxとは?

ApacheよりすごいWebサーバー。色々速いらしい。

あっきぃはApache×PHPしか使ったことないので、今回初挑戦。

読み方はこの綴りで「エンジンエックス」というまぁまぁなキラキラネームの持ち主。


半分以上説明になってませんがこんな感じ。




2.1 さっそくNginxを入れてみよう!の前に環境チェック

まずはサーバーのOSのバージョンでも調べてみましょう。

さくらVPSはデフォルトでCentOSが入っているはずなので、

$ cat /etc/redhat-release

よいしょ

CentOS release 6.8 (Final)

出ました。

CentOSのバージョン6.8です。


あとカーネルの情報も見ておきましょう。よいしょ。

$ cat /proc/version
Linux version 2.6.32-642.4.2.el6.x86_64 (mockbuild@worker1.bsys.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) ) #1 SMP Tue Aug 23 19:58:13 UTC 2016

うん。だからなんだろう。




2.2 Nginxのパッケージを探す

とりあえずyumで入れられるらしいのでyumで入れましょう。

まずはパッケージを探します。


Nginxの公式サイトから合いそうなやつを探します。

⇒ http://nginx.org/packages/

さくらVPSにNginxとPHP7を入れる その2

CentOSなのでCentOSですね

⇒ http://nginx.org/packages/centos/

さくらVPSにNginxとPHP7を入れる その2

CentOSのバージョンが6.8なので6を

⇒ http://nginx.org/packages/centos/6/

さくらVPSにNginxとPHP7を入れる その2

カーネル情報にx86_64と書いてあったのでx86_64を

⇒ http://nginx.org/packages/centos/6/x86_64/

さくらVPSにNginxとPHP7を入れる その2

repodataは設定ファイル群っぽいのでRPMSを。

⇒ http://nginx.org/packages/centos/6/x86_64/RPMS/

(ちなみにRPMはRedHat Package Managerの略!RedHatはカーネル情報にも書いてあったネ。それの複数形でRPMSというわけだ!たぶん!)

さくらVPSにNginxとPHP7を入れる その2

なんかそれっぽくて最新バージョンの「nginx-1.8.1-1.el6.ngx.x86_64.rpm」を入れてみましょう。

カーネル情報に「el6」とも書いてあったしお寿司。

⇒ http://nginx.org/packages/centos/6/x86_64/RPMS/nginx-1.8.1-1.el6.ngx.x86_64.rpm




2.3 yumでNginxを入れてみよう!

まぁ正確にはyumでrpmを使ってるわけ(?)ですが。よいしょ。

$ sudo rpm -ivh http://nginx.org/packages/centos/6/x86_64/RPMS/nginx-1.8.1-1.el6.ngx.x86_64.rpm

すると...

http://nginx.org/packages/centos/6/x86_64/RPMS/nginx-1.8.1-1.el6.ngx.x86_64.rpm を取得中
警告: /var/tmp/rpm-tmp.FpDP8N: ヘッダ V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY
準備中... ########################################### [100%]
1:nginx ########################################### [100%]
----------------------------------------------------------------------

Thanks for using nginx!

Please find the official documentation for nginx here:
* http://nginx.org/en/docs/

Commercial subscriptions for nginx are available on:
* http://nginx.com/products/

----------------------------------------------------------------------

なんか警告が出ましたが入ったっぽい。


インストールしましょう。

$ sudo yum install nginx

すると...

読み込んだプラグイン:fastestmirror, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
epel/metalink | 5.6 kB 00:00
* base: ftp.iij.ad.jp
* epel: ftp.kddilabs.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
base | 3.7 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package nginx.x86_64 0:1.8.1-1.el6.ngx will be 更新...

的なのがどわーっで...

...依存性を解決しました

==================================================================================================================================================
パッケージ アーキテクチャ バージョン リポジトリー 容量
==================================================================================================================================================
更新:
nginx x86_64 1.10.1-1.el6 epel 462 k
依存性関連でのインストールをします。:
GeoIP x86_64 1.6.5-1.el6 epel 113 k
GeoIP-GeoLite-data noarch 2016.07-1.el6 epel 399 k
GeoIP-GeoLite-data-extra noarch 2016.07-1.el6 epel 25 M
gd x86_64 2.0.35-11.el6 base 142 k
geoipupdate x86_64 2.2.1-2.el6 epel 28 k
libXpm x86_64 3.5.10-2.el6 base 51 k
libxslt x86_64 1.1.26-2.el6_3.1 base 452 k
nginx-all-modules noarch 1.10.1-1.el6 epel 7.6 k
nginx-filesystem noarch 1.10.1-1.el6 epel 8.4 k
nginx-mod-http-geoip x86_64 1.10.1-1.el6 epel 13 k
nginx-mod-http-image-filter x86_64 1.10.1-1.el6 epel 16 k
nginx-mod-http-perl x86_64 1.10.1-1.el6 epel 26 k
nginx-mod-http-xslt-filter x86_64 1.10.1-1.el6 epel 16 k
nginx-mod-mail x86_64 1.10.1-1.el6 epel 43 k
nginx-mod-stream x86_64 1.10.1-1.el6 epel 36 k

トランザクションの要約
==================================================================================================================================================
インストール 15 パッケージ
アップグレード 1 パッケージ

総ダウンロード容量: 27 M
これでいいですか? [y/N]

てな感じ。当然YESの「y」でエンター。

またどわーって出て、なんか聞かれるので「y」でエンター。

...
インストールしています : nginx-mod-mail-1.10.1-1.el6.x86_64 9/17
インストールしています : nginx-mod-http-geoip-1.10.1-1.el6.x86_64 10/17
インストールしています : nginx-mod-stream-1.10.1-1.el6.x86_64 11/17
インストールしています : nginx-mod-http-perl-1.10.1-1.el6.x86_64 12/17
インストールしています : nginx-mod-http-image-filter-1.10.1-1.el6.x86_64 13/17
更新 : nginx-1.10.1-1.el6.x86_64 14/17
インストールしています : nginx-mod-http-xslt-filter-1.10.1-1.el6.x86_64 15/17
インストールしています : nginx-all-modules-1.10.1-1.el6.noarch 16/17
整理中 : nginx-1.8.1-1.el6.ngx.x86_64 17/17
Verifying : nginx-mod-http-xslt-filter-1.10.1-1.el6.x86_64 1/17
Verifying : GeoIP-GeoLite-data-extra-2016.07-1.el6.noarch 2/17
Verifying : nginx-all-modules-1.10.1-1.el6.noarch 3/17
Verifying : nginx-mod-mail-1.10.1-1.el6.x86_64 4/17
Verifying : nginx-filesystem-1.10.1-1.el6.noarch 5/17
Verifying : nginx-1.10.1-1.el6.x86_64 6/17
Verifying : nginx-mod-http-geoip-1.10.1-1.el6.x86_64 7/17
Verifying : nginx-mod-stream-1.10.1-1.el6.x86_64 8/17
Verifying : libXpm-3.5.10-2.el6.x86_64 9/17
Verifying : nginx-mod-http-perl-1.10.1-1.el6.x86_64 10/17
Verifying : nginx-mod-http-image-filter-1.10.1-1.el6.x86_64 11/17
Verifying : GeoIP-1.6.5-1.el6.x86_64 12/17
Verifying : geoipupdate-2.2.1-2.el6.x86_64 13/17
Verifying : libxslt-1.1.26-2.el6_3.1.x86_64 14/17
Verifying : GeoIP-GeoLite-data-2016.07-1.el6.noarch 15/17
Verifying : gd-2.0.35-11.el6.x86_64 16/17
Verifying : nginx-1.8.1-1.el6.ngx.x86_64 17/17

依存性関連をインストールしました:
GeoIP.x86_64 0:1.6.5-1.el6 GeoIP-GeoLite-data.noarch 0:2016.07-1.el6
GeoIP-GeoLite-data-extra.noarch 0:2016.07-1.el6 gd.x86_64 0:2.0.35-11.el6
geoipupdate.x86_64 0:2.2.1-2.el6 libXpm.x86_64 0:3.5.10-2.el6
libxslt.x86_64 0:1.1.26-2.el6_3.1 nginx-all-modules.noarch 0:1.10.1-1.el6
nginx-filesystem.noarch 0:1.10.1-1.el6 nginx-mod-http-geoip.x86_64 0:1.10.1-1.el6
nginx-mod-http-image-filter.x86_64 0:1.10.1-1.el6 nginx-mod-http-perl.x86_64 0:1.10.1-1.el6
nginx-mod-http-xslt-filter.x86_64 0:1.10.1-1.el6 nginx-mod-mail.x86_64 0:1.10.1-1.el6
nginx-mod-stream.x86_64 0:1.10.1-1.el6

更新:
nginx.x86_64 0:1.10.1-1.el6

完了しました!

またどわーって出て「完了しました!」って出たので多分完了したのでしょう。




2.4 Hello, worldを出そう!

とりあえず起動してみますか。そいや。

$ sudo service nginx start
Starting nginx: [ OK ]

わーいわーい!起動できたぞー!


まぁデフォルトでHTTPが動くと思うので、さくらVPSのIPにブラウザからアクセスしてみましょう。

すると...

さくらVPSにNginxとPHP7を入れる その2

Welcome to nginx on EPEL!


動いた!!簡単!!EPELってなんだ!!

(カーネル情報にel6と関係あり??)


デフォルトのページには、

This is the default index.html page that is distributed with nginx on EPEL. It is located in /usr/share/nginx/html.

You should now put your content in a location of your choice and edit the root configuration directive in the nginx configuration file /etc/nginx/nginx.conf.

と書いてありますな。


デフォルトのindex.htmlが/usr/share/nginx/htmlに入ってて、

Nginxの設定ファイルは、/etc/nginx/nginx.confだよ的なことを言ってます。


では設定ファイルを見てみましょう。

$ sudo vim /etc/nginx/nginx.conf

むむっ

特に内容がないよう。こんな↓記述はあった。

# for more information.
        include /etc/nginx/conf.d/*.conf;

これは、Apacheと同じで色々設定ファイルを読んでるみたい。


/etc/nginx/conf.d/に移動してみますか。

$ cd /etc/nginx/conf.d/
$ ls
default.conf ssl.conf virtual.conf

「default.conf」「ssl.conf 」「virtual.conf」の3つ。

名前からなんとなく分かるので、「default.conf」の中を見てみましょう。

#
# The default server
#

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        server_name _;
        root /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
                location = /40x.html {                        
        }

        error_page 500 502 503 504 /50x.html;
                location = /50x.html {
        }

}

ふんふん。これが設定の書き方かって感じ。

多分バーチャルホストであろう「virtual.conf」の方に自分のドメインを設定します。


今回はメモ程度のブログを作るということで、
メモブログ、略してmmblogってことで、mmblog.meってドメインを借りたのでこれに設定してます。

(ネームサーバーの設定は割愛。)

$ sudo vim /etc/nginx/conf.d/virtual.conf
server {
        server_name        mmblog.me;
        location / {
                root        /var/www/html;
                index        index.html;
        }
}

Apache気分で行けるようにrootを「/var/www/html」にしました。


ディレクトリとファイルを設置しましょう。

$ sudo mkdir -p /var/www/html
$ sudo chown aki:aki /var/www/html
$ cd /var/www/html
$ touch index.html

「index.html」を編集します。

$ vim index.html

「Hello, world!」と入力しましょう。

Hello, world!

保存したらば、

先ほど設定ファイルを編集したのでNginxを再起動させます。

$ sudo service nginx restart
Stopping nginx: [ OK ]
Starting nginx: [ OK ]

よしよし。

そしたらば設定したドメインにアクセスしてみましょう。(あっきぃの場合は「mmblog.me」)

さくらVPSにNginxとPHP7を入れる その2

できました!

簡単ですね。


次回はPHP7を入れてーので最終回です。

⇒ さくらVPSにNginxとPHP7を入れる その3



この記事をシェア
この記事にコメントする
書き込む
あっきぃ(@appstars_aki)
Web、iOSなフリーランサーです。好きなものはお寿司です。でもお寿司は高いので普段は雑草とか拾ったドングリを食べています。お仕事や意味もなく毎月お小遣いをくれる人を探してます。

お仕事の依頼や自分で作ったアプリのレビューを希望しちゃう方はaki@appstars.jpまでご連絡ください。