ホームページ > 運用・保守 > Linuxの運用と保守 > JavaWeb を Linux サーバーにデプロイする方法

JavaWeb を Linux サーバーにデプロイする方法

WBOY
リリース: 2023-05-13 08:31:10
転載
1756 人が閲覧しました

1. サーバー、ドメイン名を購入し、登録します

登録が大幅に簡略化され、APP を直接ダウンロードしてスキャンすることで、正常に登録できます。

2. 環境構築

Centos7.3クラウドサーバーにNginx、MySQL、JDK、Tomcat環境をインストール

Centos7.6インストールmysql5.5チュートリアル

Cenos7.3 mysql8.0

Centos8.0 をコンパイルして、nginx

Centos7.3 の最新の安定バージョンをインストールします。 Nginx をアンインストール (完全にアンインストール) し、Nginx を再インストールします (RPM ソース yum インストール) )

まだ質問がある場合は、Baidu まで直接お問い合わせください

3. プロジェクトのデプロイメント

アップロードする Java Web プロジェクトを war パッケージにパッケージ化し、Web アプリにアップロードします。 Tomcat を起動する前にプロジェクトの war パッケージをアップロードすると、フォルダに解凍されません。 Tomcat の Web アプリの下のプロジェクトを変更 (追加または削除) するたびに、Tomcat を再起動する必要があります。

注: 次のコマンドを実行するには、Tomcat の bin ディレクトリに入力する必要があります。環境変数を設定すれば、任意のパスで実行できます。

./startup.sh		// 启动Tomcat./shutdown.sh		// 关闭Tomcat
ログイン後にコピー

webapp にアップロードされた war パッケージは、プロジェクト名と同じ名前のフォルダーに解析されます。これを開くと、プロジェクトと同様の階層構造が表示されます。プロジェクトの war パッケージがアップロードされた場合to webapp が実行されていない プロジェクト名と同名のフォルダに解凍していない、つまり Tomcat を再起動していない状態で、上記の shutdown コマンドを実行してから、startup コマンドを実行してください。

解凍されたプロジェクトに入ると、プロジェクトのルート ディレクトリに jsp ファイルがあり、javabean ディレクトリや lib ディレクトリなどの Java ファイル、web.xml またはその他の設定ファイルがルート ディレクトリに存在していることがわかります。 . Java コードはクラス ファイルにコンパイルされ、classes フォルダーに保存されるため、WEB-INF フォルダーの下にあります。

ここで特に注意すべき点は、Java Web プロジェクトを Linux サーバー上のデータベースに接続する必要がある場合、アップロードしたプロジェクトを事前に必ず mysql のユーザー名とパスワードに変更してください。 Linux サーバー上のデータベースを作成し、それを war パッケージにパッケージ化します。または、Linux で Tomcat のコンパイル済みプロジェクトの下にプロジェクト パスの変更を直接入力し、完了後にファイルを保存し、Tomcat を閉じてから Tomcat を起動します。

プロジェクト データベース ファイルのインポートの問題

Linux でのプロジェクト データベースのアクセス アドレスは、次のように変更されません。

url = "jdbc:mysql://localhost:3306/数据库名"; 
或
url = "jdbc:mysql://127.0.0.1:3306/数据库名"; 
或 
url = "jdbc:mysql://服务器IP地址:3306/数据库名";
ログイン後にコピー

プロジェクトがアップロードされているためです。最後に、localhost または 127.0.0.1 もサーバーのローカル パスを表すと説明されています。もちろん、サービスのパブリック IP を使用することも選択できますが、localhost または 127.0 であるため、通常は推奨されません。この時の0.1はこの時のサーバーIPを表します。

Navicat、SQLyog、またはローカル Windows 上のその他のデータベース視覚化ツールは、Linux サーバー上の msyql に接続して、プロジェクトへのデータベース ファイルの直接インポートを容易にします。

ローカルの mysql データベースを Linux サーバー上の mysql データベースにインポートします

まず、Windows でデータベース ファイルをエクスポートしてサーバーにアップロードし、同じ名前のサーバーを作成します。

create database 数据库名
ログイン後にコピー

のローカル Windows データベース ファイルNavicat をサーバー上の mysql に接続するには、Navicat に直接インポートするだけです。

Nginx リバース プロキシは、ドメイン名を介してプロジェクトにアクセスします。

プロジェクトで使用されるドメイン名を解決します。通常は、アクセスに第 2 レベルのドメイン名を使用します。 実際には、サーバー上の IP アドレスを直接使用してプロジェクトにアクセスでき、わざわざドメイン名を使用してアクセスする必要はありません。ただし、この方法ではドメイン名だけでなくポート番号も覚えておく必要があるため、プロジェクトをデプロイしすぎると確かに少々面倒です。例:

use 数据库名
ログイン後にコピー

リバース プロキシを使用すると、プロジェクトにアクセスするたびにポートされます。

Nginx のルート パスを開き、conf/ に切り替え、nginx.conf ファイルを開き、http モジュールの下にサーバー モジュールを追加します。

ここでの proxy_pass プロキシは、Tomcat の下のプロジェクトです。サーバー、Tomcat デフォルトのポート番号は 8080 ですが、ここでは 8010 に変更されています

source 上传的数据库文件路径.sql
ログイン後にコピー

注:

ここで特に注意してほしいのは、proxy_pass の IP アドレスです。 127.0.0.1 または localhost によるサーバーの IP を選択するときは、サーバーのパブリック IP を使用しないように注意してください。ドメイン名解決に合格した後、その IP をプロキシとして使用してセカンダリ ドメイン名にアクセスすることはできません。proxy_pass はここで使用できます。

IP:8080IP:8081IP:8082或
域名;8080
域名:8081域名:8082
ログイン後にコピー

将来 Tomcat プロジェクトをデプロイするには、Linux サーバー上に複数の Tomcat をコピーし、第 2 レベルのドメインを使用して異なるプロジェクト名にアクセスできるように Tomcat のデフォルトのポート番号を変更します。名前。

ただし、1 つの Tomcat に複数のプロジェクトをデプロイすることもできます。このとき、新しいプロジェクトをデプロイするたびに、Tomcat の起動またはシャットダウンとともに以前のプロジェクトが再実行され、大量のサービスが消費されます。メモリや CPU が原因でサーバーがさらにスタックしてしまいます。プロジェクトをデプロイする前にこの方法を使用しました。

展開後、プロジェクトにアクセスできない場合があります。これは、nginx がデフォルトのファイルを認識しないことが原因である可能性があります。エージェントのプロジェクト名の後に、プロジェクトのデフォルトのアクセス パスを追加します。例:

server {		#监听的端口号
		listen 80;		#一级域名或二级域名
		server_name	sh.yunxdr.top;		#默认文档
		index index.jsp index.html index.htm;		location / {			proxy_pass http://127.0.0.1:8010/项目名/;
		}
	}
ログイン後にコピー

Nginx の構成が完了したら、保存して終了し、reload コマンドを実行して、新しく構成したファイルを有効にします。

http://localhost:8010/Tomcat解析的项目名或
http://127.0.0.1:8010/Tomcat解析的项目名
ログイン後にコピー

このときの実行はnginxのbinディレクトリに切り替えると正常に実行されますが、環境変数を設定していなければどのパスでも実行可能です。

この時点で展開は完了し、ドメイン名を介して Tomcat のプロジェクトにアクセスできるようになります。プロジェクトにアクセスする前に、第 2 レベルのドメイン名を解決する必要があることに注意してください

以上がJavaWeb を Linux サーバーにデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート