Простая конфигурация Nginx не работает

Простая конфигурация Nginx не работает

Я разработчик без какого-либо опыта работы с серверами, этот проект, над которым я работаю, — мой первый опыт работы в мире серверов. По сути, мне нужно разместить API онлайн на сервере Linode с запущенным Nginx на Ubuntu. И у меня возникли проблемы с настройкой простого серверного блока для размещения страницы индекса html с одним только тегом h1, говорящим «привет». Я следовал и читал различные руководства по созданию простого серверного блока, у меня даже эти блоки работают на локальной машине, но у меня возникли проблемы с тем, чтобы заставить их работать на удаленном сервере.

Я покажу вам несколько блоков, которые у меня не заработали на 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чтобы открыть порт.

Связанный контент