HTTPS +マルチサイトの仮想ホストの設定の下でLinuxのnginxの

オリジナル: HTTPS +マルチサイトの仮想ホストの設定の下でLinuxのnginxの

ユニバーサルバウチャーを提供してアリの雲は、元のバウチャーが波共有1888年まで受け取ることができアリクラウド封筒アリクラウド購入入り口を

負荷の軽いサーバーの場合は、Webサイトでは、資源の無駄が少なくを感じ、またはデプロイされる複数のサイトを持っていますが、一つだけ、サーバーが単一のホスト、その上に複数のWebサイトを実行することができますだけでなく、実行します。もちろん私たちは、あなたが別のディレクトリを使用することができ、この方法の利点は、比較的簡単ですが、別のサイトを区別するが、混乱のウェブサイトのファイルを引き起こす可能性があり、競合かもしれフレームを使用している場合、簡単にこの問題を解決することができ、仮想ホストを使用しています。

レディ
  • ドメイン名が提出されました
  • nginxのサーバーがあります。
  • SSL証明書(ないオープンHTTPSを無視することができます)
  1. サブドメインを追加します。たとえば、ドメイン名がある登録qiandu.comあなたは、このような複数のセカンダリとして独自のサブドメイン名を設定することができ、m.qiandu.comapi.qiandu.comなど。アリ雲は例を解決するには


    A、ホスト・レコードを選択するレコードの値を直接そのようなセカンダリドメインとしてライン上の2人のドメイン名、充填m.qiandu.com、単に充填M行。記録された値は、サーバーのIPアドレスである、そしてそれに決定します。ドメイン名を追加した後、あなたは無料のSSL証明書をダウンロードして行くことができます。

  2. 設定のSSL証明書。(NA HTTPSをスキップすることができます)サーバとアリクラウド資格情報からダウンロードし、nginxの設定ファイルディレクトリの側にある、例えば/etc/nginx、このディレクトリ内に新しいディレクトリを作成し、例えばssl、その後、ここで証明書を置きます。読める権限がなければならないことに注意してください

  3. 設定しnginxの。彼らの特定の状況によると、通常、nginxの設定ファイルのディレクトリを入力します/etc/nginx一般的に存在しますconf.dディレクトリまたはvhostそれはライン、[編集]に占有されていないとして、ディレクトリ名が長いと、何が問題ではないnginx.confhttpノードを追加するinclude /etc/nginx/conf.d/*.conf;
    ファイル名として、一般的にドメイン名に、区別を容易にするために、conf.dディレクトリ内の構成ファイルを追加するには、たとえば、ドメイン名m.qiandu.com、新しいですm.qiandu.com.confそして、設定情報を追加

server
{
    listen 80;
    server_name m.qiandu.com;
    index index.html index.htm index.php default.html default.htm default.php;
    root  /home/www/m.qiandu.com;
    include php.conf;
    include rewrite/thinkphp.conf;
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
    }

    location ~ /.well-known {
        allow all;
    }

    location ~ /\.
    {
        deny all;
    }

    access_log off;
}

server
{
    listen 443 ssl http2;
#listen [::]:443 ssl http2;
    server_name m.qiandu.com;
    index index.html index.htm index.php default.html default.htm default.php;
    root  /home/www/m.qiandu.com;
    ssl on;
    ssl_certificate   /etc/nginx/ssl/m.qiandu.com.pem;
    ssl_certificate_key  /etc/nginx/ssl/m.qiandu.com.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    include php.conf;
    include rewrite/thinkphp.conf;
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
    }

    location ~ /.well-known {
        allow all;
    }

    location ~ /\.
    {
        deny all;
    }

    access_log off;
}

最初は、HTTPサーバーの構成、第二の構成はHTTPSです。
server_name m.qiandu.com;ドメイン名は、ドメイン名がある場合にのみ一致したm.qiandu.comアクセス、応答します。
root /home/www/m.qiandu.com;ディレクトリサイトのファイルであり、ノート、nginxのは、ディレクトリへのアクセス権を読み書きしている
他の構成情報の導入を含め、私はPHPを使用、PHPの設定情報、並びに構成を書き換えるの導入について。設定を選択する必要
php.confを

location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

いくつかありますlocation静的ファイルのためにそのアクセス制御が。
、構成され、保存してください。
service nginx restartサーバーを再起動し、次のようにアクセスしよう

概要

これらは、コンフィギュレーションnginxの仮想ホスト、限り、あなたはサーバーをロードできるよう、複数のサイトを構成することができ、同じ方法で、ライン上のプロファイルを追加している
、すべての設定ファイルで、実際にnginx.confファイルに書き込むことができますが、読書や修正の便宜のためにこれらは一般による導入を含め、複数のファイルに書かれています

おすすめ

転載: www.cnblogs.com/lonelyxmas/p/12446236.html