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

推薦する

MySQL マスタースレーブレプリケーションと読み取り書き込み分離の詳細な説明

記事マインドマップマスター/スレーブ レプリケーションと読み取り/書き込み分離を使用する理由は何です...

Linux ncコマンドの概要

NC のフルネームは Netcat (Network Knife) で、作成者は Hobbit &a...

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

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

CSS で垂直方向の中央揃えを実装するいくつかの方法の概要

フロントエンドのレイアウト プロセスでは、水平方向の中央揃えを実現するのは比較的簡単で、通常は ma...

Vue でデータコレクターを設計する

目次シナリオ中核問題ステータス監視状態監視の利点国家監視の欠点復興実行のアイデア依存関係の収集要約す...

MySQLの基本操作を詳しく解説(第2部)

序文この記事には1. データベースのいくつかの主要な制約2. テーブル間の関係制約:主キー制約: 機...

MySQL でデータをクエリし、条件に基づいて別のテーブルに更新する方法の例

この記事では、MySQL が条件に基づいてデータをクエリし、別のテーブルに更新する方法を例を使用して...

Docker stopはすべてのコンテナを停止/削除します

この記事では主に、すべてのコンテナを削除する Docker stop/remove を紹介し、皆さん...

Docker で lnmp をデプロイする詳細な手順

目次Centosイメージを取得するCentos ベースの nginx コンテナを生成するCentos...

CentOS VPS に SSH 経由で MySQL をインストールする方法

yum install mysql-serverと入力します。続行するにはYを押してくださいインスト...

Vueは単純なランダムロールコールを実行します

目次レイアウト部分: <div id="アプリ"> <p>...

フロントエンド JavaScript でローカルあいまい検索機能を実装する方法の例

目次1. プロジェクトの見通し2. 知識ポイントObject.assign() の使用法filter...

純粋な CSS で実装された 3 つの通知バーのスクロール効果

序文通知バー コンポーネントは、比較的一般的なコンポーネントです。基本的に、すべてのサイトにこのよう...

CSS を使用してテクスチャ付きグラデーション背景画像を記述するためのサンプル コード

プロジェクト内のページの長さはおよそ2000px以上あり、背景画像にはテクスチャやグラデーションがあ...

VMware仮想マシンでのLinuxのコピー&ペーストの詳細な説明

1. VMware Workstation 上の Linux: 1. ソースの更新(オプション) v...