Linux - Tomcat をインストールしてプロジェクトをデプロイする

目次

1.準備段階

2. 具体的な手順 

2.1. tomcat インストール パッケージのダウンロード

2.2. Tomcat インストール パッケージのアップロード

2.3、トムキャットを起動

2.4. ページにアクセスする

3. Maven プロジェクトを tomcat にデプロイする

3.1. Maven プロジェクトのパッケージ化

3.2. パッケージ化された war パッケージを Linux にアップロードする

3.3. 接続データベース設定ファイルの IP を変更する

3.4. アクセス項目

3.5、IP アクセスへの直接アクセス

3.6. クラウドサーバーで起こりうる問題


1.準備段階

1. サーバーを準備する必要があります. ここでは、ローカル仮想マシンをインストールすることをお勧めします. VMware は優れた仮想マシン ソフトウェアです.

2. 仮想マシンにリモート接続するためのツールが必要です ここで使用するツールは MobaXterm です。

注: この記事では tomcat を起動する必要があります. Linux サーバーに jdk 環境をインストールする必要があります. インストールされていない場合は, 前回の記事 linux installation jdk をお読みください. 

Linux に jdk をインストールする

2. 具体的な手順 

2.1. tomcat インストール パッケージのダウンロード

apache-tomcat-8.5.66.tar.gz インストール パッケージをダウンロードします。

リンク:https://pan.baidu.com/s/1G1irvm9BlLEZ-zkbK9TkWA 
抽出コード:2wbc

2.2. Tomcat インストール パッケージのアップロード

接続ツールを使用して、インストール パッケージをディレクトリ /usr/local にアップロードします。このディレクトリはここでのみ推奨されており、気軽に使用できます。

アップロード後、ll クエリで apache-tomcat-8.5.66.tar.gz の赤いインストール パッケージを確認できます。ここで解凍する必要があります。

コマンドを使用

tar -xzvf apache-tomcat-8.5.66.tar.gz

解凍が完了すると、青いフォルダー apache-tomcat-8.5.66 が作成されます。

2.3、トムキャットを起動

cd を入力してディレクトリに入り、次に tomcat の bin ディレクトリに入ります。ここには、tomcat の起動プログラム (statrup.sh) とシャットダウン プログラム (shutdown.sh) があります。

現在のディレクトリで次のコマンドを入力します 

sh startup.sh

Tomcat started というプロンプトが表示された場合は、tomcat が正常に開始されたことを意味します。

2.4. ページにアクセスする

tomcat起動後、tomcatのホームページにアクセスできるか確認するため、ブラウザのURLアドレスに仮想マシンのip:8080を入力してアクセスしたのですが、アクセスできないことが判明。Tomcat を正常に起動した後、ページにアクセスできないのはなぜですか? これは、仮想マシンが Linux システムであり、セキュリティ メカニズムであるファイアウォールも備えているため、ファイアウォールを無効にする必要があるためです。次のコマンドを入力して、ファイアウォールを無効にします。

systemctl stop firewalld ファイアウォールを一時的に閉じます
systemctl status firewalld はファイアウォールのステータスをチェックします
systemctl disable firewalld はファイアウォールを完全に閉じます
systemctl start firewalld はファイアウォールを開きます

 ファイアウォールを閉じた後、アドレスに再度アクセスします

これは、訪問が成功したことを意味します。

3. Maven プロジェクトを tomcat にデプロイする

3.1. Maven プロジェクトのパッケージ化

pom.xml ファイルのパッケージング方法が war に変更されました 

build タグに finalName タグを追加します。これはパッケージ化された名前であり、プロジェクトのパッケージ化された名前です。 

アイデアの右側の Maven 列で、最初に clean をクリックして対象のパッケージをクリアし、次に package to package をクリックします。 

 

3.2. パッケージ化された war パッケージを Linux にアップロードする

war パッケージは tomcat の webapps パッケージにアップロードする必要があります

war パッケージを解凍する必要はありません。Tomcat を起動すると、自動的にフォルダーに解凍されます。 

Tomcat サーバーを再起動すると、SSM (ここでは私のプロジェクト名) フォルダーが生成されます。

3.3. 接続データベース設定ファイルの IP を変更する

プロジェクトは仮想マシンまたはクラウド サーバーにアップロードされ、プロジェクト内の mysql のリクエスト パスはまだ localhost または 127.0.0.1 であるため、現在の Linux IP に変更する必要があります。

次のコマンドを入力します

プロジェクト名 /WEB-INF/classes/ を cd します。

データベース接続構成ファイルを見つけます。ここに jdbc.properties があります

次のコマンドを入力して、ファイルを編集します

vim jdbc.properties

 ipはデータベースに保存されているIPアドレスに変更します。こちらのサーバーにはmysqlも保存されているので、現在のサーバーのipを記入します。

3.4. アクセス項目

プロジェクトにアクセスするには、ip:8080 の後にプロジェクト名を追加する必要があります

プロジェクト展開完了!

3.5、IP アクセスへの直接アクセス

このようなアクセスに8080ポートとプロジェクト名を入力するのはちょっと面倒…と思われる方もいらっしゃるかもしれませんが、ポートやプロジェクト名を入力せずにIPを直接入力してページにアクセスする方法はありますか?

順を追って問題を解決していきましょう. まず、ブラウザのデフォルトのポート番号は 80 であることは誰もが知っているので、Tomcat のポートを 80 に変更すれば、直接ページにアクセスできます。

tomcat 構成ファイルを変更し、tomcat の下の conf ディレクトリで server.xml ファイルを見つけます。

vim server.xml

i を押して追加します 

コネクタ ラベルを見つけ、ポート属性の 8080 を 80 に変更し、esc キーを押して wq と入力して保存します。

次に、2 番目のステップでは、プロジェクト名を記述する必要はありません。アクセスする ip を入力するだけです。ここでは、以前に webapps に配置されたすべてのプロジェクトを削除する必要があり、Tomcat に付属の ROOT ディレクトリも必要です。 ROOT として再パッケージ化してから、Web アプリケーションに配置する必要があります。

rm -rf ルート

rm -rf SSM

rm -rf SSM.war

アイデアは ROOT として再パッケージ化されます (注: 以前はプロジェクト名を何気なく始めてもかまいませんが、今では必須である ROOT と呼ぶ必要があります)。

finalName タグを ROOT に変更します 

プロジェクト パスで対象のパッケージを見つけると、既に ROOT.war パッケージがあることがわかります。

ROOT.war パッケージを Linux Tomcat の webapps パッケージにアップロードします。

tomcat を再起動し、再度 webapps に入り、自動解凍が ROOT フォルダーであることを確認し、ROOT フォルダーに入り、データベース接続構成ファイルを再度見つけて、データベースの ip を変更します。

再度 tomcat を起動し、ip を直接入力すると、アクセス成功です! !

3.6. クラウドサーバーで起こりうる問題

クラウドサーバーにプロジェクトをデプロイする場合、ipが変更されてプロジェクトがデプロイされたが、ページにアクセスできず、クラウドサーバーのポートが開発されていない. ここではAlibaba Cloudサーバーの例を挙げます.

最初にインスタンスを入力し、青いインスタンス ID をクリックします

[セキュリティ グループ ルールの構成] をクリックします。 

  [ルールの構成] をクリックします。

下の赤いボックスに開発ポートを手動で追加します。1 つは mysql データベースのポートである 3306 で、もう 1 つはブラウザ アクセスのデフォルト ポートであるポート 80 です。最後の 3 つはクラウドサーバー。

ポートを開発した後、クラウド サーバーで再試行すると、プロジェクトが正常に実行され、データ アクセスに問題がないため、成功を意味します。

おすすめ

転載: blog.csdn.net/select_myname/article/details/127855277