간단한 Nginx 구성이 작동하지 않습니다

간단한 Nginx 구성이 작동하지 않습니다

저는 서버 경험이 전혀 없는 개발자입니다. 제가 진행하고 있는 이 프로젝트는 서버 세계에 처음으로 입문하는 것입니다. 기본적으로 Ubuntu에서 Nginx를 실행하는 Linode 서버에서 온라인으로 API를 호스팅해야 합니다. 그리고 'hello'라는 h1 태그만 사용하여 html 인덱스 페이지를 호스팅하도록 간단한 서버 블록을 설정하는 데 문제가 있습니다. 저는 간단한 서버 블록을 작동시키는 방법에 대한 다양한 튜토리얼을 읽고 읽었습니다. 심지어 이러한 블록이 로컬 컴퓨터에서도 작동하지만 원격 서버에서 작동하게 하는 데 문제가 있습니다.

Linode에서 제대로 작동하지 않은 몇 가지 블록을 보여 드리겠습니다.

첫째, 정적 HTML 페이지를 서버하는 간단한 블록입니다. 이는 내 로컬 컴퓨터에서 작동합니다.

server {

    listen 8005;
    index index.html;
    root /srv/www/site;

}

또 다른 간단한 블록:

server {

    listen [server ip]:8006;
    server_name "";
    index index.html;
    root /srv/www/site;

    location ~/ {

        root /srv/www/site;

    }

}

PHP 제공을 위한 블록(로컬에서 작동):

server {

    listen [server ip]:8007;
    server_name "";
    index index.php index.html index.htm;
    root /srv/www/site;

    location / {

        try_files $uri $uri/ /index.php?q=$uri&$args;

    }

    location ~* \.php$ {

        try_files $uri /index.php;
        fastcgi_index index.php;
        fastcgi_pass 127.0.0.1:9000;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_NAME $fastcgi_script_name;

    }

}

브라우저를 통해 액세스하려고 할 때마다 서버 연결 시간 초과가 발생했습니다. DNS 설정이 없어서 서버 IP와 포트 번호를 사용하여 액세스하려고 했습니다.

[server ip]:[port]

또는

[server ip]:[port]/index.html

하지만 아무것도 얻지 못했습니다.

따라서 문제를 일으킬 수 있는 한 가지는 다른 응용 프로그램이 이미 서버에서 호스팅되고 있다는 사실입니다. 자체 블록이 있고 자체 포트에서 실행됩니다. 이를 가리키는 자체 DNS 이름이 있습니다. 하지만 이 중 어느 것도 중요하지 않겠죠? 각 서버 블록은 기본적으로 가상 서버이거나 가상 도메인을 생성합니다. IP와 포트를 통해 액세스하면 제대로 작동하지만 작동하지 않습니다!

그게 제가 생각할 수 있는 전부입니다. 이 분야에 대한 제 지식은 한계에 도달했고 똑똑한 사람들의 도움이 필요합니다!

답변1

127.0.0.1:8005를 사용하여 동일한 서버에서 액세스해 보십시오. 작동한다면 IP 테이블입니다. 이 경우 다음과 같이 실행해 보십시오. iptables -A INPUT -i eth0 -p tcp --dport 8005 -j ACCEPT포트를 엽니다.

관련 정보