気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

サーバー構築時(Appache+Tomcat)に知っておきたい設定ファイルやコマンド

1.Tomcatサーバー

設定ファイル server.xml

  • Tomcatサーバー動作を定義する設定ファイルです。
  • 配置パスは、/usr/local/tomcat/conf/以下や/opt/tomcat/conf以下に配置。
    $CATALINA_HOME\confディレクトリ配下に配置するのが一般的。

設定イメージ

<Engine ----->
  <Loggerタグの設定 ログX>
  <Host name="localhostA" >
    <Loggerタグの設定 ログY> <!-- ログXの設定は、ログYの設定で上書きされる -->
  </Host>
  <Host name="localhostB" >
  </Host>
</Engine>

2.Appacheサーバー

設定ファイル httpd.conf

  • Apache動作を定義する設定ファイルです。
  • 配置パスは、/etc/httpd/conf/。インストール時は、 /usr/local/apache2/conf/以下に配置されています。
  • /etc/httpd/conf.d/以下に拡張子が.confのファイルを配置すると、インクルードされます。 複数のアプリを配置する際などは、このconf.d/以下の設定ファイルを作成し、各アプリの設定を記載します。

設定ファイル内の3つのセクション

設定ファイル内の記載内容は以下のようなセクションがあります。

3つのセクション httpd.confの設定項目(ディレクティブ)は、その影響範囲によって主に下記の3つに分類されます。

Section1 GlobalEnvironment
Apache全体に影響を及ぼします
Section2 MainServerConfiguration
→ メインのサーバに影響を及ぼします。VirtualHost設定時のデフォルト値にもなります
Section3 VirtualHosts
→ 指定したドメイン/ホストに影響を与えます。MainServerConfigurationを上書きします
httpd.confについて調べたのでまとめたよ - ✘╹◡╹✘

httpd.confの設定例

Listen 80
ServerRoot "/etc/httpd"
DocumentRoot "/var/www/html/"

User  nobody
Group nobody
<IfModule prefork.c>
MaxClients       150
StartServers     5
MinSpareServers  5
MaxSpareServers 15
</IfModule>

<IfModule worker.c>
StartServers         2
MaxClients         150
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

MaxRequestsPerChild 0
ErrorLog logs/error_log

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

DocumentRoot以下がアプリの静的ファイルが置かれるディレクトリとなる。

config設定ファイルのシンタックス確認

http.confの文法チェックは以下のコマンドで行います。

$ /sbin/service httpd configtest
or
$ apachectl configtest
or
$ apache2ctl configtest

上記のコマンド実行時に、文法が正しいが正しい場合、「Syntax OK」と表示されます。

3. アプリサーバー構築時に確認する設定ファイル、コマンド

3.1 hosts

hostsファイルのパス:/etc/hosts

ファイル内容(例)

127.0.0.1  localhost
192.168.15.30 appweb.local

アプリにアクセスできない際、IPとドメインを指定する設定できていない場合があります。
その際は、hosts設定を見直します。

hostへのアクセス確認

% ping blog.hatena.ne.jp                                                                                                                   [14:59:20]
PING blog.hatena.ne.jp (52.68.15.58): 56 data bytes
64 bytes from 52.68.15.58: icmp_seq=0 ttl=234 time=53.195 ms
64 bytes from 52.68.15.58: icmp_seq=1 ttl=234 time=80.874 ms
64 bytes from 52.68.15.58: icmp_seq=2 ttl=234 time=94.243 ms
・
・
33 packets transmitted, 33 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 51.527/84.580/125.202/19.215 ms

33パケットを送信して、0%のパケットが喪失したことが上記で分かる。

3.2 httpアドレスへの接続確認

以下のコマンドでunix上から、URLへのアクセス可否を確認できる。

curl http://appweb.local:8080/

3.3 アプリのwar配備を確認

tomcatの場合、以下ディレクトリを参照して、warが配備されているかを確認

/usr/local/tomcat7/webapps

tomcat7の部分はバージョンが異なると変わる。

3.4 tomcat web アプリケーション マネージャー

以下URLにアクセスすることで、画面上でアプリのデプロイ状況を確認できます。
http://domain_name:8080/manager/html

ログインパスの確認場所

$CATALINA_HOME/conf/tomcat-users.xml

id,passwordの記載箇所は上記にあり。

3.5 ログの確認

デプロイができているがエラーが出ている場合は、アプリ内エラーを確認する。
出力先は、server.xmlの設定を確認。

server.xml

<Context path="/sampleAP" docBase="/home/sample/webapp">
  <Valve className="org.apache.catalina.valves.AccessLogValve" 
         directory="/var/log/web"
         prefix="access-"
         fileDateFormat="yyyy-MM-dd"
         suffix=".log"/>
</Context>

value内にディレクトリやファイル名の指定があります。