ここでは、Java Web プロジェクトを基本的設定済みの Linux インスタンスにデプロイする方法を説明します。 この方法は、ECS を使った Web サイト構築の経験がないユーザー向けです。
設定の必要条件
この Java Web プロジェクトのデプロイには、例として次のプログラムを使います。
- OS: CentOS 7.4
- Tomcat: Tomcat 8.5.23
- JDK: JDK 1.8.0_141
準備
- CentOS 7.4 では、ファイアウォールがデフォルトで有効になっています。 ファイアウォールを無効にするか、または、公式ドキュメントを参照してファイアウォールに関するルールを追加して、80
、443、8080 のいずれかのポートを開放してインバウンドアクセスができるようにします。
- ファイアウォールを無効化します。
systemctl stop firewalld.service
- 起動時にファイアウォールが自動的に有効とならないように設定します。
systemctl disable firewalld.service
- ファイアウォールを無効化します。
- Tomcat を実行するためにユーザー www を追加します。
useradd www
- 8080 ポートを開放して HTTP アクセスができるようにするため、セキュリティグループルールを追加します。 詳細は、「セキュリティグループルールの追加」をご参照ください。
- Java Web プロジェクト用に root ディレクトリを作成します。
mkdir -p /data/wwwroot/default
- Tomcat テストページを作成します。
echo Tomcat test > /data/wwwroot/default/index.jsp chown -R www.www /data/wwwroot
ソースコードのダウンロード
wget https://mirrors.aliyun.com/apache/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz
ソースコードは常時アップグレードされています。 インストールパッケージは、 https://mirrors.aliyun.com/apache/tomcat/tomcat-8/ にあります。
wget http://mirrors.linuxeye.com/jdk/jdk-8u141-linux-x64.tar.gz
ソースコードは常時アップグレードされています。 インストールパッケージは、http://mirrors.linuxeye.com/jdk/ にあります。
JDK のインストール
JDK をインストールするには、次の手順を実行します。
- mkdir /usr/java を実行して、ディレクトリを作成します。
mkdir /usr/java
- 次のコマンドを実行し、jdk-8u141-linux-x64.tar.gz を /usr/java ディレクトリに展開し ます。
tar xzf jdk-8u141-linux-x64.tar.gz -C /usr/java
- 次の手順で、環境変数を設定します。
- vi /etc/profile を実行します:
vi /etc/profile
-
i
キーを押して、編集モードに入ります。 - /etc/profile ファイルに次の行を追加します。
#set java environment export JAVA_HOME=/usr/java/jdk1.8.0_141 export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib export PATH=$JAVA_HOME/bin:$PATH
Esc
キーを押し、「:wq
」と入力して、ファイルを保存して閉じます。
- vi /etc/profile を実行します:
source/etc/profile
を実行して、新しい環境変数を読み込みます。- JDK のバージョンを確認します。 JDK のバージョンが表示されたら、JDK のインストールは成功しています。
java -version
java -version java version "1.8.0_141" Java(TM) SE Runtime Environment (build 1.8.0_141-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
Tomcat のインストール
Tomecat をインストールするには、以下の手順を実行します。
- 次のコマンドを順番に実行して apache-tomcat-8.5.23.tar.gz を展開し、Tomcat ディレクトリの名前を変更してユーザーパーミッションを設定します。
tar xzf apache-tomcat-8.5.23.tar.gz mv apache-tomcat-8.5.23 /usr/local/tomcat/ chown -R www.www /usr/local/tomcat/
注 /usr/local/tomcat/ ディレクトリには、以下のディレクトリが作成されます。- bin ディレクトリは Tomcat のスクリプトファイルを保存するためのディレクトリです。 中には、Tomcat サービスの有効化や無効化を行うためのスクリプトもあります。
- conf ディレクトリは Tomcat サーバーのグローバル設定ファイルを保存します。中でも重 要なのは、server.xml と web.xml です。
- webpapps ディレクトリは Tomcat のメインの Web パブリッシング用ディレクトリで、デ フォルトでは Web アプリケーション用ファイルの保存場所となっています。
- logs ディレクトリはログファイルの保存場所です。
- 次の手順で server.xmlファイルを設定します。
- /usr/local/tomcat/conf/ ディレクトリに移動します:
cd /usr/local/tomcat/conf/
。 - server.xml ファイルの名前を変更します:
mv server.xml server.xml_bk`
。 - 新たに server.xml ファイルを作成します。
vi server.xml
を実行します。i
キーを押して、編集モードに入ります。- 次の内容を追加します。
<? xml version="1.0" encoding="UTF-8"? > <Server port="8006" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/> <Listener className="org.apache.catalina.core.AprLifecycleListener"/> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml"/> </GlobalNamingResources> <Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1000" minSpareThreads="20" acceptCount="1000" maxHttpHeaderSize="65536" debug="0" disableUploadTimeout="true" useBodyEncodingForURI="true" enableLookups="false" URIEncoding="UTF-8"/> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="/data/wwwroot/default" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true"/> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> </Engine> </Service> </Server>
- /usr/local/tomcat/conf/ ディレクトリに移動します:
- 次の手順で JVM メモリのパラメーターを設定します。
-
vi /usr/local/tomcat/bin/setenv.sh
を実行します i
キーを押して編集モードに入ります。- 次の内容を追加します。
JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8'
Esc
キーを押して「:wq
」と入力し、ファイルを保存して閉じます。
-
- 次の手順で、Tomcat の自動起動ファイルを設定します。
- 次のコマンドを実行してスクリプトをダウンロードします:
wget https://github.com/lj2007331/oneinstack/raw/master/init.d/Tomcat-init
- 次のコマンドを実行して Tomcat-init の名前を変更します:
mv Tomcat-init /etc/init.d/tomcat
- パーミッションを追加します:
chmod +x /etc/init.d/tomcat
- 起動 クリプト JAVA_HOME を設定します。
sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/java/jdk1.8.0_141@' /etc/init.d/tomcat
- 次のコマンドを実行してスクリプトをダウンロードします:
- 自動起動を設定します。
chkconfig --add tomcat chkconfig tomcat on
- Tomcat を起動します。
service tomcat start
- http://Public IP アドレス: 8080 でインスタンスにアクセスします。 次のページが表示されれば、Tomcat のインストールは成功です。