LoginSignup
5
4

More than 5 years have passed since last update.

Jetty v8 on CentOS7

Posted at

まえがき

Tomcatより軽量かつ高速なことで有名なJettyをCentOS7上でyumなしで構築するときのメモ
サービスの再起動とかも爆速で終わるので個人的には本当に好き。(Tomcatは下手すりゃ5分とかかかったりする)

前提

  • CentOS7.3を想定
  • OpenJDKではなく、OracleオリジナルのJDKを使用
  • Jettyはyum経由でインストールするのではなく、公式から落としたアーカイブから個別にインストールする

構築作業

下準備

jettyユーザを追加(ユーザ名は何でも良いがわかりやすく)

[root@localhost ]# useradd jetty
[root@localhost ]# passwd jetty

Javaインストール

下記URLからJDKのrpmをダウンロード
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
※agree押したりなどする必要があるのでwget/curlで持ってくるのが厳しい

落とした.rpmを対象サーバに持っていく
※私の場合は自PCに落として、対象サーバにsftpで持っていきました

[root@localhost ]# yum localinstall jdk-8u111-linux-x64.rpm
# rootとjettyの.bash_profileに export Java_HOME=/usr/Java/jdk1.8.0_111/jre/ を追記

Jettyインストール

jetty公式から落としてきて解凍 => オーナ/グループ変更
以下の例では、/optに配置しているが、どこでもお好みのパスでどうぞ。

[root@localhost ]# wget http://central.maven.org/maven2/org/eclipse/jetty/jetty-distribution/8.1.21.v20160908/jetty-distribution-8.1.21.v20160908.tar.gz
[root@localhost ]# tar xzvf jetty-distribution-8.1.21.v20160908.tar.gz
[root@localhost ]# mv jetty-distribution-8.1.21.v20160908 /opt/jetty
[root@localhost ]# cd /opt
[root@localhost /opt]# chown -R jetty:jetty jetty

systemdへサービスの登録

yumでは自動的にやってくれるこの辺も手動で作る/登録する必要あり

[root@localhost /opt]# vim /usr/lib/systemd/system/jetty.service
[Unit]
Description=Jetty Application Containar

[Service]
Type=simple
EnvironmentFile=-/opt/jetty/etc/jetty-env
PIDFile=/opt/jetty/jetty.pid
User=jetty
Group=jetty
ExecStart=/opt/jetty/bin/jetty.sh start
ExecReload=/opt/jetty/bin/jetty.sh restart
ExecStop=/optjetty/bin/jetty.sh stop

StandardOutput=null

[Install]
WantedBy=multi-user.target

[root@localhost /opt]# systemctl daemon-reload

firewalld用に新規サービスの登録(オプション)

検証目的などで、firewalldを使用しないならスキップしてOK

[root@localhost ]# vim /usr/lib/firewalld/services/jetty.xml

<service>
  <short>WWW (HTTP-jetty)</short>
  <description>HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.</description>
  <port protocol="tcp" port="8080"/>
</service>

[root@localhost ]# systemctl restart firewalld
[root@localhost ]# firewall-cmd --add-service=jetty --zone=public --permanent
success
[root@localhost ]# systemctl restart firewalld

動作確認

まずはJettyを起動させる。
また、OS起動時に自動的にサービスが立ち上がるようにもしておく。

[root@localhost ]# systemctl enable jetty
[root@localhost ]# systemctl start jetty
[root@localhost ]# systemctl status jetty
[root@localhost ]# ss -nat | grep 8080
LISTEN     0      100                      :::8080                    :::*

Webブラウザでhttp://[ip_addr]:8080にアクセスして、jettyのトップページが表示されたらOK

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4