web-dev-qa-db-ja.com

nginxデフォルトサーバーが機能しない

私は最新のdotdeb nginx-liteであるDebianを使用しています。 nginxが見つけた最初のserverセクションは、ドメインに特定のサーバーセクションがない場合に使用されるフォールバック/デフォルトセクションとして使用されることを読みました。

削除しました sites-availableおよびsites-enabled専用マウントを使用しているため、インストールから/wwwすべてのhttp関連。

ぼくの /etc/nginx/nginx.confには、他の設定を含む次の行があります:

    include /www/conf.d/nginx/default.conf;
    include /etc/nginx/conf.d/*.conf;
    include /www/conf.d/nginx/*;

default.confは次のようになります。

server {
        server_name 0.0.0.0;
        listen 0.0.0.0:80;
        rewrite ^ http://mymaintarget.com permanent;
}

これは私にはうまくいきません。私はまだこの警告を受けます:

Restarting nginx: nginxnginx: [warn] conflicting
server name "0.0.0.0" on 0.0.0.0:80, ignored

他のサーバーセクションがなく、default.confが最初に含まれている/使用されていることを確認します。

誰が何が悪いのか、またはデフォルトのサーバーを構成する正しい方法がどのようになっているのか知っていますか?

更新完全な設定ファイル:

nginx.conf:

user www-data;
worker_processes 8;
pid /run/nginx.pid;

events {
        worker_connections 768;
}

http {
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 10;
        types_hash_max_size 2048;
        server_tokens off;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        error_log /var/log/nginx/error.log;

        gzip on;
        gzip_disable "msie6";
        gzip_vary on;


        # Default VirtualHost
        include /www/conf.d/nginx/default.conf;

        # conf.d is empty anyways
        #include /etc/nginx/conf.d/*.conf;

        # VirtualHosts
        include /www/conf.d/nginx/*;
}

default.conf:

server {
        listen 80 default_server;
        rewrite ^ http://blog.flowl.info permanent;
}
4
Daniel W.

デフォルトのサーバーを設定するには:

server {
    listen 80 default_server;
    rewrite ^ http://mymaintarget.com$request_uri? permanent;
}

Default_serverパラメータには、他のドメイン、IPなどが含まれます

詳細 nginx

4
krokola
    # Default VirtualHost
    include /www/conf.d/nginx/default.conf;

    # conf.d is empty anyways
    #include /etc/nginx/conf.d/*.conf;

    # VirtualHosts
    include /www/conf.d/nginx/*;

「default.conf」が含まれ、次に含まれるagain in /www/conf.d/nginx/*

最初のインクルードを削除し、「default.conf」の名前を「_default.conf」に変更して、ファイルがワイルドカードインクルードに最初に含まれるようにしました。

1
Daniel W.