De repente, Nginx diz “[emerg]” servidor “diretiva não é permitida” na primeira linha do arquivo conf

2

Sou bem novo na administração de servidores e estou tendo uma enorme dor de cabeça tentando consertar um arquivo conf nginx que simplesmente não funcionará em uma máquina remota Debian. Sempre que eu tento depurar o arquivo fazendo nginx -c sites-enabled/estadaodados.com -t , acabo com esta resposta:

nginx: [emerg] "server" directive is not allowed here in /etc/nginx/sites-enabled/estadaodados.com:1

Este é o meu arquivo nginx.conf:

user www-data;
worker_processes 2;
pid /var/run/nginx.pid;

events {
  worker_connections 768;
  multi_accept on;
  use epoll;
}

http {    
  set_real_ip_from 127.0.0.1;
  real_ip_header X-Forwarded-For;
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 20;
  client_max_body_size 15m;
  client_body_timeout 60;
  client_header_timeout 60;
  client_body_buffer_size  1K;
  client_header_buffer_size 1k;
  large_client_header_buffers 4 8k;
  send_timeout 60;
  reset_timedout_connection on;
  types_hash_max_size 2048;
  server_tokens off;
  server_names_hash_bucket_size 64;
  include /etc/nginx/mime.types;
  default_type application/octet-stream;
  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;
  log_format main '$remote_addr - $remote_user [$time_local] '
  '"$request" $status $body_bytes_sent "$http_referer" '
  '"$http_user_agent" "$http_x_forwarded_for"';

  gzip on;
  gzip_static on;
  gzip_disable "MSIE [1-6].*(MSIE?.*SV1)";
  gzip_vary on;
  gzip_proxied any;
  gzip_comp_level 6;
  gzip_min_length 512;
  gzip_buffers 16 8k;
  gzip_http_version 1.1;
  gzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/x-javascript application/json application/xml application/rss+xml font/truetype application/x-font-ttf font/opentype application/vnd.ms-fontobject image/svg+xml;

  # Virtual Host Configs
  include /etc/nginx/sites-enabled/*;
}

E este é o meu arquivo conf que está na pasta habilitada para sites (acabei de excluir todas as configurações antigas e extensas, mas mesmo esse pequeno bloco de código ainda não funciona):

server {                                                                                                                                                                                                                                                                                                                                                     
  server_name estadaodados.com;
  listen *:80;
  root /home/edados/www/main;
  port_in_redirect off;
  server_tokens off;
  autoindex off;
  index index.html index.htm index.php;
}

O que é que sinto falta?

    
por rodrigoburg 22.09.2015 / 04:06

1 resposta

1

Durante a depuração do nginx config, é necessário fornecer o caminho para o arquivo principal nginx.conf , que começa com http block. Como você está diretamente fornecido sua configuração vhost para nginx -t seu erro de lançamento.

Você deve fazer nginx -c /path/to/nginx.conf -t .

    
por 22.09.2015 / 09:16