必要 最近、Node オンライン サービスを移行する必要があったため、2 つの新しいオンライン サーバーを申請しました。 サーバーを展開した後、サービスが正常かどうかを確認する必要があります。オフィス環境とオンライン環境のネットワークは分離されており、直接アクセスすることはできませんが、展開サーバーを介してオンラインサーバーにアクセスでき、オフィスネットワークは展開マシンにアクセスできます。 したがって、展開マシンにプロキシを構成し、オフィス環境から展開マシンに要求し、その要求をオンライン サービスにプロキシして、サービスが正常かどうかを確認できます。 ネットワーク全体の構造を下図に示します。 Nginx のインストール ダウンロード ダウンロードページ: http://nginx.org/en/download.html バージョンを選択し、右クリックしてリンクアドレスをコピーします # ダウンロード [work@40-10-14 opt]$ wget http://nginx.org/download/nginx-1.18.0.tar.gz # ファイルを解凍します [work@40-10-14 opt]$ tar -xvf nginx-1.18.0.tar.gz インストール # 1. デフォルトのインストール: ルート権限で解凍したディレクトリに入り、次のコマンドを実行してインストールします [root@40-10-14 nginx-1.18.0]# ./configure && make && make install # 2. ディレクトリを指定します: 指定された /opt/nginx ディレクトリにインストールします [work@40-10-14 opt]$ mkdir /opt/nginx [work@40-10-14 nginx-1.18.0]$ ./configure --prefix=/opt/nginx && make && mae install デフォルトのインストールでは、ルート権限がない場合、次のエラーが報告されます。 mkdir: ディレクトリ `/usr/local/nginx' を作成できません: 権限が拒否されました make[1]: *** [インストール] エラー1 make[1]: ディレクトリ `/opt/nginx-1.18.0' を離れます make: *** [インストール] エラー 2 デフォルトのインストール後、nginxのインストールディレクトリを確認すると、/usr/local/nginxディレクトリにインストールされていることがわかります。 [root@40-10-14 opt]# nginxはどこにあるか nginx: /usr/local/nginx 1. 指定されたディレクトリ方式を使用してインストールすることをお勧めします。インストール時にルート権限に切り替えると、その後の設定ファイルの変更にもルート権限が必要になります。 ソフトリンクを追加 ソフトリンクを追加して、nginxコマンドをグローバルにアクセス可能にします。これにより、実行するたびにインストールディレクトリに切り替える必要がなくなります。 # ソフトリンクを追加 [root@40-10-14 sbin]# ln -s /opt/nginx/sbin/nginx /usr/local/bin/ # バージョンを確認する [root@40-10-14 sbin]# nginx -v nginx バージョン: nginx/1.18.0 一般的なコマンド
強制停止: # LinuxプロセスIDを表示する [root@40-10-14 ~]# ps -ef | grep nginx 誰も 45198 1 0 16:12 ? 00:00:00 nginx: ワーカープロセス ルート 51261 50692 0 17:00 pts/0 00:00:00 grep nginx # プロセスを終了する [root@40-10-14 ~]# kill 45198 # 前のプロセスは終了しました [root@40-10-14 ~]# ps -ef | grep nginx ルート 51277 50692 0 17:00 pts/0 00:00:00 grep nginx プロキシの設定 2 台のマシン間でのリクエスト転送を構成するには、nginx インストール ディレクトリの nginx/conf/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 オン; # リクエストは次の2台のマシンに転送され、トラフィックが均等に分割される必要があります。IPとポートを指定しますupstream zpserver { サーバーxx.xx.xx.22:10001; サーバーxx.xx.xx.23:10001; } サーバー{ # nginxサービスポートは80です 聞く 80; server_name ローカルホスト; #文字セット koi8-r; #access_log ログ/host.access.log メイン; # /user ルートパスへのリクエストのみが転送されます location /user { ルートhtml; インデックス index.html index.htm; proxy_pass http://zpserver; } #エラーページ 404 /404.html; # サーバーのエラーページを静的ページ /50x.html にリダイレクトします # エラーページ 500 502 503 504 /50x.html; 場所 = /50x.html { ルートhtml; } # PHP スクリプトを 127.0.0.1:80 で listen している Apache にプロキシします # #場所 ~ \.php$ { # プロキシパス http://127.0.0.1; #} # PHP スクリプトを 127.0.0.1:9000 で待機している FastCGI サーバーに渡します # #場所 ~ \.php$ { #ルートhtml; #fastcgi_pass 127.0.0.1:9000; # fastcgi_index インデックス.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #fastcgi_params を含めます。 #} # Apacheのドキュメントルートが.htaccessファイルへのアクセスを拒否する # nginxのものと一致します # #場所 ~ /\.ht { # すべて拒否; #} } # IP、名前、ポートベースの設定を組み合わせた別の仮想ホスト # #サーバー{ # 8000を聴く; # somename:8080 をリッスンします。 # server_name somename alias another.alias; # 位置 / { #ルートhtml; # インデックス index.html index.htm; # } #} # HTTPS サーバー # #サーバー{ # 443 ssl をリッスンします。 # サーバー名 localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache 共有:SSL:1m; #ssl_session_timeout 5分; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers オン; # 位置 / { #ルートhtml; # インデックス index.html index.htm; # } #} } 注意: nginx設定ファイルを変更した後は、nginx -s reloadを実行して変更を有効にする必要があります。 確認する 多くのオンライン サービスではログインが必要なため、Cookie はドメイン名にバインドされているため、IP ではなくドメイン名を使用してアクセスする必要があります。 この問題の解決は非常に簡単です。ローカル ホストを構成するだけです。 #IPはNginxサーバーのIPです xx.xx.xx.14 xxx.daojia.com 上記の構成では、ローカル ブラウザーで xxx.daojia.com を要求することで、デプロイメント マシン上の Nginx を介してオンライン サービスに間接的にアクセスし、イントラネット内でサービスが正しいかどうかをテストできます。サービスが正常になったら、オンライン トラフィックを切断できます。 Nginx によるネットワーク分離の実践の詳細な記録に関するこの記事はこれで終わりです。より関連性の高い Nginx ネットワーク分離コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
1. まず、次のパスに従って対応するフォルダを作成します。 ローカルのdockerでmysqlを実行...
次のコマンドを使用して、MySQL Serverがインストールされているかどうかを確認します。 [r...
最近、分散型およびビッグデータ技術について学ぶために、いくつかの仮想マシンに取り組んでいます。まず、...
今日、vue3+viteプロジェクトの実践で、svgを使用する場合、以前の記述方法が使用できないこと...
目次uni-app の紹介HTML部分js部分インスタンスを作成する録音を開始録音終了録音を再生再生...
CSS にカスケード メカニズムがあるのはなぜですか? CSS では、同じ要素の特定のプロパティに同...
データとコンピューターに対してできる最善のことは、それらを安全に保つことです。アップデートを有効にす...
目次1. Cocos Creatorでのオーディオ再生の基本1. 基本2. 一般的な方法2. Coc...
解決策はただ一つ、ソースを変更することです。 github からのソースは基本的にタイムアウトするの...
最近、監視機器の作業をしていたとき、ポートがダウンしているというアラームが常に出ていました。データを...
美しい HTML コードの外観 美しい HTML コードの書き方。外国人が書いた記事: 美しい HT...
1. ファイル名検索を実行するwhich ('実行可能ファイル' を検索) //PA...
目次1. WeChat Payを開く1.1 アフィリエイト加盟店番号1.2 加盟店番号を追加する1....
誰もが色にとても敏感だと思います。私たちの目が見るところにはどこにでも色があります。では、CSS で...
システムヘルプを表示help contents mysql> ヘルプコンテンツ; ヘルプ カテ...