Nginx слушает в порте, только отвечает, если установлено для портирования 80

У меня есть немного сценария жемчуга, что я вставил свою среду удара как функцию:

fileSizeChange <file> [seconds]

Значения по умолчанию секунд сна к 1.

fileSizeChange() {
  perl -e '
  $file = shift; die "no file [$file]" unless -f $file; 
  $sleep = shift; $sleep = 1 unless $sleep =~ /^[0-9]+$/;
  $format = "%0.2f %0.2f\n";
  while(1){
    $size = ((stat($file))[7]);
    $change = $size - $lastsize;
    printf $format, $size/1024/1024, $change/1024/1024/$sleep;
    sleep $sleep;
    $lastsize = $size;
  }' "$1" "$2"
}
10
23.04.2014, 22:50
2 ответа

Оказывается, большая проблема? Nginx установил значение параметра worker_processes равным 0, я добавил строку с параметром auto в верхней части своего nginx.conf, и все было хорошо!

Спасибо всем за ваше время и терпение.

4
27.01.2020, 20:02

Попробуйте использовать следующий блок сервера:

server {
   listen       81 default_server;
    server_name _;    
    root    /usr/share/nginx/html;
    location / {
        index   index.html;
    }
}

Подчеркивание _ - это подстановочный знак. Также *: 81 , скорее всего, не делает того, что вы ожидаете, просто используйте номер порта .

Затем проверьте свои настройки с помощью nginx -t :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Перезапустите nginx:

service nginx restart

Протестируйте с помощью netstat:

root@gitlab:~# netstat -napl | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7903/nginx      
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      2662/unicorn.

Обновление

Я установил nginx в тестовой системе. С помощью стандартного файла nginx.conf и изменения одной строки на / etc / nginx / sites-enabled / default я смог получить файлы с порта 81

cat /etc/nginx/sites-enabled/default
server {

    listen   81;
    server_name localhost;
    root /usr/share/nginx/www;
    index index.html index.htm;


    location / {
        try_files $uri $uri/ /index.html;
    }

    location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        deny all;
    }

}

вывода Netstat :

netstat -napl | grep 81
tcp        0      0 0.0.0.0:81              0.0.0.0:*               LISTEN      3432/nginx

Загрузить файл:

$ wget localhost:81

Содержимое файла:

$ cat index.html
<html>
<head>
<title>Welcome to nginx!</title>
</head>
<body bgcolor="white" text="black">
<center><h1>Welcome to nginx!</h1></center>
</body>
</html>

Update2

Тестовый порт:

 root@gitlab:# nc -vz localhost 81
 Connection to localhost 81 port [tcp/*] succeeded!
 root@gitlab:# nc -vz localhost 443
 nc: connect to localhost port 443 (tcp) failed: Connection refused
5
27.01.2020, 20:02

Теги

Похожие вопросы