ドメイン名を介してプロジェクトにアクセスする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グループリンクの使用に関する詳細な説明

MYSQL におけるグループ化とリンクは、データベースの操作やデータのやり取りで最もよく使用される ...

MySQLのファジークエリの要約

1. 一般的な使用法: (1)%で使用する% は 1 つ以上の文字のワイルドカードを表します。たとえ...

MySQL の NOT IN 充填ピットの NULL 列の問題の解決方法

以前、会社で小さな機能に取り組んでいたとき、特定の状況でデータがいくつあるかを数えてから問題を修正し...

Dockerコンテナでユーザーを分離する方法

前回の記事「Docker コンテナの UID と GID を理解する」では、Docker コンテナ内...

VueはTodoListの例をカプセル化し、ブラウザのローカルキャッシュのアプリケーションを実装します。

この記事では主に、Vue で TodoList をカプセル化するケースと、ブラウザのローカル キャッ...

URLパラメータに基づくNginx転送

使用シナリオ:ジャンプ パスは、傍受された URL に応じて動的に構成する必要があります。これは、イ...

MySQLクエリトランザクション処理へのノード接続の実装

目次トピックmysqlの追加、削除、変更、クエリを入力しますMySQL トランザクション処理私は M...

CSS3 グラデーション背景の互換性の問題

グラデーションの背景色を作成するときは、 linear-gradient() 関数を使用して線形グラ...

高可用性 Web クラスターを実装するための Keepalived+Nginx+Tomcat サンプル コード

高可用性 Web クラスターを実現する Keepalived+Nginx+Tomcat 1. Ngi...

コードレイン効果を実現するJavaScriptキャンバス

この記事では、コードレイン効果を実現するためのキャンバスの具体的なコードを参考までに共有します。具体...

MySQLデータベースでサポートされているストレージエンジンの比較

目次ストレージエンジンMySQL でサポートされているストレージ エンジン同時実行制御ロック粒子をロ...

ブラウザ内でHTMLタグを中央に配置するCSSスタイル

CSS スタイル:コードをコピーコードは次のとおりです。 <スタイル タイプ="te...

Vue でログインと登録テンプレートを実装するためのサンプルコード

テンプレート 1: ログイン.vue <テンプレート> <p class=&quo...

Dockerコンテナ内にkibanaトークナイザーをインストールする方法

ステップ: 1. 仮想マシンディレクトリに新しいdocker-compose.ymlファイルを作成し...

HTML CSS3は画像表示効果を引き伸ばさない

1. transform 属性を使用して、画像を拡大せずに表示します (パスの問題は必要に応じて修正...