VM의 nginx 웹 서버가 호스트에 액세스할 수 없습니다.

VM의 nginx 웹 서버가 호스트에 액세스할 수 없습니다.

내 노트북은 Ubuntu 14.10 데스크톱을 실행하고 libvirtVM에서 14.10 서버를 호스팅합니다( setup 사용 virt-manager). .openssh-server

문제는 브라우저에 "연결 시도가 거부되었습니다"라는 메시지가 표시된다는 것입니다. SSH를 사용할 수 있으므로 네트워크 문제는 아니지만 문제가 무엇인지 모르겠습니다. 나는 아무데도 가지 않았고 iptables그 후속 제품이 무엇인지 모르고 전체 네트워크 구성을 libvirt네트워크 defaultDHCP에 의존하고 있습니다.

알아야 할 구성 세부 사항이 있으면 언제든지 문의해 주세요.

답변1

나는 이것을 알아 냈습니다. 내가 의심했던 것처럼 이것은 네트워크 스택과 아무 관련이 없으며 비난은 전적으로 nginx 구성 오류에 있습니다. 모든 구성 파일을 지우고 nginx를 다시 설치했지만 nginx가 전혀 작동하지 않는 두 가지 이유가 있다는 것을 알게되었습니다.

첫 번째는 /etc/nginx/sites-enabled/www(유일하게 활성화된 가상 호스트) 두 가지 정의가 있는 것으로 나타났습니다 fastcgi_pass.

location ~ \.php$ {
    include snippets/fastcgi-php.conf;

    # With php5-cgi alone:
    fastcgi_pass 127.0.0.1:9000;
    # With php5-fpm:
    fastcgi_pass unix:/var/run/php5-fpm.sock;
}

/etc/nginx/nginx.conf"기본 설정" 섹션에서 다음 줄을 편집하기 전까지는 모든 것이 괜찮았습니다 .

client_max_body_size  4096k;
client_header_timeout 10;
client_body_timeout   10;
keepalive_timeout     10 10;
send_timeout          10;

이제는 그것이 정확히 어떤 줄인지, 왜 문제를 일으키는지 알 수 없으므로 귀찮게 할 필요가 없습니다. 한 명을 팔로우하고 있어요오래되고 오래된 가이드(2012년 출시, IT 기준으로는 꽤 오래된 내용) 웹 서버 스택 설정, 이 이야기에 교훈이 있나요? 가이드를 맹목적으로 따르지 말고 각 명령어의 기능과 사용 중인 소프트웨어 버전과 관련된 내용을 정확히 확인하세요. 아, 그런데 fastcgi_pass그건 가이드 때문이 아니라 내 실수였다.

답변2

다음 구성을 사용해 보세요.

try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;

"keepalive_timeout 10 10;"을 편집하십시오.

keepalive_timeout 10;

최대 본체 크기를 편집할 수 있습니다.

client_max_body_size 20m;

관련 정보