4

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

Я покажу вам несколько блоков, которые не работают для меня на Линоде:

Во-первых, простой блок для сервера статической 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 ответ1

0

попробуйте получить доступ с того же сервера, используя 127.0.0.1:8005 - если он работает, то это ваши IP-таблицы. В этом случае попробуйте выполнить что-то вроде: iptables -A INPUT -i eth0 -p tcp --dport 8005 -j ACCEPT чтобы открыть порт.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .