jsvc を使用して tomcat を起動する方法 (通常のユーザーとして実行)

jsvc を使用して tomcat を起動する方法 (通常のユーザーとして実行)

jsvc の紹介

実稼働環境では、Tomcat はデーモン モードで実行する必要があります。Tomcat を通常のユーザーとして起動する必要がある場合は、1024 未満のポートは使用できません。これは、Liunx システムの制限です。1024 未満のポートを使用できるのは、root ユーザーのみです。では、Tomcat をサービスとして設定するにはどうすればよいでしょうか? jsvc を使用すると、独自の起動スクリプトを簡単にカプセル化できるほか、Tomcat の実行ユーザーとグループを任意に設定したり、メモリ制御、言語、文字エンコーディングなどの JVM 実行パラメータを指定したりすることもできます。また、Tomcat の起動に使用する pidfile を指定することもできます。つまり、Tomcat の実行方法をより正確に制御できます。オリジナルのスクリプトに比べて比べものにならないほどの利点があります。

大丈夫!ここまで長々と話してきましたが、この記事では一般ユーザーとして実行する方法を説明したいと思います。他のことはまだ学んでいません!

Tomcatディレクトリの権限を設定する

tomcat ユーザーを作成します (デフォルトでは、tomcat グループも作成されます)

ユーザー追加Tomcat

tomcatディレクトリの所有者ユーザーをtomcatに設定し、グループをtomcatグループに設定します。

chown -R tomcat:tomcat /usr/local/tomcat/
ここに説明を入力してください

この時点で表示される tomcat のルート権限は、実際にはこのソフト リンクがルートに属していることを意味します。リンク先の tomcat ディレクトリは既に tomcat によって所有されており、-R は権限を再帰的に渡します。

起動時のエラーを回避するために、グループ内のユーザーに Tomcat の下にあるすべてのファイルの読み取り権限を開きます。たとえば、sever.xmlファイルは読み取れません

chmod -R g+r tomcat/

グループ内のユーザーに、Tomcat の webapps、logs、work、temp ディレクトリへの書き込み権限を付与します。

chmod -R g+w logs/ temp/ webapps/ work/

jsvcをインストールする

前回、Java + Tomcat 環境のデプロイについてすでに説明しましたが、この記事は前回の続きです。

前回の記事を添付します: https://www.jb51.net/article/160936.htm

jsvc は Tomcat バイナリ ディストリビューションにバインドされ、ソース コード パッケージを見つけて、バイナリ ファイルにコンパイルする準備が整います。

tomcatの下のbinディレクトリに入り、 commons-daemon-native.tar.gzを見つけます。

enter description here

ソースコードパッケージを解凍する

tar -zxvf commons-daemon-native.tar.gz

解凍したディレクトリに入りコンパイルする

cd commons-daemon-1.0.15-native-src/unix
./configure --with-java=$JAVA_HOME
enter description here

上記のエラーは、gccコンパイル環境がインストールされていないために発生します。

yum install gcc-c++ -y

もう一度実行すると次の内容が表示されます

enter description here

コンパイル

make

コンパイルが完了すると、現在のフォルダにjsvcファイルが生成されます。

enter description here

tomcatのbinディレクトリにコピーします

cp jsvc /usr/local/tomcat/bin/

今回はdaemon.shを使ってTomcatを実行します

./daemon.sh start

その他のコマンド:

./daemon.sh stop

要約する

上記は、jsvc を使用して tomcat を起動する方法 (通常のユーザーとして実行) の紹介です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。123WORDPRESS.COM ウェブサイトをご愛顧いただき、誠にありがとうございます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

<<:  MySQL のグループ分けの例

>>:  Vueで配列の変更を監視する方法

推薦する

JavaScript インタビュー: 配列の平坦化メソッドを実装する方法

目次1 配列のフラット化とは何ですか? 2 JS標準ライブラリの配列フラット化メソッド3 フラットメ...

Docker を使用した Redis マスタースレーブレプリケーションの実践の詳細説明

目次1. 背景2. 操作手順3. Dockerをインストールする4. 主なサービス構成5. サービス...

Dockerデータボリューム操作の実装

データボリュームの使用開始先ほどのケースでは、ホストからコンテナにデータをコピーする必要がある場合、...

Vueはランニングライトのシンプルな効果を実現

この記事では、マーキーのシンプルな効果を実現するためのVueの具体的なコードを参考までに共有します。...

登録ページを実装するためのJS、CSS、HTML

HTML と CSS で実装された登録ページ テンプレート。早速、コードを見てみましょう。更新: ...

JavaScriptにおけるこのポインティング問題の詳細な説明

序文信じてください。この記事の 7️⃣ ステップを覚えておけば、JS の this リファレンスを完...

Ubuntu20のtzselect設定時間失敗問題、Raspberry Piサーバ(推奨)

2 日前、Raspberry Pi サーバーを Ubuntu 20 にアップグレードしました。今日...

MySQL パスワードに特殊文字が含まれている場合とコマンドラインからログインする場合

サーバーでは、データベースにすばやくログインするために、通常は mysql -hhost -uuse...

CentOS で yum を使用して rabbitmq-server をインストールする方法

RabbitMQをインストールする前にSocatをインストールする必要があります。そうしないと、Ra...

CSS 表示属性のインラインブロックレイアウト実装の詳細な説明

CSS 表示プロパティ注: !DOCTYPE が指定されている場合、Internet Explore...

MySQL 8.0.22 winx64 のインストールと設定方法のグラフィックチュートリアル

MySQL-8.0.22-winx64のデータベースインストールチュートリアルは参考になります。具体...

XHTMLコードの一般的なアプリケーション問題をまとめる

時間が経つにつれて、多くの人が XHTML の使い方を知らないことに気づきました。普通の初心者だけで...

コピー&ペーストはパッケージングの敵です

OO、デザイン パターン、および多くのオブジェクト指向の原則について話す前に、まず 1 つのことを習...

Packetdrillの簡潔なユーザーガイド

1. Packetdrillのコンパイルとインストールソースコードリンク https://githu...

Dockerコンテナのログ処理の詳細な説明

Docker には多くのログ プラグインがあります。デフォルトでは json-file を使用します...