私は最新の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;
}
デフォルトのサーバーを設定するには:
server {
listen 80 default_server;
rewrite ^ http://mymaintarget.com$request_uri? permanent;
}
Default_serverパラメータには、他のドメイン、IPなどが含まれます
詳細 nginx
# 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」に変更して、ファイルがワイルドカードインクルードに最初に含まれるようにしました。