Jetty をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
本家 [[http://www.eclipse.org/jetty/>+http://www.eclipse....
Java Servletコンテナ
Tomcatでもいいのだが、小さくて分かり易いのでこちらを利用...
手動で 9.4.xをインストールしてみた。
[[Jetty11]]
***Java [#gb0133bc]
[[http://www.eclipse.org/jetty/documentation/current/what...
#code(nonumber){{
[root@jetty ~]# cat /etc/redhat-release
Rocky Linux release 8.7 (Green Obsidian)
[root@jetty ~]# getenforce
Enforcing
[root@jetty ~]# java -version
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)
[root@jetty ~]#
}}
なので大丈夫. openjdk-develパッケージは不要でjava run-tim...
&color(magenta){alternatives};でパスを確認します
#code(nonumber){{
[root@jetty ~]# alternatives --list
libnssckbi.so.x86_64 auto /usr/lib64/pkcs11/p11-kit...
python auto /usr/libexec/no-python
ld auto /usr/bin/ld.bfd
cifs-idmap-plugin auto /usr/lib64/cifs-utils/cif...
java manual /usr/lib/jvm/java-1.8.0-o...
jre_openjdk auto /usr/lib/jvm/java-1.8.0-o...
jre_1.8.0 auto /usr/lib/jvm/java-1.8.0-o...
jre_1.8.0_openjdk auto /usr/lib/jvm/jre-1.8.0-op...
[root@jetty ~]#
}}
***導入 [#m7364211]
[[hhttps://www.eclipse.org/jetty/download.html>+https://w...
入手したファイル(&color(magenta){jetty-distribution-9.4.5...
#code(nonumber){{
[root@jetty ~]# mkdir /opt/jetty
[root@jetty ~]# cd /opt/jetty
[root@jetty jetty]# curl -O https://repo1.maven.org/maven...
[root@jetty jetty]# ls -lh
total 19M
-rw-r--r--. 1 root root 19M Feb 15 02:29 jetty-distributi...
[root@jetty jetty]#
}}
簡単な動作テストを行いたいのでその場で展開して demo-base...
#code(nonumber){{
[root@jetty jetty]# tar xf jetty-distribution-9.4.50.v202...
[root@jetty jetty]# ls -l
total 18588
drwxr-xr-x. 10 1000 1000 4096 Dec 2 07:18 jetty-dist...
-rw-r--r--. 1 root root 19029816 Feb 15 02:29 jetty-dist...
[root@jetty jetty]#
[root@jetty jetty]# cd jetty-distribution-9.4.50.v2022120...
[root@jetty demo-base]#
[root@jetty demo-base]# java -jar ../start.jar
}}
別ターミナルを開いてfirewallに穴をあけます
#code(nonumber){{
[root@jetty ~]# firewall-cmd --add-port=8080/tcp --zone=p...
[root@jetty ~]# firewall-cmd --reload
}}
こうしてブラウザを起動して、展開したサーバの8080を叩くと...
&ref(2023y02m15d_024809221.png,nolink);
確認したら、&color(red){Ctrl-C};で停止
&color(red){*};&size(10){javaとjettyの組み合わせで稼動で...
***jettyの稼動ユーザを作成 [#y553dbb1]
jettyをrootで稼動させず、特定のユーザで稼動させる。 &siz...
apache httpdの「apache」みたいなものと思えばいいかも.
#code(nonumber){{
[root@jetty ~]# useradd -r -s /bin/false -d /opt/jetty -M...
[root@jetty ~]# id jetty
uid=993(jetty) gid=990(jetty) groups=990(jetty)
[root@jetty ~]#
}}
/opt/jettyの所有権をjettyに渡す
#code(nonumber){{
[root@jetty ~]# chown -R jetty. /opt/jetty
}}
***起動スクリプト [#qac90dc9]
jettyには起動スクリプトは「&color(magenta){/opt/jetty/jet...
この「jetty.service」の中身を見ると
#code(nonumber){{
[root@jetty ~]# cat /opt/jetty/jetty-distribution-9.4.50....
[Unit]
Description=Jetty Web Application Server
After=syslog.target network.target remote-fs.target nss-l...
[Service]
Type=forking
PIDFile=/run/jetty/jetty.pid <-- オリジナル「/...
ExecStart=/etc/init.d/jetty start
ExecStop=/etc/init.d/jetty stop
ExecReload=/etc/init.d/jetty restart
User=jetty
Group=jetty
[Install]
WantedBy=multi-user.target
[root@jetty ~]#
}}
とsystemctl向けに調整されている. 「jetty.sh」はこの「jett...
なので、「jetty.service」は/etc/systemd/systemに供えて、...
#code(nonumber){{
[root@jetty ~]# cp /opt/jetty/jetty-distribution-9.4.50.v...
[root@jetty ~]# cp /opt/jetty/jetty-distribution-9.4.50.v...
}}
jetty.serviceを登録して、計算機が起動したときに自動起動さ...
#code(nonumber){{
[root@jetty ~]# systemctl daemon-reload
[root@jetty ~]# systemctl enable jetty.service
}}
&size(10){「/etc/systemd/system/jetty.service」を修正して...
***設定ファイル [#zf44bead]
jettyの稼動に必要な設定を行う。
「&color(orangered){/etc/init.d/jetty};」の中身を読むと稼...
まず、設定ファイルの場所は「/etc/default/$NAME」「$HOME/....
$NAMEは「/etc/init.d/jetty」のbasename. つまりはportの重...
ここでは「/etc/default/jetty」を設定ファイルとします
このファイルに必要な項目はJAVA、JAVA_OPTIONS、JETTY_HOME...
ここではまず下記のようにした。
#code(nonumber){{
[root@jetty ~]# vi /etc/default/jetty
JETTY_HOME=/opt/jetty/jetty-distribution-9.4.50.v20221201
JETTY_USER=jetty
JETTY_ARGS=jetty.http.port=8080
JETTY_RUN=/run/jetty
JETTY_SHELL=/bin/bash
JETTY_BASE=/opt/jetty/jetty-distribution-9.4.50.v20221201...
[root@jetty ~]#
}}
/run/jettyにpidファイルを置くのでフォルダを削除されないよ...
#code(nonumber){{
[root@jetty ~]# echo "d /run/jetty 755 jetty jetty" > /e...
[root@jetty ~]# /usr/bin/systemd-tmpfiles --create /etc/t...
}}
&color(red){*};運用の際には「/opt/jetty/jetty-distributio...
***起動 [#i14186f9]
単純に
#code(nonumber){{
[root@jetty ~]# systemctl start jetty
}}
でOK.
停止は
#code(nonumber){{
[root@jetty ~]# systemctl stop jetty
}}
とする。
定義が間違っていると、stopを実施したのにjettyプロセスが残...
その際はプロセス番号を見つけて 「kill -9 <pid>」して下さい
***Gitbucket [#n24d0826]
[[GitBucket]]を載せてみた.
GitBucketのファイルを入手して、「/opt/jetty/jetty-distrib...
#code(nonumber){{
[root@jetty ~]# cd /opt/jetty/jetty-distribution-9.4.50.v...
[root@jetty webapps]# wget https://github.com/gitbucket/g...
[root@git webapps]# chown jetty:jetty gitbucket.war
}}
&color(white,blue){留意}; GitBucketは自身の設定ファイルを...
ここの場合ではjettyユーザの「/opt/jetty」の配下に置かれる.
それをコントロールするには「&color(red){/opt/jetty/.bashr...
#code(nonumber){{
[root@jetty ~]# cp /etc/skel/.bash_profile /opt/jetty/
[root@jetty ~]# cp /etc/skel/.bashrc /opt/jetty/
[root@jetty ~]# echo "export GITBUCKET_HOME=/opt/jetty/gi...
[root@jetty ~]# mkdir /opt/jetty/gitbucket && chown jetty...
}}
&color(red){*};&size(10){当初、「&color(crimson){/etc/def...
「&color(crimson){/etc/default/jetty};」を下記のようにし...
#code(nonumber){{
[root@jetty ~]# vi /etc/default/jetty
JETTY_HOME=/opt/jetty/jetty-distribution-9.4.50.v20221201
JETTY_USER=jetty
JETTY_ARGS=jetty.http.port=8080
JETTY_RUN=/run/jetty
JETTY_SHELL=/bin/bash
JETTY_BASE=/opt/jetty/jetty-distribution-9.4.50.v20221201
[root@jetty ~]#
}}
jettyを起動させます.
目的のwarファイルが「/opt/jetty/jetty-distribution-9.4.50...
「JETTY_BASE」は「/opt/jetty/jetty-distribution-9.4.50.v2...
#code(nonumber){{
[root@jetty ~]# systemctl start jetty
}}
「http://jetty:8080」を開くと下記のようになって
&ref(2023y02m15d_040355957.png,nolink,80%);
その中の「/gitbucket」リンクを押下すると下記になります
&red(2023y02m15d_040608527.png,nolink,80%);
***展開場所とurl [#ae0c10e7]
いまだとアクセス先で/gitbuketと掘る必要がある. そのサイト...
参照: [[http://www.eclipse.org/jetty/documentation/9.3.x/...
その場合は「gitbucket.xml」ファイルをwebappsに追加します
#code(nonumber){{
[root@jetty ~]# vi /opt/jetty/curt/webapps/gitbucket.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "htt...
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/</Set>
<Set name="war">/opt/jetty/jetty-distribution-9.4.50.v2...
</Configure>
[root@jetty ~]#
[root@jetty ~]# systemctl restart jetty
}}
これでサイト名に直下で表示されます
&ref(2023y02m15d_041032900.png,nolink);
終了行:
本家 [[http://www.eclipse.org/jetty/>+http://www.eclipse....
Java Servletコンテナ
Tomcatでもいいのだが、小さくて分かり易いのでこちらを利用...
手動で 9.4.xをインストールしてみた。
[[Jetty11]]
***Java [#gb0133bc]
[[http://www.eclipse.org/jetty/documentation/current/what...
#code(nonumber){{
[root@jetty ~]# cat /etc/redhat-release
Rocky Linux release 8.7 (Green Obsidian)
[root@jetty ~]# getenforce
Enforcing
[root@jetty ~]# java -version
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)
[root@jetty ~]#
}}
なので大丈夫. openjdk-develパッケージは不要でjava run-tim...
&color(magenta){alternatives};でパスを確認します
#code(nonumber){{
[root@jetty ~]# alternatives --list
libnssckbi.so.x86_64 auto /usr/lib64/pkcs11/p11-kit...
python auto /usr/libexec/no-python
ld auto /usr/bin/ld.bfd
cifs-idmap-plugin auto /usr/lib64/cifs-utils/cif...
java manual /usr/lib/jvm/java-1.8.0-o...
jre_openjdk auto /usr/lib/jvm/java-1.8.0-o...
jre_1.8.0 auto /usr/lib/jvm/java-1.8.0-o...
jre_1.8.0_openjdk auto /usr/lib/jvm/jre-1.8.0-op...
[root@jetty ~]#
}}
***導入 [#m7364211]
[[hhttps://www.eclipse.org/jetty/download.html>+https://w...
入手したファイル(&color(magenta){jetty-distribution-9.4.5...
#code(nonumber){{
[root@jetty ~]# mkdir /opt/jetty
[root@jetty ~]# cd /opt/jetty
[root@jetty jetty]# curl -O https://repo1.maven.org/maven...
[root@jetty jetty]# ls -lh
total 19M
-rw-r--r--. 1 root root 19M Feb 15 02:29 jetty-distributi...
[root@jetty jetty]#
}}
簡単な動作テストを行いたいのでその場で展開して demo-base...
#code(nonumber){{
[root@jetty jetty]# tar xf jetty-distribution-9.4.50.v202...
[root@jetty jetty]# ls -l
total 18588
drwxr-xr-x. 10 1000 1000 4096 Dec 2 07:18 jetty-dist...
-rw-r--r--. 1 root root 19029816 Feb 15 02:29 jetty-dist...
[root@jetty jetty]#
[root@jetty jetty]# cd jetty-distribution-9.4.50.v2022120...
[root@jetty demo-base]#
[root@jetty demo-base]# java -jar ../start.jar
}}
別ターミナルを開いてfirewallに穴をあけます
#code(nonumber){{
[root@jetty ~]# firewall-cmd --add-port=8080/tcp --zone=p...
[root@jetty ~]# firewall-cmd --reload
}}
こうしてブラウザを起動して、展開したサーバの8080を叩くと...
&ref(2023y02m15d_024809221.png,nolink);
確認したら、&color(red){Ctrl-C};で停止
&color(red){*};&size(10){javaとjettyの組み合わせで稼動で...
***jettyの稼動ユーザを作成 [#y553dbb1]
jettyをrootで稼動させず、特定のユーザで稼動させる。 &siz...
apache httpdの「apache」みたいなものと思えばいいかも.
#code(nonumber){{
[root@jetty ~]# useradd -r -s /bin/false -d /opt/jetty -M...
[root@jetty ~]# id jetty
uid=993(jetty) gid=990(jetty) groups=990(jetty)
[root@jetty ~]#
}}
/opt/jettyの所有権をjettyに渡す
#code(nonumber){{
[root@jetty ~]# chown -R jetty. /opt/jetty
}}
***起動スクリプト [#qac90dc9]
jettyには起動スクリプトは「&color(magenta){/opt/jetty/jet...
この「jetty.service」の中身を見ると
#code(nonumber){{
[root@jetty ~]# cat /opt/jetty/jetty-distribution-9.4.50....
[Unit]
Description=Jetty Web Application Server
After=syslog.target network.target remote-fs.target nss-l...
[Service]
Type=forking
PIDFile=/run/jetty/jetty.pid <-- オリジナル「/...
ExecStart=/etc/init.d/jetty start
ExecStop=/etc/init.d/jetty stop
ExecReload=/etc/init.d/jetty restart
User=jetty
Group=jetty
[Install]
WantedBy=multi-user.target
[root@jetty ~]#
}}
とsystemctl向けに調整されている. 「jetty.sh」はこの「jett...
なので、「jetty.service」は/etc/systemd/systemに供えて、...
#code(nonumber){{
[root@jetty ~]# cp /opt/jetty/jetty-distribution-9.4.50.v...
[root@jetty ~]# cp /opt/jetty/jetty-distribution-9.4.50.v...
}}
jetty.serviceを登録して、計算機が起動したときに自動起動さ...
#code(nonumber){{
[root@jetty ~]# systemctl daemon-reload
[root@jetty ~]# systemctl enable jetty.service
}}
&size(10){「/etc/systemd/system/jetty.service」を修正して...
***設定ファイル [#zf44bead]
jettyの稼動に必要な設定を行う。
「&color(orangered){/etc/init.d/jetty};」の中身を読むと稼...
まず、設定ファイルの場所は「/etc/default/$NAME」「$HOME/....
$NAMEは「/etc/init.d/jetty」のbasename. つまりはportの重...
ここでは「/etc/default/jetty」を設定ファイルとします
このファイルに必要な項目はJAVA、JAVA_OPTIONS、JETTY_HOME...
ここではまず下記のようにした。
#code(nonumber){{
[root@jetty ~]# vi /etc/default/jetty
JETTY_HOME=/opt/jetty/jetty-distribution-9.4.50.v20221201
JETTY_USER=jetty
JETTY_ARGS=jetty.http.port=8080
JETTY_RUN=/run/jetty
JETTY_SHELL=/bin/bash
JETTY_BASE=/opt/jetty/jetty-distribution-9.4.50.v20221201...
[root@jetty ~]#
}}
/run/jettyにpidファイルを置くのでフォルダを削除されないよ...
#code(nonumber){{
[root@jetty ~]# echo "d /run/jetty 755 jetty jetty" > /e...
[root@jetty ~]# /usr/bin/systemd-tmpfiles --create /etc/t...
}}
&color(red){*};運用の際には「/opt/jetty/jetty-distributio...
***起動 [#i14186f9]
単純に
#code(nonumber){{
[root@jetty ~]# systemctl start jetty
}}
でOK.
停止は
#code(nonumber){{
[root@jetty ~]# systemctl stop jetty
}}
とする。
定義が間違っていると、stopを実施したのにjettyプロセスが残...
その際はプロセス番号を見つけて 「kill -9 <pid>」して下さい
***Gitbucket [#n24d0826]
[[GitBucket]]を載せてみた.
GitBucketのファイルを入手して、「/opt/jetty/jetty-distrib...
#code(nonumber){{
[root@jetty ~]# cd /opt/jetty/jetty-distribution-9.4.50.v...
[root@jetty webapps]# wget https://github.com/gitbucket/g...
[root@git webapps]# chown jetty:jetty gitbucket.war
}}
&color(white,blue){留意}; GitBucketは自身の設定ファイルを...
ここの場合ではjettyユーザの「/opt/jetty」の配下に置かれる.
それをコントロールするには「&color(red){/opt/jetty/.bashr...
#code(nonumber){{
[root@jetty ~]# cp /etc/skel/.bash_profile /opt/jetty/
[root@jetty ~]# cp /etc/skel/.bashrc /opt/jetty/
[root@jetty ~]# echo "export GITBUCKET_HOME=/opt/jetty/gi...
[root@jetty ~]# mkdir /opt/jetty/gitbucket && chown jetty...
}}
&color(red){*};&size(10){当初、「&color(crimson){/etc/def...
「&color(crimson){/etc/default/jetty};」を下記のようにし...
#code(nonumber){{
[root@jetty ~]# vi /etc/default/jetty
JETTY_HOME=/opt/jetty/jetty-distribution-9.4.50.v20221201
JETTY_USER=jetty
JETTY_ARGS=jetty.http.port=8080
JETTY_RUN=/run/jetty
JETTY_SHELL=/bin/bash
JETTY_BASE=/opt/jetty/jetty-distribution-9.4.50.v20221201
[root@jetty ~]#
}}
jettyを起動させます.
目的のwarファイルが「/opt/jetty/jetty-distribution-9.4.50...
「JETTY_BASE」は「/opt/jetty/jetty-distribution-9.4.50.v2...
#code(nonumber){{
[root@jetty ~]# systemctl start jetty
}}
「http://jetty:8080」を開くと下記のようになって
&ref(2023y02m15d_040355957.png,nolink,80%);
その中の「/gitbucket」リンクを押下すると下記になります
&red(2023y02m15d_040608527.png,nolink,80%);
***展開場所とurl [#ae0c10e7]
いまだとアクセス先で/gitbuketと掘る必要がある. そのサイト...
参照: [[http://www.eclipse.org/jetty/documentation/9.3.x/...
その場合は「gitbucket.xml」ファイルをwebappsに追加します
#code(nonumber){{
[root@jetty ~]# vi /opt/jetty/curt/webapps/gitbucket.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "htt...
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/</Set>
<Set name="war">/opt/jetty/jetty-distribution-9.4.50.v2...
</Configure>
[root@jetty ~]#
[root@jetty ~]# systemctl restart jetty
}}
これでサイト名に直下で表示されます
&ref(2023y02m15d_041032900.png,nolink);
ページ名:
1