Linux (CentOS7) に Tomcat をインストールし、Tomcat をスタートアップ項目として設定します (tomcat8 を例に挙げます)

Linux (CentOS7) に Tomcat をインストールし、Tomcat をスタートアップ項目として設定します (tomcat8 を例に挙げます)

Tomcatをインストールする

Tomcat 圧縮パッケージをダウンロード

Tomcat には Tomcat7、Tomcat8、Tomcat9 のバージョンがあります。現在、企業では Tomcat8 の方が一般的に使用されているため、ここでは Tomcat8 を記載します。

Tomcat8 のダウンロード Web サイトにアクセスします: Tomcat8 のダウンロード Web サイト https://tomcat.apache.org/download-80.cgi

左側の「ダウンロード」の下にある対応するバージョンをクリックします。ここでは、Linux 環境用の圧縮パッケージである apache-tomcat-8.5.47.tar.gz をダウンロードしました。

Tomcatには3つの主なインストールバージョンがあります

  • tar.gz: Linux 環境の圧縮パッケージ。インストールは不要
  • Windows.zip: Windows の圧縮パッケージ。インストールは不要で、解凍して使用するだけです。同時に、コンピュータが 64 ビット システムか 32 ビット システムかに応じて、対応する圧縮パッケージをダウンロードするように注意してください。
  • Windows サービス インストーラー: Windows の 32 ビット版と 64 ビット版の両方に適用可能な Windows インストール パッケージ

Tomcatをインストールする

ダウンロードしたapache-tomcat-8.5.47.tar.gz指定されたディレクトリに置きます。次の図に示すように/usr/local/tomcatに置きます。

/usr/local/tomcatディレクトリに入り、Tomcatの圧縮パッケージを解凍します。

# /usr/local/tomcat ディレクトリに入る cd /usr/local/tomcat
# Tomcat の圧縮パッケージを解凍します tar -zxvf apache-tomcat-8.5.47.tar.gz

Tomcatを起動する

Tomcatのbinディレクトリに入り、Tomcatを起動します。

# Tomcatのbinディレクトリに入り、Tomcatを起動します
cd apache-tomcat-8.5.47/bin/
# Tomcatを起動する
./スタートアップ.sh

Tomcatが正常に起動したかどうかを確認します

# Tomcatが正常に起動したかどうかを確認します。ps -ef | grep tomcatを実行します。
#如果输出如下、说明トムカット安装成功ルート2381 1 11 22:18 PTS/0 00:02/usr/local/jdk1.8.0_152/bin/java -djava.util.logging.config.file =/usr/usr/tomcat ging.manager = org.apache.juli.classloaderlogmanager -djdk.tls.ephemeraldhkeysize = 2048 -djava.protocol.handler.pkgs = org.catalina.webresources -dorg.apache.catarina.catarina.security.security.sededededededededededededededer. IRS = -CLASSPATH /USR/LOCAL/TOMCAT/APACHE-TOMCAT-8.5.47/BIN/BOOTSTRAP.jar:/usr/local/tomcat/apache-tomcat-8.5.47/bin/tomcat-juli.jar -dcatalina.base home =/usr/local/tomcat/apache-tomcat-8.5.47 -djava.io.tmpdir =/usr/local/tomcat/apache-tomcat-8.5.47/temp org.apache.catalina.startup.bootstrap Start
ルート 2513 29060 0 22:18 pts/0 00:00:00 grep --color=auto tomcat

ブラウザを使用してTomcatにアクセスします。アドレスはLinux ip:8080、ここでのIPポートはhttp://47.106.106.158:8080/です。次の図に示すように、TomcatはLinux(CentOS7)環境で正常にインストールされ、起動されています。

注意: ポート8080を開くか、ファイアウォールを閉じてください

追加: ポート 8080 を開くか、ファイアウォールを閉じます。Alibaba Cloud の場合は、Alibaba Cloud コンソールでのみ開いているポートを設定できます。

# ポート 8080 を開く ファイアウォール コマンド --zone=public --add-port=8080/tcp --permanent
# ポート番号 8080 が有効になっているかどうかを確認します。firewall-cmd --query-port=8080/tcp
# ファイアウォールを再起動します。firewall-cmd --reload
# 開いているポートのリストを表示するfirewall-cmd --list-port
# コマンドの意味 --zone # 範囲 --add-port=8080/tcp # ポートを追加、形式: ポート/通信プロトコル --permanent # 永続的な効果。このパラメータを指定しないと、再起動後に無効になります # ファイアウォールを停止 systemctl stop firewalld.service # ファイアウォールを停止
systemctl enablefirewalld.service #ファイアウォールの起動を無効にする

Tomcatをスタートアップ項目として設定する

上記の方法でTomcatを起動します。仮想マシンまたはサーバーがシャットダウンされた場合、サーバーの再起動後にTomcatもシャットダウンされます。ただし、仮想マシンまたはサーバーの再起動後にTomcatが自動的に起動できるようにするために、Tomcatをスタートアップ項目として設定する必要があります。

setenv.shファイルを作成し、Tomcatの起動パラメータを追加します。

catalina.sh が実行されると、同じパスにある setenv.sh が呼び出され、追加の環境変数が設定されます。そのため、次の内容を含む setenv.sh ファイルを /usr/local/tomcat/apache-tomcat-8.5.47/bin パスに作成します。

# Tomcat の PID ファイルを設定します CATALINA_PID="$CATALINA_BASE/tomcat.pid"
# JVM オプションを追加します JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"

/usr/local/tomcat/apache-tomcat-8.5.47/bin/catalina.shファイルの先頭にJAVA_HOMEとJRE_HOMEを追加します。ここで、/usr/local/jdk1.8.0_152はjdkのインストールディレクトリです。

JAVA_HOME=/usr/local/jdk1.8.0_152 をエクスポートします。
エクスポート JRE_HOME=/usr/local/jdk1.8.0_152/jre

catalina.shでJAVA_HOMEとJRE_HOMEが設定されていない場合、次のエラーが報告されます。

[root@JourWon ~]# systemctl ステータス tomcat
● tomcat.service - Tomcat
 ロード済み: ロード済み (/usr/lib/systemd/system/tomcat.service; 有効; ベンダープリセット: 無効)
 アクティブ: 失敗 (結果: 終了コード) 2019-10-21 月曜日 19:54:54 CST 以降; 6 秒前
 プロセス: 8746 ExecStart=/usr/local/tomcat/apache-tomcat-8.5.47/bin/startup.sh (コード=終了、ステータス=1/FAILURE)

10月21日 19:54:54 JourWon systemd[1]: Tomcatを起動しています...
10月21日 19:54:54 JourWon startup.sh[8746]: JAVA_HOMEもJRE_も...d
10月21日 19:54:54 JourWon startup.sh[8746]: これらの環境の少なくとも1つ...m
10月21日 19:54:54 JourWon systemd[1]: tomcat.service: 制御プロセスが終了しました、...=1
10月21日 19:54:54 JourWon systemd[1]: Tomcatの起動に失敗しました。
10月21日 19:54:54 JourWon systemd[1]: ユニットtomcat.serviceが失敗状態になりました。
10月21日 19:54:54 JourWon systemd[1]: tomcat.serviceが失敗しました。
ヒント: 一部の行は省略されています。完全な行を表示するには -l を使用してください。

次の内容を含む tomcat.service ファイルを /usr/lib/systemd/system パスに追加します。

[ユニット]
説明=Tomcat
後=network.target remote-fs.target nss-lookup.target
[サービス]
タイプ=フォーク
タイムアウト秒数=0
PIDファイル=/usr/local/tomcat/apache-tomcat-8.5.47/tomcat.pid
ExecStart=/usr/local/tomcat/apache-tomcat-8.5.47/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
プライベートTmp=true
[インストール]
WantedBy=マルチユーザー.ターゲット

さらに、サービス ファイルが変更された後は、sy stemctl daemon-reloadコマンドを呼び出して再ロードする必要があります。

TimeoutSec=0 を設定する目的は、起動時にシステムが Tomcat の起動タイムアウトを処理しないようにし、時間がかかりすぎても Tomcat が終了しないようにすることです。設定されていない場合、次の状況が発生する可能性があります。

10月21日 20:26:37 JourWon startup.sh[1634]: 起動中に既存のPIDファイルが見つかりました。
10月21日 20:26:37 JourWon startup.sh[1634]: 古いPIDファイルを削除/クリアしています。
10月21日 20:26:37 JourWon startup.sh[1634]: Tomcatが起動しました。
10月21日 20:26:37 JourWon systemd[1]: 起動後、PIDファイル/usr/local/tomcat/apache-tomcat-8.5.47/tomcat.pidが(まだ?)読み取り不可です。
10月21日 20:26:38 JourWon polkitd[464]: unix-process:1628:19013の認証エージェントが登録されていません(システムバス名:1.23、オブジェクトパス/org/freedesktop/PolicyKit1/AuthenticationAgent、ローカル
10月21日 20:28:07 JourWon systemd[1]: tomcat.serviceの開始操作がタイムアウトしました。終了します。
10月21日 20:28:07 JourWon systemd[1]: Tomcatの起動に失敗しました。

スタートアッププログラムにTomcatを追加する

systemctl enable tomcat.service

サーバーを再起動します

reboot

再接続後、サービスステータスを確認してください

[root@JourWon ~]# systemctl ステータス tomcat
● tomcat.service - Tomcat
 ロード済み: ロード済み (/usr/lib/systemd/system/tomcat.service; 有効; ベンダープリセット: 無効)
 アクティブ: 2019-10-21 月曜日 20:12:19 CST からアクティブ化 (開始)、8 秒前
 プロセス: 9244 ExecStart=/usr/local/tomcat/apache-tomcat-8.5.47/bin/startup.sh (コード=終了、ステータス=0/成功)
 Cグループ: /system.slice/tomcat.service
   └─9255 /usr/local/jdk1.8.0_152/jre/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/apache-tomcat-8.5.47/conf/logging.properties -Djava.util.logging.manager=org.apac...

10月21日 20:12:19 JourWon systemd[1]: Tomcatを起動しています...
10月21日 20:12:19 JourWon startup.sh[9244]: 起動中に既存のPIDファイルが見つかりました。
10月21日 20:12:19 JourWon startup.sh[9244]: 古いPIDファイルを削除/クリアしています。
10月21日 20:12:19 JourWon startup.sh[9244]: Tomcatが起動しました。
10月21日 20:12:19 JourWon systemd[1]: 起動後、PIDファイル/usr/local/tomcat/apache-tomcat-8.5.47/tomcat.pidが(まだ?)読み取り不可です。

スタートアップリストコマンドを表示する

systemctl list-unit-files | grep enabled

Tomcat がスタートアップ項目として設定されているかどうかを確認します。有効と表示されていれば、設定は成功しています。

パラメータの説明

  • 静的: サービスが他のサービスと関連付けられており、サービスの起動ステータスを個別に設定できないことを示します。
  • 無効: 起動が禁止されていることを示します
  • 有効: システムの起動が許可されていることを示します
[root@JourWon ~]# systemctl list-unit-files | grep tomcat
tomcat.service が有効

要約する

以上が、Linux (CentOS7) に Tomcat をインストールし、Tomcat をスタートアップ項目として設定する方法についてご紹介しました (tomcat8 を例に挙げます)。お役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Alibaba Cloud Server Linux システムは Tomcat を構築して Web プロジェクトを展開します
  • Linux クラウド サーバーに JDK と Tomcat をインストールするための詳細な手順 (推奨)
  • Alibaba Cloud Server に Tomcat をインストールして設定し、外部ネットワーク アクセス ポートを追加するチュートリアル
  • Linux CentOS での Tomcat9 のインストールと Web プロジェクトの展開
  • CentOS 6はスクリプトを起動するためにtomcat8を設定します
  • Centos8.2 クラウド サーバー環境に Tomcat8.5 をインストールするための詳細なチュートリアル

<<:  MySQLに絵文字表現を保存する詳細な手順

>>:  電子署名を実装するWeChatミニプログラム

ブログ    

推薦する

jsを呼び出すいくつかの方法が整理され、使用が推奨されています

a タグではクリック イベントがよく使用されます。 1. href="javascript...

uniapp WeChatミニプログラムのグローバル共有を実装するためのサンプルコード

目次グローバル共有コンテンツファイルを作成するファイルをインポートしてグローバルに登録するページ共有...

Zabbix WEB 監視実装プロセス図

Zabbix独自のWEBインターフェースを例に、Web監視の設定を行います。環境: zabbix4....

Linux デスクトップ用の 4 つのスキャン ツール

ペーパーレスの世界はまだ到来していませんが、書類や写真をスキャンすることで紙をなくす人が増えています...

Idea で Docker を使用して SpringBoot プロジェクトをデプロイする詳細な手順

序文プロジェクト要件: Dockeridea に Docker プラグインをインストールし、Dock...

シンプルなID生成戦略: MySQLテーブルからグローバルに一意のIDを生成する実装

グローバル ID を生成する方法は多数あります。ここでは簡単な解決策を紹介します。MySQL の自動...

MySQLでユーザーを作成し、ユーザーに権限を付与する方法の詳細なチュートリアル

目次ユーザー管理新しいユーザーを作成するユーザー名の変更ユーザーのパスワードを設定するルートパスワー...

UDP 接続オブジェクトの原理分析と使用例

以前、UDP を使い始めるために簡単な UDP サーバーとクライアントの例を作成しましたが、実際に使...

MySQL データベースの最適化に関する 9 つのヒント

目次1. 最も適切なフィールド属性を選択する2. フィールドをNOT NULLに設定してみる3. サ...

SQL文のパフォーマンスを分析するための標準的な要約

この記事では、explain を使用して SQL ステートメントを分析する方法を紹介します。実際、イ...

燃える炎効果の英語フォント16種類をシェアする

私たちは視覚の世界に住んでおり、多くの視覚効果に囲まれています。コンピューターの前にいても、屋外にい...

Linux マルチスレッドにおけるフォークとミューテックス ロック プロセスの例

目次質問: 1. 最初の試み2. 合理的な分析3. 問題解決(1) pthread_join()の使...

Linux に nodejs 環境とパス構成をインストールするための詳細な手順

Linux に Node.js をインストールする方法は 2 つあります。1 つは簡単で、解凍して使...

Axios を使用して Vue2 がリクエストを開始する詳細なプロセス記録

目次序文Axiosのインストールと設定シンプルなGETリクエストを開始するPOSTリクエストを行うシ...

HTML Selectは、デフォルトの選択を設定するためにselected属性を使用します。

オプションに属性 selected = "selected" を追加すると、それ...