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で配列の変更を監視する方法

推薦する

Linux md5sumコマンドの使い方

01. コマンドの概要md5sum - MD5検証コードを計算して検証するmd5sum コマンドは、...

Nginx ソースコードのコンパイルとインストールのプロセス記録

rpm パッケージのインストールは比較的簡単なので、ここでは説明しません。ほとんどのオープンソース ...

Linux で pyenv をインストールする方法

前提条件gitをインストールする必要があるインストール手順1. リモートリポジトリからpyenvをク...

XHTML チュートリアル: Transitional と Strict の違い

実際、XHTML 1.0 は、Transitional DOCTYPE と Strict DOCTY...

MySQL データベースの手動およびスケジュールされたバックアップ手順

目次手動バックアップタイマーバックアップ手動バックアップ1) cmd コンソール: mysqldum...

CSS3 ボタン境界アニメーションの実装

まず効果を見てみましょう: html <a href="#"> &l...

Chrome をクラッシュさせる CSS コードの行

一般的な CSS コードでは、UI レイアウトや互換性に関して軽微な問題が発生するだけです。しかし、...

Node.js は、異なるリクエストパスに応じて異なるデータを返します。

目次1. 異なるリクエストパスに応じて異なるデータを返す方法を学びます。 2. 送信データ: データ...

HTML 文法百科事典_HTML 言語文法百科事典 (必読)

ボリュームラベル、プロパティ名、説明002 <! - - ... - -> コメント00...

jsを使用して簡単なスネークゲームを書く

この記事では、参考までに、jsで書かれたシンプルなスネークゲームの具体的なコードを紹介します。具体的...

MySQL外部キーの基本的な機能と使用方法の詳細な説明

この記事では、例を使用して、MySQL 外部キーの基本的な機能と使用方法を説明します。ご参考までに、...

docker-compose ネットワーク設定についての簡単な説明

ネットワーク使用チュートリアル公式サイト docker-compose.yml リファレンスドキュメ...

Vueシャトルボックスは上下の動きを実現します

この記事の例では、vueシャトルボックスを上下に動かすための具体的なコードを参考までに共有しています...

IE のテキストモード! DOCTYPE の役割の紹介

前の記事で説明したフォームの自動入力の問題を解決した後、新しい問題が発生しました。ページの一部のスタ...