44
49

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Nginxのリーバスプロキシ化(Apacheと共存)

Last updated at Posted at 2018-06-06

#やりたいこと
Nginxでリーバスプロキシを動かして、Apacheに処理を任せる

①アクセス → ②Nginx → ③Apache → ④処理を返す

#リバースプロキシとは?
一言で言うと、サーバー側のプロキシ
使うメリットとして、
本来のサーバーを隠蔽できる
複数台のサーバーを使う事によって負荷分散ができる
以上の事がメリットとして上げられる。

###なぜNginxなのか

Apacheでもリバースプロキシの機能はありますが、単純なリクエストを大量に捌くのが得意というNginxの特徴をうまく活かせる点から、Nginxを採用する事例が多いようです。

今回はWebサーバにもNginxを使用しますが、複雑なアプリケーション処理はApacheで行い、NginxによるリバースプロキシがApacheにリクエストを転送するという構成が用いられることもあります。
引用URL

#Nginxのインストール
CentOs7にApacheがインストールされている事を前提に、Nginxをインストールします。

Nginxとポートが被るのでApacheを止めておく
systemctl stop httpd

###リポジトリの設定ファイルを記述
まずリポジトリの設定をするためにファイルを作成

ファイルを作る
# vi /etc/yum.repos.d/nginx.repo

ファイルの中に下記を記述

設定ファイル
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
サンプルコード
使用されているディストリビューションに応じて、 "OS"を "rhel"または "centos"に、 "6."または "7.x"では "OSRELEASE"を "6"または "7"に置き換えます。
文法
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/{OS}/{OSRELEASE}/$basearch/
gpgcheck=0
enabled=1

###Nginxのインストール

インストールコマンド
# yum install nginx

###Nginxの起動と停止

コマンド
#自動起動
 systemctl enable nginx

#起動
 systemctl start nginx

#停止
 systemctl stop nginx

###起動確認
http://localhost
にアクセスしてNginxの画面が出たらインストール完了
スクリーンショット 2018-06-06 11.48.25.png

#リバースプロキシの設定
###Apacheのポートを変更
Nginxとポートが被るので、Apacheのポート番号を80から8080へ変更

/etc/httpd/conf/httpd.conf
Listen 80#変更
Listen 8080

###Apache再起動

# systemctl restart httpd

###リーバスプロキシを設定
/etc/nginx/conf.d/reverse_proxy.confファイルを作成
ファイル名はなんでもよい、ただし拡張子はconfを付けてください

/etc/nginx/conf.d/reverse_proxy.conf
server {
  listen 80;               # ポート番号80番でアクセスされたら
  server_name localhost;   # http://localhost でアクセスされたら

  location / {
    proxy_pass http://127.0.0.1:8080; # どこにアクセスさせるか
    proxy_redirect                          off;
    proxy_set_header Host                   $host;
    proxy_set_header X-Real-IP              $remote_addr;
    proxy_set_header X-Forwarded-Host       $host;
    proxy_set_header X-Forwarded-Server     $host;
    proxy_set_header X-Forwarded-Proto      $scheme;
    proxy_set_header X-Forwarded-For        $proxy_add_x_forwarded_for;
  }
}

###サーバーのバージョンを隠す

/etc/nginx/nginx.conf
http {
  # ↓これを追加
  server_tokens off;
}

###Nginxの再起動
systemctl restart nginx

http://localhostにアクセスすると、Apacheの画面が表示されます。
これでリバースプロキシの設定が完了しました。


メモ

Nginxの設定ファイル場所
/etc/nginx/nginx.conf

#参考
Nginx公式
リバースプロキシ

44
49
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
49

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?