
У меня есть внутреннее приложение php, которое зависало у пользователей практически каждый день. Я перезапускал приложение (docker), и это снимало проблему на день, но не решало ее навсегда. Поэтому сегодня я более подробно изучил журнал ошибок nginx. Более внимательный взгляд на ошибки заставил меня понять, что запрос был отправлен на 172.17.8.101. Этот IP-адрес является локальным IP-адресом, который я использую локально для разработки, но когда я отправляю его в производство, IP-адрес становится 192.168.254.96. Поэтому я подумал, что могу поместить два разных IP-адреса в блок сервера, но, должно быть, я ошибаюсь.
2015/03/03 15:44:44 [error] 42#0: *7006 open() "/var/www/contentlibrary/favicon.ico" failed (2: No such file or directory), client: 192.168.254.63, server: 172.17.8.101, request: "GET /favicon.ico HTTP/1.1", host: "192.168.254.96:8083"
2015/03/03 15:44:44 [error] 42#0: *7006 open() "/var/www/contentlibrary/favicon.ico" failed (2: No such file or directory), client: 192.168.254.63, server: 172.17.8.101, request: "GET /favicon.ico HTTP/1.1", host: "192.168.254.96:8083"
2015/03/03 14:11:17 [error] 40#0: *6715 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.254.80, server: 172.17.8.101, request: "POST /pagecreator/index.php/page_creator/grouping/getGroupsByContentId HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-fpm.sock", host: "192.168.254.96:8083", referrer: "http://192.168.254.96:8083/app/index.php?user=John%20Doe"
2015/03/03 14:22:15 [error] 40#0: *6726 open() "/var/www/contentlibrary/favicon.ico" failed (2: No such file or directory), client: 192.168.254.63, server: 172.17.8.101, request: "GET /favicon.ico HTTP/1.1", host: "192.168.254.96:8083"
Блок сервера в файле conf использовал несколько имен серверов. Поскольку это нарушает работу производства, как можно поддерживать мою среду разработки, не создавая два разных блока сервера?
include /etc/nginx/conf.d/*.conf;
index index.php index.html index.htm;
## Content Library
server {
server_name 172.17.8.101 192.168.254.96; // Problem HERE
#access_log logs/contentlibrary_access.log;
root /var/www/contentlibrary;
#default_type text/html;
index index.php index.html index.htm;
location / {
}
location /app{
try_files $uri $uri/ /index.php /index.php$uri =404;
root /var/www/contentlibrary/app;
}
location ~* \.(jpg|jpeg|gif|png|html|htm|css|zip|tgz|gz|rar|doc|xls|pdf|ppt|tar|wav|bmp|rtf|swf|flv|txt|xml|docx|xlsx|js)$ {
try_files $uri $uri/ /index.php$uri =404;
access_log off;
expires 30d;
}