Ответы пользователя по тегу Apache HTTP Server
  • Nginx front + apache back. Как настроить под разных пользователей?

    @xtreme
    Снимаю порчу по SSH :)
    А на директории стоит 755 хотя бы? Если бит запуска не стоит на директориях (на всем пути от корня до статики) -  nginx не сможет получить туда доступ, даже если на файле стоит 644.
    И, кстати, почему такой древний nginx? В мейнлайне сейчас 1.9.9, а в 1.6.7 много чего не хватает по сравнению с версиями 1.9...
    Ответ написан
    3 комментария
  • Как правильно перенести httpd.conf с apache 2.2 на apache 2.4?

    @xtreme
    Снимаю порчу по SSH :)
    А вы не добавляйте домены в httpd.conf
    У вас же FreeBSD, если я верно помню. Там в /usr/local/etc/apache24 есть директория Includes, а в дефолтном, идущем в комплекте httpd.conf в самом низу строка инклюда Include etc/apache24/Includes/*.conf которая подключает все файлы с расширением .conf в директории Include в httpd.conf.
    Перенесите конфигурацию ваших доменов/сайтов в отдельные файлы в Includes/site1.conf, Includes/site2.conf и т.д.
    Дефолтный httpd.conf, кстати, требует крайне мало изменений. Чаще всего изменения от дефолтного конфига в таких параметрах:
    EnableSendfile off
    LoadModule php5_module libexec/apache24/libphp5.so #при инсталляции mod_php5 у вас уже должно было это появиться
    Listen 127.0.0.1:80 #Или другой порт, если у вас используется nginx фронтендом, если нет - оставить Listen 80
    ServerName localhost:80 #Я ставлю так, чтобы не морочиться с /etc/hosts и апач не ругался на невозможность разрешить имя
    Require all granted #Если требуется. Это как бы замена Deny, Allow в apache-2.2
    #Также при большом желании можно еще поменять DirectoryIndex, но не всем это надо, да и можно переопределить в отдельном файле
    DirectoryIndex index.php index.html

    В остальном, если перенесете виртхосты в отдельные файлы в Includes - практически ничего не понадобится, ибо конфиги практически совместимы. Надо будет только, если у вас используется в Directory
    Order allow,deny
    Allow from all

    заменить на
    Require all granted
    если не разрешили в основном файле.
    В остальном - уже смотрите по выдаваемым apachectl configtest замечаниям и по логам.
    Так что проще взять дефолтный конфиг, идущий с апачем и поменять нужные строки, а адаптировать старый конфиг от apache-2.2 выйдет дольше по времени, плюс к тому, можете не учесть каких-то новых параметров.
    Ответ написан
    Комментировать
  • Не запускается apache 2.2 после обновления PHP. Как исправить?

    @xtreme
    Снимаю порчу по SSH :)
    У тебя (ничего, что на "ты"), скорее всего не включен модуль libphp5.so в httpd.conf (ну или в одном из конфигов).
    Обычно, если apache22, в конфиге /usr/local/etc/apache22/httpd.conf примерно на 75 строке должно быть такое:
    LoadModule php5_module        libexec/apache22/libphp5.so
    рядом с другими LoadModule. Либо в одном из конфиг-файлов.
    При деинсталляции php (и про portupgrade) эта строка удаляется, а обратно, возможно, не воткнулась.
    Ответ написан
  • Apache2 virtual host, почему не перенаправляет?

    @xtreme
    Снимаю порчу по SSH :)
    apache2ctl configtest && apache2ctl graceful
    ??
    Перезапускали апач-то? Больше в конфигах нигде site.ru не упоминается?
    Ответ написан
  • Как снизить нагрузку сервера?

    @xtreme
    Снимаю порчу по SSH :)
    Единого совета тут дать нельзя.
    Есть нечто общее для облегчения страданий.
    1. (Тут я советую вообще всем направо и налево) Поставить nginx на отдачу статических файлов (не забыв включить сжатие), разгрузив апач. Этим немного снизится нагрузка при отдаче многочисленных JS и CSS-файлов. Т.е. общее самочувствие немного улучшится.
    2. Включить slow-log в MySQL, чтобы увидеть медленно выполняющиеся запросы и запросы, которые не используют индексы. Люди часто забывают про составные индексы и в результате SELECT на пару полей, который должен в результате вернуть два значения, лопатит всю таблицу в несколько сотен тысяч записей.
    3. Профилирование PHP. Поставить для PHP xdebug или XHProf. На примере xdebug - включил модуль, рестартнул/релоаднул апач, походил по самым тормозным ссылкам (или подождал несколько секунд, пока пользователи по ним походят), закомментил модуль, опять релоаднул апач, чтобы вернуть в нормальное состояние. Ну а затем QCacheGrind в руки, открываем самые жирные файлы дампов и смотрим, куда тратится время при выполнении...
    Ответ написан
    Комментировать
  • Как задать redirect 301?

    @xtreme
    Снимаю порчу по SSH :)
    RewriteCond %{HTTP_HOST} ^domain\.ru$
    По логике должно быть так, если у вас оба домена на одном сервере.
    Ответ написан
    Комментировать
  • Как заставить Nginx перенаправлять запросы на виртуальные хосты апача?

    @xtreme
    Снимаю порчу по SSH :)
    Можно.
    По-умолчанию, если нигде не используется proxy_set_header, то все будет работать и так. Если надо явно задать имена в бэкенде не такие, как у фронтенда - в таком случае прописываем подмену заголовка
    proxy_set_header Host trololo.com;
    Далее, апач, если на нем настроены NameVirtualHost при попадании на него запроса с nginx, отдаст запрос в виртхост с именем, переданным в заголовке Host.
    Ответ написан
    Комментировать
  • Низкая скорость ответа сервера (WAIT 2-5 сек) - где копать и как решить?

    @xtreme
    Снимаю порчу по SSH :)
    Согласен с nirvimel в том, что надо смотреть $upstream_response_time. Если время ответа бэкенда примерно такое же, как и время ожидания - стоит посмотреть на то, чем он так занят.
    Чаще всего в подобных случаях виноват бэкенд. Особенно если там какая-нибудь джумла (ну да... не люблю я её), придется лезть в потроха и смотреть, где там что (тогда php-xdebug + qcachegrind в руки).
    Ответ написан
  • Nginx redirect from http to https?

    @xtreme
    Снимаю порчу по SSH :)
    Блин, начал писать про редирект в коде, и почему-то вспомнил про .htaccess. Некрасиво получилось :)
    В общем искать надо, где 443 стоит рядом с http://
    Ответ написан
    Комментировать
  • Nginx redirect from http to https?

    @xtreme
    Снимаю порчу по SSH :)
    Только что ради эксперимента проделал такой редирект. Причем с буква-в-букву приведенным конфигом, за исключением server_name-ов. Все работает отлично. Видимо проблема не в данной части, а далее, например, в описании проксирования на апач.
    proxy_redirect off; не забыли?
    Ответ написан
    Комментировать