2019年8月9日金曜日

Raspberry PiでTomcat 9とPostgreSQLをぐりぐりする

Raspberry Pi Zero WでJava SE 8が使えるようになったところでApache TomcatやPostgreSQLを使いたいのです。アクセス負荷に耐えられるようmicroSDカードは大容量や高耐久のものにしてみたのでした。

Tomcatは9だった

tomcatはパッケージを入れても動くのですが、常時動いてほしいのでaptで取ってくるとどうなるのかというお試し。最新のTomcat 9はJDK 8でも動きます。

# apt-get install tomcat9
で、だいたい入ります。tomcat9-admin も入れてみるといいのでしょうか。
他のパッケージはtomcat9-docs, tomcat9-examples, tomcat9-users とあるようです。
/usr/share/tomcat9 がCATALINA_HOME、/var/lib/tomcat9 がCATALINA_BASE となり、tomcatグループとユーザも作られ、サーバもtomcat権限で動いています。アプリ系のアカウントは基本rootやsudoで作業すればいいのでパスワードを設定してはいけません。
CATALINA_HOMEは基本的に触れません。CATALINA_BASEのconf内をいろいろカスタマイズすることで、いろいろと動いてくれます。/etc/tomcat9 にリンクされています。
初期ポートは8080なので、conf/server.xml でport 80にしたり、複数仮想サーバを作ったりできます。
サービス開始/停止は
# service tomcat9 start
# service tomcat9 stop
でできるようです。どこに設定があるのかよくわからない。 RedHat系で/etc/rc.d/init.d/ にあるようなものは /etc/default/ にあるのかな。
Webはオートデプロイにして、webapps相当のグループをtomcatにして書き込みもできるようにしておくと、管理も楽かもしれませぬ。

PostgreSQLはもう11か

Raspberry Pi Zero WとWH、ふたつあるのでTomcatとは別の方にPostgreSQL入れます。
# apt-get install postgresql だったかもう忘れた。
 rootではpsqlコマンドが使えなくなっているのでpostgresユーザでpsqlコマンドをたたきます。
# su - postgres
$ psql --version
psql (PostgreSQL) 11.4 (Raspbian 11.4-1)
これはrootでもできます。
$ psql
postgres=# \l
 でデータベースの一覧がでてきます。qで終わり? 基本的にいろいろ省略するとユーザ名と同じpostgresというPostgreSQLのユーザで同名のデータベースに繋がっています。
psqlから抜けるのは
postgres=# \q
です。\hでヘルプが出るかもしれません。
外部からのアクセスを許可するには、
/var/lib/postgresql/11/main/ がデータの位置、/etc/postgresql/11/main/ が設定ファイルの位置、らしいです。pg_hba.confで特定IPアドレスからのアクセスを許可します。アカウントも作っておきましょう。postgresql.confの設定も変える必要があるかもしれません。
雑に終了。

公開の際にはIPv4でフィルタリングしていてもIPv6で丸見えになることが予想されるので注意しましょう。

0 件のコメント:

コメントを投稿

ASUS TUF X470 PLUS GAMING + Ryzen 5 2600X にメモリ増設

Ryzen 5 2600Xも快適ながら、早速DDR4メモリ、M.2 NVMeを入手したので増設してみることにしてみたのだけどちょっとエラーも多かったという話。 KLeVV CRAS C700 M.2 PCIe 3.0x4 NVMe1.3 480GB KLeVV DDR4-3...