RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作 VPS

(VPSでつくる) NginxでHello World

投稿日:2021年5月4日 更新日:

連載第三回目です。
WebサーバーであるNginxをインストールして、オンライン上でアクセスしてみましょう。

今回の工程で、オンラインからWebサイトの閲覧が可能になります。

この記事は、VPSで作るPythonでのWebアプリ運用環境の連載記事です。
その他については上記ページをお読みください。

Nginxの選定理由

Apacheより処理速度が速く、複数アクセスに耐えやすいからです。
詳しくは、【入門】Nginx(エンジンエックス)とは?Apacheとの違いと初期設定をご覧ください。

1. Nginxのインストール準備

Nginx 公式サイトを参考に進めます。

まずは、VPSサーバーへログインします。

Nginxは公式でリポジトリを公開しているので、yumコマンドでインストールするための準備を行います。
まず、ファイル作成+エディタを開くコマンドを下記で行います。

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

viエディタが開いたら、下記の内容を入力します。

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

コピペするなら、コピーして、TeraTerm上で右クリックをしてください。
※先頭の数文字が欠ける場合がありますので注意してください。

viエディタを終了するために、Escキーを押して、:wq(書き込んで(w)終了する(q))コマンドを入力します。

最後に、nginxのリポジトリの情報が読めるか確認しておきましょう。

sudo yum info nginx

下記のような表示が出てくればOKです。

2. Nginxのインストール

リポジトリを前の手順で用意したので、下記コマンドでインストールしてみましょう。

sudo yum install nginx

yes/noを聞かれると思いますが、基本y(yes)でOKです。

インストールが終了すると、下記のように表示されます。

3. Nginxの起動

インストールができたので、Nginxを起動してみましょう。

sudo systemctl enable nginx # 自動起動設定をONにする
sudo systemctl start nginx # 起動する

起動できました・・・が、この状態だとまだWebサイトにアクセスできません。

※ちなみに、停止は下記のコマンドで可能です。

sudo systemctl stop nginx

4. さくらVPSコントロールパネルでの設定

さくらVPSはパケットフィルタと呼ばれる、開放ポートを制限する機能があります。
デフォルトで設定した場合は、SSH接続(TeraTermでのアクセス)のみ可能HTTP接続はできません。
そのため、下記のようにWeb(と後で使うFTP)のパケットフィルタの設定をしてください。

パケットフィルター — さくらの VPS マニュアル

5. Webサイトへアクセス

最後に、あなたのサイトへアクセスしてみましょう。

VPSコントロールパネルにアクセスして、下記のように各サーバーごとにIP(XXX.XXX.XXX.XXX)またはホストアドレスが記載されていますので、そちらをコピーしてください。

例として下記のようなURLになります。
http://tk2-211-15368.vs.sakura.ne.jp

アクセスしてみて、下記のように表示された場合はOKです!

おつかれさまでした。
以上でインストールは完了です。 設定ファイルや公開ディレクトリなどのパスは下記の通りです。

パス 説明
/etc/nginx/ Nginxの設定ファイルが色々と入っている
/etc/nginx/nginx.conf Nginx設定ファイル
/var/log/nginx/ ログ保存ディレクトリ
/usr/share/nginx/html/ WEBサイトの公開ディレクトリ

ディレクトリ内のファイル・ディレクトリを見る場合は、下記コマンドを使用します。

ls /etc/nginx

ファイル内を見る場合は、下記コマンドを使用します。

vi /etc/nginx/nginx.conf

おわりに

Nginxを使いWebサーバーを構築することができました。
方法さえ分かっていれば、非常に簡単だったと思います。

今後は、Pythonなど動的コンテンツが扱えるAPサーバーとしてNginx Unitを導入し、NginxやPythonの仮想環境であるvenvと接続していきます。そのためには、設定ファイルなどを直接編集する必要があるので、そこも詳しく説明します。

この記事は、VPSで作るPythonでのWebアプリ運用環境の連載記事です。
次は、4. Pythonのバージョンを2.7.5から3.6.8にするです。

-Web制作, VPS

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

機械学習の勉強から見えた「間違いだらけのAI認識」

「AI」という字面が新聞にもネットニュースにも数多く出てくるようになりました。 ただ、機械学習を勉強してて思ったんですが・・・・AIの定義が曖昧すぎる 内容が書いてある記事も殆ど無いし…。 AIが行っ …

特訓の追加について

練習に特訓を追加しました。 特訓の実装目的は、 1. 選手発掘の迅速化 2. 特定の選手の育成 です。 meisyoはステータスが絶対的ではないので、(なんとなく)良い選手を発掘することが重要です。 …

[Meisyo]ビッグデータから学ぶ試合の基礎設計2

名将と呼ばれた者達、めちゃくちゃソースコードが長い(この記事) ここでは、「どのパラメータが打率等にどれくらい関係するのか」を理解することで強いチームを作る指針を記載しておきます。 というわけで27- …

[Meisyo]試合一球分析用DBの追加

試合で一球ごとの分析用DBを追加しました。 なぜかというと、試合での投手vs打者における投球と打撃結果の因果関係が分からなかったからです。 もっとカンタンニシテ・・・ 例えば・・・ どのコースは打たれ …

[Meisyo]お試しトークルーム作成

Meisyoに、他監督にショートメッセージを送れる機能を付けようと思います。 メインは管理者への連絡手段の作成です。 個人間での交流もあればいいかなー程度の適当さで作っています。 必要機能: ・個人間 …