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

推薦する

VMwareを使用したPermeateレンジシステムのインストール手順の詳細説明

1. 背景私たちは時々社内研修を行っており、実験環境をよく利用しています。最初はdockerコンテナ...

Javascript デザインパターン プロトタイプ モードの詳細

目次1. プロトタイプモード例1例2例3 2. オブザーバーパターン1. プロトタイプモードプロトタ...

WeChatアプレットリクエストの前処理方法の詳細な説明

質問一部のページでは、onload でデータを要求してからビューをレンダリングするため、ミニプログラ...

mysql 5.7.11 winx64.zip インストールと設定方法のグラフィックチュートリアル

MySql データベース システムをインストールして構成します。 1. ダウンロード http://...

超詳細なMySQL使用仕様の共有

最近、データベース関連の操作が多くなり、会社の既存の仕様はあまり包括的ではありません。インターネット...

nginx のスムーズな再起動を実装する方法

1. 背景サーバーの開発プロセスでは、新しいコードや構成をロードするためにサービスを再起動することが...

CocosCreatorでクールなレーダーチャートを描く方法

目次序文プレビュー文章グラフィックコンポーネントプロパティ機能グリッドを描く軸角度を計算するスケール...

Mysql binlog ログファイルが大きすぎる場合の解決策

目次1. 関連するbinlog設定2. binlogに関する詳細設定2.1 バイナリログモードの変更...

Vue はクリックフリップ効果を実現します

参考までに、vueを使用してクリックフリップエフェクトを簡単に実装します。具体的な内容は次のとおりで...

Linux システムの .bash_profile ファイルの詳細な説明

目次1. 環境変数$PATH: 2. 環境変数を変更します。 3. bash_profileの目的要...

Dockerイメージをインポートおよびエクスポートする方法

この記事では、移行、バックアップ、アップグレードなどのシナリオで使用される Docker イメージの...

ページを更新せずにフォームを送信するには iframe を使用します

そこで、この問題を解決するために埋め込みフレームワークを導入します。具体的な原則は、フォームがデータ...

JS と Nodejs におけるイベント駆動型開発についての簡単な説明

目次イベント駆動型とパブリッシュ・サブスクライブ型ブラウザの JavaScript ではイベント駆動...

CSS3 を使用した SVG パス ストロークのアニメーション化入門チュートリアル

JavaScript に依存せず、純粋な CSS を使用してsvgストローク描画アニメーション効果と...

JavaScript を使用してページ要素のオフセットを取得/計算する方法

質問コントロールをクリックすると、コントロールの下にフローティング レイヤーが表示されます。通常の方...