Apache + Nginx не хотят работать (

Тема в разделе "Администрирование серверов", создана пользователем alex_storm, 11 июн 2015.

  1. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    не знаю как быть, настраивал все по дефолту. Если работает один, то не работает второй http://prntscr.com/7fun1s
    --- Добавлено, 11 июн 2015 ---
    В битрикс окружении они работают всегда вместе, не знаю с чем это связана такой конфиг, но блин, как их настроить вне битрикс окружения
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Останови обоих, потом запусти сначала nginx, затем Apache.
    И проверь, что они на разных портах сидят, на всякий случай.
     
  3. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    апач посади на порт отличный от 80.
    нгинкс на 80 порту, а апач повесь на 8080 или любой другой.
     
  4. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Мда, нужно манул будет потом составить после всех действий.

    Да, все ок, только теперь 404 остается (
    --- Добавлено, 11 июн 2015 ---
    Да ну просто такого не бывает, все встало ровно. Конфиги прописаны верно. Какого хрена...
     
  5. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Так проблемы решились или что не работает?
     
  6. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Вдвоем они заработали, а вот 404 осталась, т.е. да проблема первая осталась (
     
  7. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
  8. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Код:
    user  nginx;
    worker_processes  1;
    error_log  /var/log/nginx/error.log warn;
    pid  /var/run/nginx.pid;
    worker_rlimit_nofile 10240;
    
    events {
      worker_connections  10240;
    }
    
    
    http {
      include  /etc/nginx/mime.types;
      default_type  application/octet-stream;
       server_names_hash_bucket_size 128;
      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;
    
      keepalive_timeout  65;
    
      gzip         on;
       gzip_proxied       any;
       gzip_static       on;
       gzip_http_version     1.0;
       gzip_types       application/x-javascript application/javascript text/css;
       add_header "X-Content-Type-Options" "nosniff";
      add_header X-Frame-Options SAMEORIGIN;
      include /etc/nginx/conf.d/*.conf;
    }
     
    Lasted edited by : 12 июн 2015
  9. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Сделал переконфиг
    /etc/nginx/conf.d/default.conf

    Код:
    # PHP-FPM (backend)
    upstream php-fpm {
        server 127.0.0.1:9000;
    }
    # Сервера кэширования
    upstream memcaches {
        server 127.0.0.1:11211;
    }
    server {
        server_name_in_redirect off;
        listen 80;
        server_name _;
       
        set $www_folder '/var/www';
        set $root_path '$www_folder/$host/html';
        root $root_path;
        index index.htm index.html index.php;
        #charset koi8-r;
        #access_log  /var/log/nginx/log/host.access.log  main;
        # Запросы непосредственно .php-файлов, например index.php (не кэшируются)
          location ~ \.php$ {
            include /etc/nginx/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $root_path/$fastcgi_script_name;
            fastcgi_param DOCUMENT_ROOT $root_path; # этот параметр нужен несмотря на root в секции server
                fastcgi_pass php-fpm;
          }   
    
         # Запросы отдельных php-файлов (кэшируются)
    location /utils {
    default_type text/html;
    root  $root_path;
    set             $memcached_key   'nginx_$host$uri?$args';
    memcached_pass  memcaches;
    error_page      404 502 504 405 = @phpscripts;
    }
    
    # Остальные запросы также идут на PHP-FPM, если $uri не существует (через memcache)
      location / {
         default_type text/html;
         root  $root_path;
    
         if (!-e $request_filename) {
            return 404;
         }
    
         error_page      404 502 504 403 405 = @php;
      }
    
      # Веб-приложение
      location @php {
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $root_path/index.php;
            fastcgi_pass php-fpm;
      }
    
      # Переопеределение 502 ошибки
      error_page    502 = /502.htm;
      location = /502.htm {
             root  $www_folder;
      } 
    
      # Для js, css, swf, ico и т.д.
      location ~* \.(css|js|swf|ico|png|jpg|gif|jpeg)$ {
        root  $root_path;
        access_log   off;
            expires      30d;
      }
    
      # Защита от просмотра .htaccess и .htpasswd файлов
      location ~ /\.ht {
        deny  all;
      }
    
      # Защита от просмотра svn-файлов
      location ~ /.svn/ {
         deny all;
      }
    
      # Статус запросы (/status) и пинг(/ping) запросы от системы мониторинга
      location ~ ^/(status|ping)$ {
          include fastcgi_params;
          fastcgi_pass 127.0.0.1:9000;
          fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
          allow 127.0.0.1;
          deny all;
      }
    }
    
    
    Выдает ошибку File not found.
     
  10. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Лучше бы посмотреть на конфиг конкретного сайта.
    А где ты раздобыл такой сложный конфиг default? Обычно хватает такого:
    Код:
    server {
        listen 0.0.0.0:80;
    
        root /path/to/your/website;
        index index.php;
    
        server_name mydomainname.com www.mydomainname.com;
    
        location / {
                try_files $uri $uri/ /index.php;
        }
    
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
        }
    }
    Кстати, твой конфиг default предназначен не для Апача, а для php-fpm (как и тот, что я выложил выше). Для Апача нужно заменить секцию php:

    Код:
    location ~ \.php$ {
        
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header Host $host;
            proxy_pass http://127.0.0.1:8080; //тут твой порт, на котором сидит Апач
    
      }
    
             location ~ /\.ht {
                    deny all;
            }
    И ещё секция для статики:
    Код:
    location ~* \.(js|css|png|jpg|jpeg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
            try_files $uri =404;
        }