ドメイン名を介してプロジェクトにアクセスする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 でシステムを最適化する手順

推薦する

Vue3 (パート 2) Ant Design Vue の統合

目次1. Ant Design Vueを統合する2. コンポーネントの使用1. 完全な引用2. コン...

Windows 10 で Ubuntu 20.04 LTS をアップデートする方法

2020 年 4 月 23 日、本日、Windows 上の Ubuntu 20.04 では、Ubun...

JavaScript を使用して QR コードを解析する 3 つの方法

目次1. JavaScriptを使用してQRコードを解析する1. QR コードとは何ですか? 2.q...

Linux での MySQL のアンインストールとインストールのグラフィック チュートリアル

ブログを書くのは初めてです。開発に携わって2年になります。仕事の後に何か有意義なことを見つけたいと思...

Vueは書籍ショッピングカートの機能を実現

この記事の例では、書籍ショッピングカート機能を実現するためのVueの具体的なコードを参考までに共有し...

Nginx ポート競合を解決するトラブルシューティング方法の例

問題の説明データ転送に Nginx を使用し、フロントエンドとバックエンドが分離された Spring...

Vueは小さな天気予報アプリケーションを実装します

これは私が Vue フレームワークを独学していたときに真似したウェブサイトです。いくつかの都市の天気...

MySQL クロステーブルクエリとクロステーブル更新

SQL の基礎知識がある友人は、「クロステーブル クエリ」について聞いたことがあるはずですが、クロス...

エレガントなJSコードの書き方

目次変数意味があり発音しやすい変数名を使用する同じ型の変数には同じ語彙を使用する検索可能な名前を使用...

Vueはルールを使用してフォームフィールドの検証を実装します

Vue でフォーム フィールドを記述および検証する方法は多数あります。このブログでは、より一般的に使...

Vueはログインタイプの切り替えを実装します

この記事では、ログインタイプの切り替えを実装するためのVueの具体的なコードを例として紹介します。具...

HTML マウス CSS コントロール

一般的に、マウスは上向きの斜め矢印として表示され、テキストの上に移動すると垂直線になり、ハイパーリン...

Reactコンポーネントをフルスクリーンにする方法

導入この記事は、 React + antdをベースにして、完全な全屏demoを紹介します。その理由は...

Vue の img の src 画像アドレスの動的スプライシングの問題について

Vue での img の動的スプライシングを見てみましょう。src 画像アドレス、具体的な内容は次の...

LinuxでIPアドレスが表示されない問題の解決方法

目次序文解決:ステップ1ステップ2序文環境: VMware Workstation 上に Linux...