JAVA用のアプリケーションサーバがほしくて、
さくらクラウドでCentOS7の環境構築した時の備忘録として、纏めておく。
まずは、パッケージのアップデート
# yum update
Apacheのインストールする手順
# yum -y install httpd # service httpd start ← Apacheのスタート # firewall-cmd --list-ports ← 現在利用可能なポートを確認します。 # firewall-cmd --add-service=http ← ウェブサーバーのサービス(ポート)を開きます。 # firewall-cmd --permanent --add-service=http ← ウェブサーバーのサービス(ポート)を再起動しても開くように設定します。 # chkconfig httpd on ← Apacheを「自動起動する」に設定
Oracle の JDK 8 をインストールする手順
# yum search openjdk # yum install java-1.8.0-openjdk # java -version
Apache Tomcat 8 を CentOS 7 にインストールする手順
# useradd -s /sbin/nologin tomcat ← ユーザーの追加 # cd ~ ← ルート直下に移動 # curl -O http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-8/v8.5.11/bin/apache-tomcat-8.5.11.tar.gz ← ここからインストール # tar -xzvf ~/apache-tomcat-8.5.11.tar.gz # mv ~/apache-tomcat-8.5.11 /opt # chown -R tomcat:tomcat /opt/apache-tomcat-8.5.11
サービスの作成と登録
CentOS 7 からはサービスを systemd が管理するようになりました。 ここでは Apache Tomcat 8 をサービスとして登録します。 まずは /etc/systemd/system/tomcat.service を新たに作成して、つぎのように記述して保存します。 これはサービスの定義ファイルです。
[Unit] Description=Apache Tomcat 8 After=network.target [Service] User=tomcat Group=tomcat Type=oneshot PIDFile=/opt/apache-tomcat-8.5.11/tomcat.pid RemainAfterExit=yes ExecStart=/opt/apache-tomcat-8.5.11/bin/startup.sh ExecStop=/opt/apache-tomcat-8.5.11/bin/shutdown.sh ExecReStart=/opt/apache-tomcat-8.5.11/bin/shutdown.sh;/opt/apache-tomcat-8.5.11/bin/startup.sh [Install] WantedBy=multi-user.target
続いてサービスに登録します。
# chmod 755 /etc/systemd/system/tomcat.service # systemctl enable tomcat # ln -s '/etc/systemd/system/tomcat.service' '/etc/systemd/system/multi-user.target.wants/tomcat.service'
Apache Tomcat 8 の起動と停止
# systemctl start tomcat # systemctl stop tomcat
Apache2.4とTomcat8を連携させる
Tomcatには、HTTPサーバーとしての機能も持っていますがHTTPリクエストはApacheが受け Tomcatで処理された結果をApacheが返すように設定します。
ApacheとTomcatの間は、mod_proxy_ajpモジュールによって受け渡しが行われます。
Apache側の設定(00-proxy.conf)
/etc/httpd/conf.modules.d/の「00-proxy.conf」でajpが設定されているか確認します。
「00-proxy.conf」ファイルに次の2行があるか確認します。
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
/etc/httpd/conf.d/ディレクトリへサーブレットへのリクエストがあった場合の設定をproxy-ajp.confとして作成します。 例えば、「http://ドメイン名/docs/」へリクエストがあった場合、Tomcat側の「docs」が呼び出されるよう次のように設定します。
<Location /docs/>
ProxyPass ajp://127.0.0.1:8009/docs/
</Location>
Tomcat側の確認と設定
次にTomcat側の設定を行います。
/opt/apache-tomcat-8.0.32/conf/server.xmlに次の設定があるか確認します。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Tomcatのデフォルトポート(ポート番号8080)が有効になっているので、次の設定を コメントアウトします。
<!-- <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> -->
再起動
# service httpd restart
以上でTomcatの設定は完了です。
[…] さくらクラウドのCentOS7でApacheとTomcatの環境構築した時のまとめ […]
メモリの設定がなかったので、こちらのサイトを参考にするとよいかも。
Tomcatのインストール方法
https://ti-tomo-knowledge.hatenablog.com/entry/2018/07/05/141158