私はDebianを使用しており、パッケージマネージャーのパッケージは完全に最新ではないため、手動でインストールする必要があります。
最新バージョンを.tar.gzファイルとしてダウンロードし、/ optに解凍しました。今、私は次に何をすべきかわからない。
このPCのすべてのユーザーに対して、起動時にJettyをサービスとして実行する必要があります。しかし、どのように?ドキュメントに何も見つかりませんでした。
Jetty.shが見つからない場合は、最後の1つをダウンロードしてください http://dev.Eclipse.org/svnroot/rt/org.Eclipse.jetty/jetty/trunk/jetty-distribution/src/main/resources/ bin/jetty.sh
そしてそれを/etc/init.d/jettyに保存します
また、/ etc/default/jettyを編集して、次のような個々の設定を設定する必要がある場合もあります。
Java_HOME=
Java_OPTIONS=
JETTY_HOME=
JETTY_USER=
JETTY_LOGS=
再起動後にサービスを開始する場合は、update-rc.dを使用してデフォルトの起動レベルに追加することを忘れないでください
bin
ディレクトリにjetty.sh
スクリプトが必要です。 Debianで動作するかどうかはわかりませんが、出発点としては良いでしょう。
CentOS 7 Linuxの場合、ダウンロードしました 最新のJettyディストリビューション ファイルを作成しました/etc/systemd/system/jetty.service
:
[Unit]
Description=Jetty
After=network-online.target
[Service]
Type=simple
User=jetty
Group=jetty
ExecStart=/usr/bin/Java -jar /usr/share/Java/jetty-distribution-9.3.10.v20160621/start.jar jetty.home=/usr/share/Java/jetty-distribution-9.3.10.v20160621 jetty.base=/var/www/jetty jetty.http.port=8080
ExecStop=/bin/kill ${MAINPID}
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
次に、コマンドを実行してユーザーとベースディレクトリを作成しました。
# useradd -s /sbin/nologin jetty
# Java -jar /usr/share/Java/jetty-distribution-9.3.10.v20160621/start.jar \
jetty.home=/usr/share/Java/jetty-distribution-9.3.10.v20160621 \
jetty.base=/var/www/jetty \
--add-to-startd=http,servlet,webapp,deploy,resources,ext,fcgi,websocket,proxy-protocol
# chown -R jetty.jetty /var/www/jetty
次に、新しいサービスをアクティブにしました。
# systemctl enable jetty
# systemctl start jetty
そして最後にログをチェックしました:
# systemctl status -l jetty
そして、Jettyがポート8080でリッスンしていることを確認しました。
# netstat -an | grep -w LISTEN
DebianLinuxのコマンドは似ていると思います...
Alexander Farberが提案することは基本的に正しくて使用可能ですが、私の小さなプロジェクトを指摘したいと思います https://github.com/cosenmarco/jetty-systemd-notifier ライフサイクルについてsystemdに信号を送ります桟橋の。
このプロジェクトでは、systemdに接続するための最良の方法を提供しようとしています。 「単純な」サービスタイプは、状況によっては最適ではない場合があります。これは、the service manager will consider the unit started immediately after the main service process has been forked off.
(from systemd docs )
依存するサービスがある場合、それらを受信する準備ができる前に、それらは桟橋に要求を送信し始める可能性があります。
またthis means systemctl start command lines for simple services will report success even if the service's binary cannot be invoked successfully
つまり、何らかの理由で桟橋がその構成のために起動できなかった場合、とにかく正常な状態をsystemdに報告します。
さらに、提供されている例では、通常jetty.shにあるいくつかの便利な機能を再現しようとしています。