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

推薦する

MySQLログに関する知識のまとめ

目次SQL実行順序ビンログ何ですかいつ生産されるのか何の役に立つんだディスクはいつドロップされますか...

MySQL (InnoDB) がデッドロックを処理する方法の詳細な説明

1. デッドロックとは何ですか?正式な定義は次のとおりです: 2 つのトランザクションが相手側で必要...

ftp は SSH 経由で Linux にリモート接続します

まず Linux に ssh をインストールします。例として Centos を使用します。ポータル:...

HTML ページ内の js および css ファイルのキャッシュを自動的にクリーンアップします (バージョン番号を自動的に追加します)

Web プロジェクトの開発プロセスでは、CSS ファイルや JS ファイルを参照することがよくあり...

ポップアップウィンドウの上下中央左右と透明な背景のロックウィンドウ効果を実現する CSS

クリック後にポップアップボックスを実現し、上下左右に中央揃えし、灰色の透明マスクを追加してウィンドウ...

HTML でのアンカーポイントの適用

アンカーポイントの設定<a name="トップ"></a>...

Tomcat マルチレイヤーコンテナの設計に関する簡単な説明

目次コンテナ階層サーブレットの検索を要求するプロセス仕組みTomcat のコンテナは Servlet...

実用的な MySQL + PostgreSQL バッチ挿入更新 insertOrUpdate

目次1. 百度百科事典1. MySQL 2. PostgreSQL 3. MySQL に対する Po...

CSSはクーポンスタイルを実装するために放射状グラデーションを使用します

この記事では、CSS で放射状グラデーションを使用して、次の図に示すクーポン スタイルの効果を実現す...

React NativeのScrollViewプルダウンリフレッシュ効果

この記事では、React Native ScrollViewのプルダウンリフレッシュ効果の具体的なコ...

Vue のレスポンシブ原則と双方向データの詳細な分析

応答性を実現するための object.defineProperty の理解observe/watch...

Vueの計算プロパティの詳細な説明

1. 計算属性とは何ですか? 簡単に言えば、計算された結果が属性に保存されるもので、キャッシュとして...

Vue での props の使い方の紹介

序文: Vue では、props を使用して、もともと分離されていたコンポーネントを直列に接続するこ...

Datagrip2020 が MySQL ドライバーのダウンロードに失敗する

「downloadlaod」を直接クリックしてもダウンロードできない場合は、ここからダウンロードす...

Linux でバックグラウンドで実行中のプログラムを表示して終了する方法

1. .shファイルを実行する./sh ファイルを使用して直接実行することもできますが、現在のターミ...