サーバーに複数のサイトを展開するには、異なるサイトにアクセスするために複数のポートを開く必要があります。プロセスは非常に簡単です。デバッグには 2 時間かかりました。記録は次のとおりです。 メインドメイン名マルチポートアクセス DNSネームサーバーにAレコードを設定する www.xxx.comをサーバーのIPにポイントします 必要なポートを開き、nginx設定ファイルを変更します たとえば、ポート 80 とポート 8080 でそれぞれ 2 つのサービスが開かれているとします。 iptable がある場合は、まずポートを開きます。 iptables -A 入力 -ptcp --dport 80 -j 受け入れる iptables -A 入力 -ptcp --dport 8080 -j 受け入れる 設定ファイルを変更します。 #パス: /usr/local/nginx/conf/nginx.conf サーバー{ 聞く 80; サーバー名 www.xxx.com; access_log /data/www/log/33.33.33.33_nginx.log を結合します。 インデックス index.html index.htm index.php; /usr/local/nginx/conf/rewrite/none.conf を含めます。 ルート /data/www/website/33.33.33.33:80; 場所 ~ [^/]\.php(/|$) { fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index インデックス.php; fastcgi.conf をインクルードします。 } 場所 ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { 有効期限は30日です。 access_log オフ; } 場所 ~ .*\.(js|css)?$ { 有効期限は7日です。 access_log オフ; } } サーバー{ 8080を聴く; サーバー名 A.xxx.com; access_log /data/www/log/33.33.33.33:8080_nginx.log を結合しました。 インデックス index.html index.htm index.php; /usr/local/nginx/conf/rewrite/none.conf を含めます。 ルート /data/www/website/33.33.33.33:8080; 場所 ~ [^/]\.php(/|$) { fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index インデックス.php; fastcgi.conf をインクルードします。 } 場所 ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { 有効期限は30日です。 access_log オフ; } 場所 ~ .*\.(js|css)?$ { 有効期限は7日です。 access_log オフ; } } 鍵となるのは2つのサーバーセクションです。この2つのセクションを2つの構成ファイルに分割して、 nginx.conf は、 ディレクトリの下; サブドメインマルチポートアクセス この種のアクセスは無意味です。ポート 8080 へのアクセスは http://xxx.com:8080 の形式である必要があるためです。 また、2 つの異なる cgi がある場合、たとえば、ポート 80 は PHP Web サービスに対応し、ポート 8080 は nodejs Web サービスに対応します。nodejs には、すでにポート 8080 でリッスンしている Web サービスが付属している場合は、どうすればよいでしょうか。 この時点で、Nginxのリバースプロキシ機能が必要となり、DNSサーバーにAレコードを追加して最終的に実現します。
Aレコードを追加する A.xxx.comをサーバーのIPにポイントする Nginx 構成テンプレートは次のとおりです。 #パス: /usr/local/nginx/conf/nginx.conf サーバー{ 聞く 80; サーバー名 www.xxx.com; access_log /data/www/log/33.33.33.33_nginx.log を結合します。 インデックス index.html index.htm index.php; /usr/local/nginx/conf/rewrite/none.conf を含めます。 ルート /data/www/website/33.33.33.33:80; 場所 ~ [^/]\.php(/|$) { fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index インデックス.php; fastcgi.conf をインクルードします。 } 場所 ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { 有効期限は30日です。 access_log オフ; } 場所 ~ .*\.(js|css)?$ { 有効期限は7日です。 access_log オフ; } } サーバー{ 聞く 80; 聞く [::]:80; サーバー名 A.XXX.com; proxy_connect_timeout 300秒; proxy_send_timeout 300秒; proxy_read_timeout 300秒; fastcgi_send_timeout 300秒; fastcgi_read_timeout 300秒; 位置 / { プロキシパス http://127.0.0.1:3000; プロキシ_http_バージョン 1.1; proxy_set_header アップグレード $http_upgrade; proxy_set_header 接続 'アップグレード'; proxy_set_header ホスト $host; proxy_cache_bypass $http_upgrade; try_files $uri $uri/ =404; } } nginxは設定ファイルを再読み込みします nginx -s リロード 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: React リストバーとショッピングカートコンポーネントの使用の詳細な説明
>>: MySQLデータベースの追加、削除、変更操作の詳細な説明
序文Linux では、コンパイルとリンクには Makefile を使用する必要がありますが、適切な ...
本日の投稿では、Web デザインで使用される円形要素の優れた例をいくつか挙げ、美しい丸いボタン、メニ...
設置環境1. gccのインストールnginxをインストールするには、まず公式サイトからダウンロードし...
シンプルな機能: ブラウザの右上隅にあるプラグイン アイコンをクリックすると小さなポップアップ ウィ...
企業では、データベースの高可用性は常に最優先事項です。多くの中小企業は、MySQL マスター スレー...
HTTPS ウェブサイトの構築コストが下がるにつれて、ほとんどのウェブサイトが HTTPS プロトコ...
1. インストールパッケージをダウンロードするインストール パッケージは次の場所にあります:参考:...
基本概念デフォルトでは、Compose はアプリケーション用のネットワークを作成し、サービスの各コン...
最近、個人のウェブサイトを書き直しました。Alibaba Cloudで新しいサーバーを購入しました。...
VMware ワークステーションの仮想マシンの互換性の問題を解決するにはどうすればよいですか?ノート...
Linux サーバーで作業している場合、ネットワーク カード/イーサネット カードに静的 IP アド...
各ブラウザの select タグのプロパティと各ブラウザのサポートが多少異なるため、各ブラウザでの選...
目次1. フロントエンドのリーディングプロセス: 2. プラグインの使用と初期化2.1 vue-ad...
1. 背景実際のプロジェクトでは、分散スケジュールされたタスク実行の状況に遭遇することがあります。ス...
長い間 MySQL を使ってきたので、SQL 文はすでに覚えていると思います。そこで、その実行原理を...