OpenJDK 9 の導入と probe3.2.0 の動作確認

JDK が Ver11 が最新になったようで、サーバーで OpenJDK 8 を使っているので、いずれ近いか遠いかわかりませんが、将来的にオラクルのサポート対象外になると思い、

OpenJDK9 のインストールと Tomcat9 + probe での動作をテストしてみました。

OpenJDK は、9.0.4
Tomcat は最新の 9.0.14
probe は最新の Version 3.2.0 (built at 2018-12-20T22:06:41Z)

を、VirtualBox の CentOS7 に導入したところ、
無事、ちゃんと動きました。


[root@localhost local]# java -version
openjdk version "9.0.4"
OpenJDK Runtime Environment (build 9.0.4+11)
OpenJDK 64-Bit Server VM (build 9.0.4+11, mixed mode)
[root@localhost local]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core) 

OpenJDK8 で ImageIO が原因未解決なエラーが多く、ImageMagick で代替したところ、脆弱性問題でよろしくないようで、PHP GD でのシェル利用による代替してましたが、

やはり、他に依存せず、JAVA で完結させるのがパフォーマンス上、管理上、ベストと思いますので、WEBアプリケーションでの動作チェックをしていくことにします。

OpenJDK9 は、まだ yum のパッケージがないので、下で教えて頂きました

https://weblabo.oscasierra.net/installing-openjdk9-on-centos7/

Linux Shell ディレクトリサイズスクリプト (du find)

Windows でディレクトリのサイズ合計を見せてくれるアプリがありますが、Linuxで同様のことがわかるシェルスクリプトを作ってます。
容量的に厳しくなってきたサーバーのファイル整理、無駄に溜まってる過去のログのチェックなどに使えると思います。

調べたいディレクトリをカレントにして、コマンドを実行。
shファイルのフルパスを指定する必要あるので、alias で設定しておけば便利と思います。

[ スクリプト ]

#!/bin/sh

#
# target directory file size summary list
#

tgt=`pwd`

echo ${tgt}
dirs=${tgt}/*

# loop current directory #
for filepath in ${dirs}; do
  # if filename belongs directory #
  if [ -d ${filepath} ]; then 
     
     # if excluded dir, do nothing. 
    if [ $# -eq 2 ] && [ $1 = "E" ] && [ $2 = ${filepath} ] ; then
      echo ${filepath}" ignored"
    else 
	  du -sh ${filepath}
    fi
    
    # if param count equals 1 and "C" #
    # print a file count # 
    if [ $# -eq 1 ]; then
      if [ $1 = "C" ]; then
        find ${filepath} | wc -l 
        echo "---------------------------------"
      fi
    fi
  fi 
done

[ 利用例 ]

引数なし

[root@???? opt]# /scriptdir/scriptname.sh
/opt
30M	/opt/firebird
190M	/opt/google
382M	/opt/openoffice4
700M	/opt/saw17
392M	/opt/sqlanywhere16

$1 : C
ファイル数も出力

[root@???? opt]# scriptdir/scriptname.sh C
/opt
30M	/opt/firebird
256
---------------------------------
190M	/opt/google
101
---------------------------------
382M	/opt/openoffice4
4275
---------------------------------
700M	/opt/saw17
1913
---------------------------------
392M	/opt/sqlanywhere16
2810
---------------------------------

$1 : E
$2 : 対象からはずすディレクトリ

[root@???? opt]# /scriptdir/scriptname.sh E /opt/google
/opt
30M	/opt/firebird
/opt/google ignored
382M	/opt/openoffice4
700M	/opt/saw17
392M	/opt/sqlanywhere16

バージョン取得コマンド まとめ


[root@??? ???]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov  5 2018 01:47:09


[root@??? ????]# java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

[root@??? ???]# php -v
PHP 7.1.25 (cli) (built: Dec  8 2018 13:52:58) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.1.25, Copyright (c) 1999-2018, by Zend Technologies

[root@??? ????]# python --version
Python 2.7.5

[root@??? ???]# perl -v | head -n 3

This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi
(with 38 registered patches, see perl -V for more detail)

[root@??? ???]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core) 

[root@???? ????]# mysql -uroot -p???????????_ --version
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql  Ver 8.0.13 for Linux on x86_64 (MySQL Community Server - GPL)

[root@???? ????]# postfix -v
postfix: name_mask: ipv4
postfix: inet_addr_local: configured 4 IPv4 addresses
postfix/postfix-script: error: unknown command: ''
postfix/postfix-script: fatal: usage: postfix start (or stop, reload, abort, flush, check, status, set-permissions, upgrade-configuration)

[root@??? ???]# vsftpd -v
vsftpd: version 3.0.2

[root@??? ???]# wget --version | head -n 1
GNU Wget 1.14 built on linux-gnu.

[root@??? ???]# curl --version
curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.36 zlib/1.2.7 libidn/1.28 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp 
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets 

[root@???? bin]# ./version.sh
/usr/local/tomcat9/bin/setenv.sh: 行 3: /root: ディレクトリです
Using CATALINA_BASE:   /usr/local/????
Using CATALINA_HOME:   /usr/local/????
Using CATALINA_TMPDIR: /usr/local/????/temp
Using JRE_HOME:        /
Using CLASSPATH:       /usr/local/tomcat9/bin/bootstrap.jar:/usr/local/tomcat9/bin/tomcat-juli.jar
Server version: Apache Tomcat/9.0.10
Server built:   Jun 20 2018 17:32:21 UTC
Server number:  9.0.10.0
OS Name:        Linux
OS Version:     3.10.0-957.1.3.el7.x86_64
Architecture:   amd64
JVM Version:    1.8.0_191-b12
JVM Vendor:     Oracle Corporation

root@??????:/?????# cat /etc/debian_version
7.11

Apache2.4 <=> Tomcat 連携

/etc/httpd/conf.d/ の中にインクルードする設定ファイルを作り、以下のような記述を入れます。
8009 はデフォルトのTomcatの server.xml に設定されたポート番号なので、変えた場合、変える必要あります。

<Location /tomcat_sitename>
  ProxyPass ajp://127.0.0.1:8009/tomcat_sitename
</Location>