Установлен nginx и Apache на порту 8080. Проблема в том, что я создаю сайт для производственного домена (скажем, mysite.com) и все настроено для этого домена. Я меняю свой файл хостов Windows на перенаправление mysite.com на IP-адрес сервера, и он работал хорошо ... до того, как я установил nginx. Nginx сам разрешает домены и (очевидно) не может разрешить домен mysite.com
Журнал говорит:
2012/02/07 07:35:29 [error] 11758#0: *1 mysite.com could not be resolved (110: Operation timed out), client: 89.112.11.xx, server: myssite.com, request: "GET / HTTP/1.1", host: "mysite.com"
Что ж, тогда я пытаюсь изменить файл hosts на своем сервере. Я делаю это в / etc / hosts:
127.0.0.1 mysite.com
Ладно, попробуем! Если это вступит в силу, по крайней мере, wget сочтет это правильным, верно? Поскольку у меня Apache на 8080-м порту, я могу получить главную страницу:
wget mysite.com
Он загружает правильную страницу. Это означает, что / etc / hosts работает хорошо.
Но ngnix все равно не решает эту проблему! Даже после перезапуска сервера. Зачем? У него есть свой резолвер что ли? Как заставить работать?
вы можете использовать dnsmasq на 127.0.0.1 для разрешения из / etc / hosts и поместить преобразователь 127.0.0.1 в конфигурацию nginx
nginx не использует hosts
файл для разрешения домена. Если вы используете доменные имена для listen
, proxy_pass
или fastcgi_pass
, вы можете использовать IP-адрес или localhost
вместо:
listen localhost:80;
server_name mysite.com;
...
location / {
proxy_pass http://localhost:8080;
}