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

推薦する

nginx が動的と静的の分離を実装する方法の例

目次server1にnginxをデプロイするサーバーにlnmpを展開するノード3にhttpdをデプロ...

HarborをベースにしたDocker専用倉庫の構築方法

目次1. ハーバーの紹介1. ハーバーが民間倉庫を建設3. 港湾の維持管理4. Harborユーザー...

デザイナーと開発者に役立つ 9 つの超実用的な CSS のヒント

Web デザイナーの頭の中には、仕事に関連する多くの知識が詰まっている必要があります。 CSS は、...

JavaScript でのモグラ叩きゲームの実装

この記事では、モグラ叩きゲームを実装するためのJavaScriptの具体的なコードを参考までに紹介し...

Nginx リバース プロキシ springboot jar パッケージ プロセス分析

Springboot プロジェクトをサーバーにデプロイする方法としては、war パッケージにパッケー...

MySQL マルチマスターと 1 スレーブのデータバックアップ方法のチュートリアル

概要いずれかのデータベースに対する操作は他のデータベースに自動的に適用され、2 つのデータベースのデ...

Js でオブジェクトのディープ オブジェクトを安全に取得するメソッドの例

目次序文文章パラメータ例Lodash 実装:トーキー機能: castPath関数: stringTo...

ZabbixはLinuxシステムサービスのプロセスを監視

Zabbix は Linux システムのサービス ユニットを監視するためのルールを自動的に検出します...

nginx のバージョン番号と WEB サーバー情報を隠すための解決策

Nginxはバージョン情報を隠すだけでなく、カスタムWebサーバー情報もサポートします。まずは最終的...

Docker で MySQL 接続と設定ファイルの最大数を変更する

1. MySQLイメージを見つける ドッカーps 2. ミラーmysqlイメージを入力する dock...

Vue ページ スタック マネージャーの詳細

目次2. 試した方法2.1 キープアライブ2.2 ネストされたルートを持つ CSS 3. 機能説明4...

MySQLデータベースの名前を高速かつ安全に変更する方法(3種類)

目次MySQLデータベースの名前を変更する方法最初の方法: データベースの名前を変更することは非推奨...

Vueはmockjsを使用してシミュレートされたデータケースの詳細を生成します

目次プロジェクトにmockjsをインストールするVueプロジェクトでmockjsを使用する基本的なプ...

Linux ネットワーク システムの紹介

目次ネットワーク情報ホスト名を変更するDNSドメイン名解決ネットワーク関連コマンドファイアウォール暗...