Help us understand the problem. What is going on with this article?

最速でGCE(Debian)上にNginx+Tomcat環境を構築する

More than 1 year has passed since last update.

手順

  1. Java をインストール
  2. Java の設定
  3. Tomcat8 をインストール
  4. Tomcat8 の設定を変更
  5. GCEファイヤーウォール設定
  6. Nginx をインストール
  7. Nginx の設定

Javaをインストール

sudo apt-get install default-jre 

Javaの設定

readlink $(readlink $(which java))
> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

Javaのパスが出てくるので、/bin/java の手前までを設定する。

echo "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre" >> /etc/profile
echo "export JAVA_HOME" >> /etc/profile

Tomcat8をインストール

sudo apt-get update
sudo apt-get install tomcat8

Tomcat8の設定を変更

server.xml を編集する。

sudo cp -a /etc/tomcat8/server.xml{,.old}
sudo vi /etc/tomcat8/server.xml

8080で検索して

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" />

と、「URIEncoding="UTF-8"」 を追加。

GCEファイアーウォールを設定

  1. Google Cloud Platform のサイドメニュー→VPCネットワーク→ファイアウォールルール
  2. 上側にある「ファイアウォールルールを作成」をクリック
  3. 内容をそれぞれ設定し、作成をクリック
    • 名前:firewall-8080(一例)
    • ターゲット:指定されたターゲットタグ
    • ターゲットタグ:firewall-8080
    • ソースIDの範囲:0.0.0.0/0
    • プロトコルとポート:tcp:8080
  4. VMインスタンスの画面で、公開するインスタンスの名前をクリック
  5. 上側にある「編集」をクリック
  6. 中段付近にある「ネットワークタグ」に「firewall-8080」を追加
  7. 保存をクリック

Tomcatの起動と、ポートが通っているか確認

起動は、

sudo /etc/init.d/tomcat8 start

ポート確認は、

wget http://localhost:8080

ここでステータスコード 200 が返ってきてればOK。

> HTTP request sent, awaiting response... 200 

Nginxのインストール

sudo apt-get install nginx

Nginxの設定

tomcat用のドキュメントルートを作成。

sudo mkdir -p /var/www/tomcat

/etc/nginx/sites-enabled ディレクトリに設定ファイルを追加する。

sudo vi /etc/nginx/sites-enabled/tomcat.conf

tomcat.conf の内容は、

server {
  listen 80;
  server_name XXX.XXX.XXX.XXX;

  root /var/www/tomcat;

  access_log /var/log/nginx/tomcat_access.log;
  error_log /var/log/nginx/tomcat_error.log;

  location / {
    proxy_pass http://127.0.0.1:8080/;
  }
}

「XXX.XXX.XXX.XXX」には、GCEのVMインスタンスの外部IPを書く。独自ドメインを取得していれば、ドメイン名を書く。

Nginxを起動。

sudo /etc/init.d/nginx start

サイトへ接続

GCEの外部IPをブラウザに入力(例:http://XXX.XXX.XXX.XXX)。80番ポートから繋がり、「It works !」の表示がされれば成功。

※GCEのVMインスタンス画面の外部IPをクリックした場合、HTTPSで繋げようとするため、SSLの設定が済んでいない場合は、ブラウザにIPアドレスを直打ちして、HTTPで接続しないと繋がらない。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away