Necessário NGINX configurado para o Amazon EC2 / Wordpress - 502 gateway inválido / 403 proibido

1

Eu instalei o wordpress com sucesso em uma instância do Amazon EC2. Ele estava funcionando, no entanto, o serviço do apache continuou diminuindo a velocidade da minha máquina e causando excesso de instâncias. Por causa disso, decidi mudar para o NGINX. Já está instalado no meu servidor. Está parcialmente configurado, mas não consigo trabalhar totalmente.

Estou recebendo 403 proibido ao acessar qualquer pasta diretamente e erro de gateway 502 ruim ao acessar e arquivos diretamente .. Só assim você sabe, eu tenho um IP elástico e vários domínios que apontam para esse IP.

O que eu preciso é que cada domínio aponte para um subdiretório diferente ou "root", com o primeiro domínio apontando para o diretório de nível mais alto, por exemplo:

domain1 > / var / www domínio2 > /var/www/domain2.com domínio3 > /var/www/domain3.com

Aqui está o meu arquivo nginx.conf:

    # For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    index index.php index.html index.htm;

    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay        on;

    keepalive_timeout  10;

gzip on;
gzip_disable "msie6";
gzip_proxied any;
gzip_comp_level 3; #You can vary this. 1 is least compression, 9 is most. I'll keep it low, since we have low CPU power.
gzip_buffers 16 8k;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

server {
    listen 80;
    server_name www.mysites.com;
    access_log /var/www/access.log;
    error_log /var/www/error.log;
    root /var/www/myfolder/mysites.com;

  # Pass PHP scripts to PHP-FPM
        location ~* \.php$ {
            fastcgi_index   index.php;
            fastcgi_pass    127.0.0.1:9000;
            #fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
            include         fastcgi_params;
            fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
            fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
        }

}






}
    
por Rob Vanders 12.03.2013 / 12:50

1 resposta

1

Se você tiver domínios distintos, provavelmente deverá ter blocos de servidores separados.

server {
    listen 80;
    server_name domain1.com;
    access_log /var/www/access.domain1.log;
    error_log /var/www/error.domain1.log;
    root /var/www/domain1.com;
    location ~* \.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;
    }
}
server {
    listen 80;
    server_name domain2.com;
    access_log /var/www/access.domain2.log;
    error_log /var/www/error.domain2.log;
    root /var/www/domain2.com;
    location ~* \.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;
    }
}
server {
    listen 80;
    server_name domain3.com;
    access_log /var/www/access.domain3.log;
    error_log /var/www/error.domain3.log;
    root /var/www/domain3.com;
    location ~* \.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;
    }
}

Além disso, a menos que seja necessário, você não deve aninhar um conteúdo de sites dentro de outro. Melhor mantê-los diretórios separados, caso você precise mover um para outro servidor, por exemplo.

    
por 12.03.2013 / 18:45