はじめてのサーバへのアプリの配置。
#ここまでの環境
さくらVPSにJava実行環境を構築するまでで作った環境を引き続き使っています。
- さくらVPS
- SentOS7
- Apache/2.4.6
#つまづいたところ
何か変更したら再起動が必要。という初歩的なことも知らず結構悩みました。
#warファイルの書き出し、配備
WARファイルを用意する。下図はEclipseでの書き出し。
公式のサンプルファイル。手頃なwarが用意できない場合はデータベースの動作確認はできないけれどとりあえずこれ置いて確認するのもいいかも。
###FTPでWARファイルをアップ
前回設定したGUI(Tomcat Web アプリケーションマネージャ)で配備するのが一番簡単だが、その後使えなくしたので手動で配備します。
後で移動するのでアップするところはどこでも。とりあえずWinCSPでFTPの権限を設定してあったWWW下のテストフォルダアップ。
###warファイルをwebapps下に移動させる
例:html下に一時的に置いたwarファイルをwebapps下に移動させる
# mv /var/www/html/test/sample.war /usr/local/apache-tomcat-8.5.34/webapps/
しばらくすると自動で展開されて、データベース使っていないプロジェクトならここまででブラウザからアクセスできるようになってます。
例:
https://VPSのIPアドレス/sample/
これ以降の手順はデータベース使っているプロジェクトの場合に必要。
#SQLファイルの書き出し、配備
###SQLファイルの書き出し。
下図は MySQL Workbench。
###SQLファイルの配備
視覚的にわかりやすいのでphpMyAdminを使って配備します。
https://VPSのIPアドレス/phpMyAdmin(URL変更推奨)/
データベースタブでデータベースを新規作成。照合順は開発環境のデータベースと同じに合わせます。
#サーバの設定を記述する
下記の2ファイルサーバの設定を記述します
- /usr/local/tomcat/conf/server.xml
- /usr/local/tomcat/conf/context.xml
Eclipse内で同名のファイルがあるのでそこから該当箇所をコピー・アンド・ペースト。データベース名と、パスワードを適宜変更します。
下図はEclipse内でのファイルの位置
GlobalNamingResourcesの中にResourceを記述
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource driverClassName="com.mysql.jdbc.Driver" initialSize="1" maxIdle="3" maxTotal="5" maxWaitMillis="5000" name="jdbc/【DB名】" password="【パスワード】" type="javax.sql.DataSource" url="jdbc:mysql://127.0.0.1:3306/【DB名】?useUnicode=true&characterEncoding=utf8" username="root" validationQuery="SELECT 1"/>
<ResourceLink name="jdbc/【DB名】"
global="jdbc/【DB名】"
type="javax.sql.DataSource" />
再起動して確認。