1. ホーム
  2. nginx

[解決済み] nginx - 2つのサブドメインの設定

2022-03-06 19:15:43

質問

Nginxの初心者ですが、サブドメインを動作させようとしています。

私がしたいことは、私のドメイン(それを example.com ) を追加してください。

  • sub1.example.com ,
  • sub2.example.com を持ち、さらに
  • www.example.com を利用できます。

Apacheでこれを行う方法は知っていますが、Nginxは本当に頭を悩ませています。

私はDebian 6を使用しています。

私の現在の/etc/nginx/sites-enabled/example.comです。

server {
    server_name www.example.com example.com;
    access_log /srv/www/www.example.com/logs/access.log;
    error_log /srv/www/www.example.com/logs/error.log;
    root /srv/www/www.example.com/public_html;

    location / {
        index  index.html index.htm;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /srv/www/www.example.com/public_html$fastcgi_script_name;
    }
}

example.com と www.example.com を提供するために動作しています。

同じファイルに2つ目のサーバーブロックを追加してみました。

server {
        server_name www.example.com example.com;
        access_log /srv/www/www.example.com/logs/access.log;
        error_log /srv/www/www.example.com/logs/error.log;
        root /srv/www/www.example.com/public_html;

        server {
            server_name sub1.example.com;
            access_log /srv/www/example.com/logs/sub1-access.log;
            error_log /srv/www/example.com/logs/sub1-error.log;
            root /srv/www/example.com/sub1;
    }
        location / {
            index  index.html index.htm;
        }

        location ~ \.php$ {
            include /etc/nginx/fastcgi_params;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /srv/www/www.example.com/public_html$fastcgi_script_name;
        }
}

運が悪い。何かアイデアはありますか?ご意見をお聞かせください。

解決方法は?

サーバーブロックの中にサーバーブロックを置くのが間違いです。メインのサーバーブロックを閉じてから、サブドメイン用に新しいサーバーブロックを開く必要があります。

server {
    server_name example.com;
    # the rest of the config
}
server {
    server_name sub1.example.com;
    # sub1 config
}
server {
    server_name sub2.example.com;
    # sub2 config
}