ドメイン名を介してプロジェクトにアクセスするnginx + tomcatの例

ドメイン名を介してプロジェクトにアクセスするnginx + tomcatの例

ドメイン名を使ってプロジェクトにアクセスする方法が気になったのですが、自分でドメイン名を取得するのは面倒でした。購入して、各種書類を提出し、審査を待って、申請する必要がありました。 。 。今のところ、プロジェクトややるべきことは何もないので、何かやろうと思っているところです。 。 。

テンセントのサーバーがセール中だったので、40元出して一番低いバージョンのサーバーを購入しました(貧乏だったので個人使用にせざるを得ませんでした)。ここでテンセントに文句を言わざるを得ません。なぜセキュリティレベルをこんなに高く設定したのでしょうか?IPアドレスにpingできないため、直接リモートログインできません。さらに、すべてのポートとコマンドが禁止されています。以前にアリババクラウドを使用したことがありますが、セキュリティレベルはそれほど高くありませんでした。苦労の末、設定は次のようになりました。

それから正式な操作を開始しました。何気なくプロジェクトを構築し、アクセスできるようにしました。 tomcat 経由で起動し、http://localhost:8080/demo/login/index.do と入力してページに入りました。次に、localhost を以前購入したドメイン名に変更する必要がありました。これまでやったことがなかったので、Baidu に直接問い合わせました。 tomcat の server.xml 構成を変更する必要があることがわかりました。 localhost を自分のドメイン名に変更し、ポート番号を商用ポート番号 80 に変更しました。残念ながら、うまくいきませんでした。起動した後、ページにアクセスできませんでした (これは私の構成によるものであり、注意を払っていなかった他の構成もあります。記事を見た偉大な神は私に指導を与えることができます)。他の方法を使用して、Baidu でドメイン名を解決する必要があることがわかりました。構成は次のとおりです。

レコード値はサーバーのドメイン名です。システムを起動し、http://www.XXX.com:8080/demo/login/index.do にアクセスします。ページへのアクセスに成功しました。これは小さな成果と言えます。

その後、nginx + tomcat を使用してアクセスする必要があります。簡単に負荷分散を体験してみましょう。nginx の Windows バージョンをダウンロードし、nginx.exe を直接クリックして、http://localhost にアクセスしてページに入りました。

次に2つのTomcatを起動します。ポートはそれぞれ8081と8082、nginxポートは8080です。次にnginx.confファイルを構成します。

#ユーザーnobody;
ワーカープロセス 1;
#error_log ログ/error.log;
#error_log ログ/error.log 通知;
#error_log ログ/error.log 情報;
#pid ログ/nginx.pid;

イベント {
 ワーカー接続 1024;
}

http {
 mime.types を含めます。
 デフォルトタイプ アプリケーション/オクテットストリーム;
 #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
 # '$status $body_bytes_sent "$http_referer" '
 # '"$http_user_agent" "$http_x_forwarded_for"';
 #access_log ログ/access.log メイン;
 ファイル送信オン;
 #tcp_nopush オン;
 #キープアライブタイムアウト 0;
 キープアライブタイムアウト65;
 #gzip オン;
 アップストリーム lssxxxyss.com{
  server 139.199.127.123:8081 weight=1; #weight は重みであり、訪問回数の割合と見なすことができます server 139.199.127.123:8082 weight=2;
 } 
 サーバー{
  8080を聴く;
  サーバー名 lssxxxyss.com www.lssxxxyss.com;
  #文字セット koi8-r;
  #access_log ログ/host.access.log メイン;
  位置 / {
   #ルートhtml;
   #インデックス index.html index.htm;
   proxy_pass http://lssxxxyss.com;
  }
  #エラーページ 404 /404.html;
  。 。 。以下は無視してください。 。 。
}

次に、ページにアクセスし、アドレス http://lssxxxyss.com:8080/sshDemo/login/index.do を入力します。複数回アクセスすると、異なるページが表示されます (2 つの Tomcat プロジェクトのログイン ページを区別するために、負荷が実際に分散されていることを示しています)

仕上げる! ! !

追加知識: Nginx 構成、Tomcat での Java プロジェクト アクセス

原則としてはnginxのリバースプロキシを使うことです

Nginxのインストールパスは通常、/usr/local/nginxです。

ここにコードスニペットを挿入> |-- client_body_temp
|-- conf #これはすべての Nginx 設定ファイルのディレクトリです。非常に重要です| |-- fastcgi.conf #fastcgi 関連パラメータの設定ファイル| |-- fastcgi.conf.default #fastcgi.conf の元のバックアップ| |-- fastcgi_params #Fastcgi パラメータ ファイル| |-- fastcgi_params.default
| |--koi-utf
| |-- 鯉勝
| |-- mime.types #メディアタイプ、
| |-- mime.types.default
| |-- nginx.conf #これはNginxのデフォルトのメイン設定ファイルです | ​​|-- nginx.conf.default
| |-- scgi_params #scgi 関連のパラメータ ファイル。通常は使用されません | |-- scgi_params.default
| |-- uwsgi_params #uwsgi 関連のパラメータ ファイル。通常は使用されません | |-- uwsgi_params.default
| `-- ウィン-utf
|-- fastcgi_temp #fastcgi 一時データ ディレクトリ|-- html #これは、コンパイルおよびインストール中の Nginx のデフォルト サイト ディレクトリです。Apache のデフォルト サイト htdocs ディレクトリに似ています| |--50x.html #エラー ページは表示ファイルをエレガントに置き換えます。たとえば、このページは 502 エラーが発生したときに呼び出されます# error_page 500502503504 /50x.html;
| `-- index.html # デフォルトのホームページ ファイル。ホームページ ファイルの名前は nginx.conf で事前定義されています。
|-- logs #これは、エラー ログとアクセス ログを含む Nginx のデフォルトのログ パスです。| |-- access.log #これは、Nginx のデフォルトのアクセス ログ ファイルです。tail -f access.log を使用して、Web サイトのユーザー アクセス情報をリアルタイムで表示します。| |-- error.log #これは、Nginx のエラー ログ ファイルです。Nginx に起動失敗などの問題がある場合は、必ずこのエラー ログを確認してください。| `-- nginx.pid #Nginx の pid ファイルです。Nginx プロセスが起動すると、すべてのプロセスの ID 番号がこのファイルに書き込まれます。|-- proxy_temp #一時ディレクトリ|-- sbin #これは、Nginx 起動コマンド nginx などの Nginx コマンドのディレクトリです。
| `-- nginx #Nginx 起動コマンド nginx
|-- scgi_temp #一時ディレクトリ`-- uwsgi_temp #一時ディレクトリ 9 個のディレクトリ、21 個のファイル

/usr/local/nginxディレクトリにvhostディレクトリを作成し、vhostsフォルダにtomcats.confファイルを作成します。

tomcats.conf ファイルの内容は次のとおりです。

たとえば、Tomcatを使用してアクセスする必要がある2つのJavaプロジェクトがあります。構成は次のとおりです。

サーバ
 {
  聞く 80;

  server_name ce1.xdr630.top;#Tomcat サービスにアクセスするためのドメイン名#charset koi8-r;

  #access_log ログ/host.access.log メイン;

  位置 / {
    proxy_pass http://127.0.0.1:8081;#Tomcat サービス アドレス ルート html;
    インデックス index.html index.htm;
  }

  エラーページ 500 502 503 504 /50x.html;
  場所 = /50x.html {
   ルートhtml;
  }
 }

サーバ
 {
  聞く 80;
  server_name ce2.xdr630.top;#Tomcat サービスにアクセスするためのドメイン名#charset koi8-r;
  #access_log ログ/host.access.log メイン;
  位置 / {
    proxy_pass http://127.0.0.1:8082;#Tomcat サービス アドレス ルート html;
    インデックス index.html index.htm;
  }
  エラーページ 500 502 503 504 /50x.html;
  場所 = /50x.html {
   ルートhtml;
  }
 }

nginx インストール ディレクトリの conf の下にある nginx.conf ファイルを開きます (私のディレクトリは /usr/local/nginx/conf/nginx.conf です)

ファイルの末尾に追加

include /usr/local/nginx/vhosts/*; (すべての仮想マシンホストファイルが含まれます)

次にファイルの真ん中を探します

 位置 / {
   proxy_pass http://192.168.0.148:8080; (自分のローカル Tomcat のアドレスを指定するにはこれを追加します)
   ルートhtml;
   インデックス index.html index.htm;
  }

tomcat と nginx を再起動します。実際、Nginxは通常再起動する必要はありません。-sパラメータを指定して実行ファイルを呼び出すことで制御できます。

設定ファイルを再読み込みします。

/usr/local/nginx/sbin/nginx -t //まず構文をチェックする
/usr/local/nginx/sbin/nginx -s reload //設定を再読み込み

Nginx の起動ステータスを確認します。

ps -a | grep nginx

nginxサービスlnmp restartを再起動して、ドメイン名を介してtomcatサービスに直接アクセスすることもできます。

補充:

ヘルプを表示するにはNginxを起動します: ./nginx -h

Nginx を起動します: cd sbin; ./nginx

上記の nginx+tomcat がドメイン名を介してプロジェクトにアクセスする例は、エディターが皆さんと共有する内容のすべてです。これが皆さんの参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • ドメイン名を指定されたポートに転送するようにNginxを設定する方法
  • Nginxドメイン名転送の実装
  • nginx フォワード プロキシを使用してイントラネット ドメイン名転送プロセス分析を実装する
  • Nginxリバースプロキシはイントラネットドメイン名転送に使用されます
  • 複数のドメイン名に対する Nginx リバース プロキシを使用した HTTP および HTTPS サービスの実装
  • nginx + セカンダリドメイン名 + https サポートを使用する
  • Nginxはドメイン名のアクセス方法を定義しています
  • Nginx ドメイン転送の使用シナリオ コード例

<<:  Vue 初心者ガイド: 環境の構築と開始方法

>>:  MySQL 5.7 をバイナリモードでインストールし、Linux でシステムを最適化する手順

推薦する

Linux システムで PATH 環境変数を設定する方法 (3 つの方法)

1. Windows システムでは、JDK のインストールなど、多くのソフトウェアのインストールで...

MySQL内部一時テーブルの具体的な使用法

目次連合テーブルの初期化ステートメントの実行連合の結果ユニオンオールグループ化十分なメモリステートメ...

CSS の両端揃えを実現する div+css レイアウトの 4 つの方法の概要

2 端揃えを実現する div+css レイアウトは、Web ページの組版でよく使用されます。この記事...

MySQLのスペースをクリーンアップするいくつかの具体的な方法

目次序文1. ファイルのディスク使用量を確認する1.1 ディスク容量の使用状況を確認する1.2 ディ...

デジタルテーブル特殊効果を実現するネイティブJS

この記事では、ネイティブ JS で実装されたデジタル時計エフェクトを紹介します。エフェクトは次のとお...

seata docker 高可用性デプロイメントの詳細な紹介

バージョン1.4.2公式ドキュメントドッカーハブ起動する環境変数SEATA_CONFIG_NAMEを...

vue.js ベースの QQ チャット ルーム

目次導入効果のデモンストレーションは次のとおりです。 MChat コンポーネントのレンダリング: I...

JS 日付コントロール My97DatePicker の基本的な使い方

My97DatePicker は非常に柔軟で使いやすい日付コントロールです。使い方はとても簡単です。...

固定サイドバーを実現するためのJavaScript

固定サイドバーを実装するにはJavaScriptを使用します。参考までに、具体的な内容は次のとおりで...

vuex での mapState の考え方の応用

目次1. マップ方式2. 応用背景:需要開発プロセス中に、一部のインターフェースは、ページに表示する...

仮想スクロールを簡単に実装するためのVueサンプルコード

目次序文ローリング原理成し遂げるソースコード参照する序文モバイル Web ページの日常的な開発では、...

MySQL の null (IFNULL、COALESCE、NULLIF) に関する知識ポイントのまとめ

この記事では、MySQL の null (IFNULL、COALESCE、NULLIF) に関連する...

VMware に Linux システム (Redhat8) と仮想マシンのネットワーク構成をインストールする方法

目次1. VMwareをインストールする1.1 VMwareworkstationsをダウンロードし...

JavaScript 組み込みオブジェクトの概要

目次1. 組み込みオブジェクト2. 数学オブジェクト1. Mathオブジェクトの使用2. 指定された...

jQuery は拡張アニメーションによるナビゲーション バー効果を実装します

展開アニメーション効果のあるナビゲーションバーを設計してカスタマイズし、デモを作成してみました。設計...