Уважаемые гости и пользователи форума!
Если Вы были зарегистрированы на старом форуме, а здесь не можете зайти под своей учётной записью, пожалуйста, сообщите свой ник мне через контактную форму "Связаться с администрацией"

[How-to] nginx+apache2 для ispconfig3

Настройка, обслуживание, эксплуатация, управление панелью ISPConfig 3. А так же обсуждение установки и оптимизация сайта под ISPConfig 3

Модератор: kulia

Правила форума
Условием использования нашего форума, является соблюдение настоящих Правил форума.


Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам, а вы рискуете получить предупреждение.
Аватара пользователя
salp
Контактная информация:
Сообщения: 11
Зарегистрирован: 11 сен 2013, 11:40

09 май 2014, 15:37

Итак, статистика реально нужна, хотя бы для настройки квот и борьбы с перегрузкой канала, когда появляются непонятные IP, с которых буквально начинается выкачка трафика гигабайтами. Попробовал разобраться как оно сделано для апача. Логи пишутся в папку log каждого сайта. Но пишутся не просто в лог файл. Каждый день создается файл с индексом в виде даты перед именем и на этот файл уже симлинк обычно лог файла апача access.log, который участвует в статистике.

Надеюсь, объяснил понятно. Во всяком случае, понять можно, если несколько раз прочитать и заглянуть в лог папку любого сайта.

Вопрос в том, где прописано ежедневное создание этого лога с индексом и где именно в конфигах апача он прописан. Допустим, если первое я найду, поковыряв php скрипты в папке /usr/local/ispconfig/server, то второе я просто не нашел, хотя искал долго. Может, кто ткнет носом, где в конфигах апача настроен access.log с индексом? Подозреваю, что это должна быть какая-то системная переменная, которая меняется уже ежедневно исполняемым скриптом cron_daily.sh.


Насколько удалось выяснить, лог доступа пишется апачем сюда: /var/log/apache2/other_vhosts_access.log, а затем раскидывается по лог папкам сайтов, но уже не апачем. Настройки вывода логов здесь: /etc/apache2/conf.d/other-vhosts-access-log, а формат вывода прописан в /etc/apache2/apache2.conf в секции "LogFormat".

Остается поставить панель с нгинксом изначально и посмотреть как это настроено там и, соответственно, перестроить. Или подскажет кто, чтобы не возиться?


... или /var/log/apache2/access.log (webalizer использует /var/log/apache2/access.log), но access.log явно мал по размеру, такое ощущение, что из него уже "выкушена" вся значимая информация и раскинута по логам сайтов.
Аватара пользователя
shambler81
Контактная информация:
Откуда: Москва
Сообщения: 232
Зарегистрирован: 23 мар 2012, 20:09

09 май 2014, 20:38

в nginx логирование аксесс вообще отключено, ибо изначально тупо дублирование логов. так что в конфигах я вообще коментирую эту строчку.
фактически в каждом из них у меня уже седлана ссылка на лог файл но она закоменчена ибо логи как я повторюсь уже полностью есть в апаче_аксесс
писать ерор лог еще есть смысл а вот аксесс тупо загрузка ресурсов системы вникуда.
Аватара пользователя
salp
Контактная информация:
Сообщения: 11
Зарегистрирован: 11 сен 2013, 11:40

10 май 2014, 00:14

Мы, наверное, на разных языках разговариваем...
Нужно, значит нужно. Статистика сколько было выкачано сейчас не полная, т.к. апач не отдает статику и настроенный в памяти кеш.
Статистика нужна полная, однозначно, т.к. используются квоты.
Аватара пользователя
shambler81
Контактная информация:
Откуда: Москва
Сообщения: 232
Зарегистрирован: 23 мар 2012, 20:09

13 май 2014, 15:49

salp писал(а):Мы, наверное, на разных языках разговариваем...Нужно, значит нужно. Статистика сколько было выкачано сейчас не полная, т.к. апач не отдает статику и настроенный в памяти кеш.Статистика нужна полная, однозначно, т.к. используются квоты.
Хозяин барин.
Включить статистику достаточно просто достаточно закинуть в генератор файлов для nginx соответствующие строгки в генераторе.

редактируйте /usr/local/ispconfig/server/conf/nginx_reverse_proxy_plugin.vhost.conf.master

замените

Код: Выделить всё

#access_log off;
#error_log  off;
на

Код: Выделить всё

access_log  /var/log/ispconfig/httpd/$host/nginx_access.log;
error_log /var/log/ispconfig/httpd/$host/nginx_error.log;
Однако я не совсем уверен что вы смоижет нормально спарсить логи для трафика, вам скорее нужно купить билинг для ispconfig на офсайте и не париться.
Так же вы будите вести аксесс лог идентичный апачевскому, и одновременно писать сотни таких файлов на файловую систему что никак не отразится в позитивную сторону на производительность оборудования.


Так же эти логи не будут удаляться вовсе.
Аватара пользователя
shambler81
Контактная информация:
Откуда: Москва
Сообщения: 232
Зарегистрирован: 23 мар 2012, 20:09

27 окт 2014, 17:22

господа сейчас нашел косяк при коллизии
proxy_set_header Host
при редиректе в админке
поскольку там все правильно редирект не срабатывает ;)
Вот новый конфиг где жестких host поменян на стандартную переменнуою $host в таком случае хост после редиректа изменяется а не вызывает коллизию редиректов.

Код: Выделить всё

<tmpl_loop name='vhosts'>
server {
#------- Server configuration---------------------------------------------------
    <tmpl_if name='ssl_enabled'>
        listen <tmpl_if name='ip_address' op='!=' value='*'><tmpl_var name='ip_address'>:</tmpl_if>443 ssl spdy;
        <tmpl_if name='ipv6_enabled'>
        listen [<tmpl_var name='ipv6_address'>]:443 ipv6only=on ssl spdy;
    </tmpl_if>
    </tmpl_else> 
        listen <tmpl_if name='ip_address' op='!=' value='*'><tmpl_var name='ip_address'>:</tmpl_if>80;
        <tmpl_if name='ipv6_enabled'>
        listen [<tmpl_var name='ipv6_address'>]:80 ipv6only=on;
    </tmpl_if>
    </tmpl_if>
server_name <tmpl_var name='domain'> <tmpl_if name='alias'><tmpl_var name='alias'></tmpl_if> <tmpl_if name='ip_address' op='!=' value='*'><tmpl_var name='ip_address'></tmpl_if>;
        root <tmpl_var name='web_document_root_www'>;

#-------- Error page ----------------------------------------------------------
        error_page 404 = @fallback; 
        location @fallback {
        proxy_pass http://<tmpl_if name='seo_redirect_enabled'><tmpl_var name='seo_redirect_target_domain'><tmpl_else><tmpl_if name='ip_address' op='!=' value="*"><tmpl_var name='ip_address'><tmpl_else><tmpl_var name='domain'></tmpl_if></tmpl_if>:<tmpl_var name='apache2_port'>;            
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
}
#-------DEV--------------------------------------------------------------------
  error_page 555 = @pass;
        location @pass {
	auth_basic "Unauthorized";
	auth_basic_user_file /var/www/dev_htpasswd;
        proxy_pass http://<tmpl_if name='seo_redirect_enabled'><tmpl_var name='seo_redirect_target_domain'><tmpl_else><tmpl_if name='ip_address' op='!=' value="*"><tmpl_var name='ip_address'><tmpl_else><tmpl_var name='domain'></tmpl_if></tmpl_if>:<tmpl_var name='apache2_port'>;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
}


# ------ Log configuration ----------------------------------------------------
        access_log off;
        error_log  off;
        #error_log /var/log/ispconfig/httpd/<tmpl_var name='domain'>/nginx_error.log error;
        #access_log /var/log/ispconfig/httpd/<tmpl_var name='domain'>/nginx_access.log combined;
    <tmpl_if name='ssl_enabled'>

#------- SSL configuration ----------------------------------------------------
        more_set_headers 'Strict-Transport-Security: max-age=15768000';
        ssl_certificate <tmpl_var name='web_document_root_ssl'>/<tmpl_var name='ssl_domain'>.nginx.crt;
        ssl_certificate_key <tmpl_var name='web_document_root_ssl'>/<tmpl_var name='ssl_domain'>.nginx.key;
    </tmpl_if>
    <tmpl_if name='ssl_enabled'>

#------- Pagespeed configuration-----------------------------------------------
    <tmpl_if name='seo_redirect_enabled'>
        pagespeed LoadFromFile "https://<tmpl_var name='seo_redirect_target_domain'>" "<tmpl_var name='web_document_root_www'>/";
        </tmpl_else>
        pagespeed LoadFromFile "https://<tmpl_var name='domain'>" "<tmpl_var name='web_document_root_www'>/";
    </tmpl_if>
    </tmpl_if>

#------- Redirects configuration-----------------------------------------------
    <tmpl_if name='http_to_https'>
        # Redirect http -> https
        return 301 https://$server_name$request_uri;
    </tmpl_if>
    <tmpl_if name='seo_redirect_enabled'>
        # SEO Redirect
        if ($http_host = "<tmpl_var name='seo_redirect_origin_domain'>") {
        return 301 $scheme://<tmpl_var name='seo_redirect_target_domain'>$request_uri;
        }
    </tmpl_if>
#------ static content --------------------------------------------------------
    location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
        root  <tmpl_var name='web_document_root_www'>;
        access_log off;
         expires 30d; 
}
#-------Html ------------------------------------------------------------------
    location ~* ^.+\.(htm|html)$ { 
        root <tmpl_var name='web_document_root_www'>; 
        #try_files $uri /index.php ;  
         access_log off; 
        expires 30d;
}
#------ Locations configuration -----------------------------------------------
        # global locations
        # alias to local error docs<tmpl_var name='domain'> <tmpl_if name='alias'><tmpl_var name='alias'></tmpl_if> <tmpl_if name='ip_address' op='!=' value='*'><tmpl_var name='ip_address'></tmpl_if>
    <tmpl_if name='errordocs'>
        location ^~ /error { root /var/www; }
    </tmpl_if>

    # default location
    location / {
        index index.php index.html index.htm;   
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
        proxy_pass http://<tmpl_if name='seo_redirect_enabled'><tmpl_var name='seo_redirect_target_domain'><tmpl_else><tmpl_if name='ip_address' op='!=' value="*"><tmpl_var name='ip_address'><tmpl_else><tmpl_var name='domain'></tmpl_if></tmpl_if>:<tmpl_var name='apache2_port'>;            
        proxy_set_header Host $host;

if ($http_host ~* "^(dev|old|www.dev)\..*\..{2,8}$"){

                return 555;
                }
                if ($http_host ~* "^.*\.ks03\.ru$"){
                return 555;
                }

}
#------- Directives configuration ---------------------------------------------
#  для битрикс монитора
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;

 include /etc/nginx/locations.d/*.conf;

    <tmpl_var name='nginx_directives'>
}
</tmpl_loop>




Аватара пользователя
shambler81
Контактная информация:
Откуда: Москва
Сообщения: 232
Зарегистрирован: 23 мар 2012, 20:09

29 окт 2014, 14:57

все можно будет обновлять даже исп, но его там возможно потребуется немного подкорректировать.
Если же вы ставити с плагином то вообще все должно работать нормально просто при установки нужно будет правильно указать порт апачь.
dark
Сообщения: 12
Зарегистрирован: 31 окт 2014, 09:15

05 ноя 2014, 22:23

Подскажите, может ли ispconfig работать одновременно с nginx+php-fpm и nginx+apache?
Так-то я понимаю, что ничего сложного тут нет, но интегрированно ли управление и генерация виртуалхостов в ispconfig для такой конфигурации?
Буду очень благодарен, если ткнете носом в ссылку на форуме)
Аватара пользователя
SinglWolf
Контактная информация:
Откуда: Башкирия
Сообщения: 1690
Зарегистрирован: 23 янв 2012, 22:11

06 ноя 2014, 07:51

dark, эту тему почитайте. Скрипт поставит связку "nginx+apache" на уже установленную панель, только на Apahe. То есть, если панель установлена на Nginx, скрипт Apache не добавит.
dark
Сообщения: 12
Зарегистрирован: 31 окт 2014, 09:15

13 ноя 2014, 20:57

SinglWolf, к сожалению у меня уже стоит nginx+php-fpm, поставил три версии php, но понадобился php 5.2...
Да и не всегда корректно все работает в связке с чистым nginx, приходится плясать с бубном.
Хочу прикрутить ещё и apache+nginx, и по возможности чистый apache(для апача отдельный ип выделю).
Вот собственно и вопрос, возможна ли работа и настройка виртуалхостов в двух-трех вариантах связок одновременно?
Я бы с удовольствием купил скрипт, но к сожалению он видимо не решит эту задачу?

Сервер пока не боевой, но в 99% готовности, и скоро уедет в датацентр, по этому ничего сносить и переставлять особого желания нет...

И так, повторюсь, нет проблем переделать под апач или апач+нгинкс, но как установить все связки одновременно, есть ли такая возможность?
Аватара пользователя
shambler81
Контактная информация:
Откуда: Москва
Сообщения: 232
Зарегистрирован: 23 мар 2012, 20:09

13 ноя 2014, 21:52

nginx-apache включил в RC5 сейчас будем пытаться довести его до стабильной ветки
ура товарищи
dark
Сообщения: 12
Зарегистрирован: 31 окт 2014, 09:15

Что делать?

26 ноя 2014, 01:38

Тут описано прикручивание нгинкса к апачу, а как переключить ispconfig с nginx на апач(точнее на апач+нгинкс)?
Поставить апач и поправить конфиги как в мануале я могу, но я так понимаю, что вариант связки apache or nginx хранится в БД?
Что делать?
Купить скрипт, удалить с его помощью ispconfig(установленный вручную) и поставить заново с новой конфигурацией?
Возможно ли такое, и не затронет ли это другое, уже настроенное ПО(NetCat, Red5, Java, php-fpm нескольких версий, etc...)?
Или есть возможность переключить режим работы панели на апач, и вручную поправить конфиги?
Подскажите пожалуйста, как, или хотябы куда копать и где смотреть :-)

ubuntu 12.04(3.11.0-26-generic #45~precise1 x86_64), nginx 1.6.2, ispconfig 3.0.5.3
Аватара пользователя
shambler81
Контактная информация:
Откуда: Москва
Сообщения: 232
Зарегистрирован: 23 мар 2012, 20:09

11 дек 2014, 06:39

ну вообще на самом то деле можно попробовать переключить, переменные действительно достаточно тупо выгледят, и во всех файлах встречаются в конструкции иф мод апач и тд, скорее всего поменять все в базе будет достаточно, но точней не скажу.
Рекомендовал бы поставить все на чистую систему.
По части же установки скрипта дело ваше, он не мой, в нем есть очень хорошие места есть сопорные на мой взгляд, каждый плилет под себя.
Я бы на вашем месте поставил на чистую машину. потом перене файлы.
:-[
И дело даже не в невозможности перехода, а именно в том что вы будите делать потенциально опасные вещи с програмой и не исключен аптайм сайтов.
что касается затронит или нет, скорее нет.

Рекомендую для уверености посмотреть инсталятор, думаю в нем можно легко будет разобрать разницу и куда и что именно пишет при инсталяции исп.
pradamaruna
Сообщения: 7
Зарегистрирован: 15 дек 2011, 20:49

07 янв 2015, 01:54

Кароче я нуб наверное, поставил связку скриптом, все работает. Вопрос! выключаю апач по идеи должен работать nginx? Как проверить работу связки?
Аватара пользователя
SinglWolf
Контактная информация:
Откуда: Башкирия
Сообщения: 1690
Зарегистрирован: 23 янв 2012, 22:11

07 янв 2015, 10:26

pradamaruna писал(а):поставил связку скриптом
Уточните, пожалуйста, каким скриптом? Вас в списках пользователей моего скрипта нет. :-) Ну, а если моим, то отвечаю на вопрос.
pradamaruna писал(а):Как проверить работу связки?
ISPConfig 3 работает на apache, порт 8080(по умолчанию), сайты работают на nginx, порт 80 + apache, порт 82(этот порт доступен только для localhost сервера). Как проверить? Создать в панели произвольный сайт, соорудить файл index.php с содержимым

Код: Выделить всё

<?php

phpinfo();

?>
Откройте этот файл в любимом броузере. Отключите apache на сервере, обновите открытую страницу. Почувствуйте разницу. :-)
pradamaruna
Сообщения: 7
Зарегистрирован: 15 дек 2011, 20:49

07 янв 2015, 14:17

SinglWolf писал(а):Уточните, пожалуйста, каким скриптом? Вас в списках пользователей моего скрипта нет. Ну, а если моим, то отвечаю на вопрос.
Скриптом с сайта Клондайк, отключил Apache отключил, сайты не открываются, apache запустил и сайты не открываются, а в панели пишет WEB служба не запущена.


Все заработало, поставил все заново и на чистую систему без сайтов и пользователей.


Все равно не понимаю одного, по идеи когда отключаю apache2 показывается ошибка 502 nginx, включаю apache2 все работает как положено, но есть но! разве при отключении apache2, nginx не должен разве брать на себя функции обработки?


Действительно скорость работы nginx при нагрузке в 1000 подключений и 300 одновременных запросов справился норм на 80 порту, apache на 82 порту завалил сервак=(
Аватара пользователя
shambler81
Контактная информация:
Откуда: Москва
Сообщения: 232
Зарегистрирован: 23 мар 2012, 20:09

01 фев 2015, 16:44

Все равно не понимаю одного, по идеи когда отключаю apache2 показывается ошибка 502 nginx, включаю apache2 все работает как положено, но есть но! разве при отключении apache2, nginx не должен разве брать на себя функции обработки?
нет а с какого перепугу ?
Аватара пользователя
kulia
Откуда: Москва
Сообщения: 144
Зарегистрирован: 28 май 2014, 14:59

17 сен 2015, 08:34

Доброго времени суток!

Вопрос, можно ли заставить работать owncloud на связке Nginx+Apache установленной full скриптом на ubuntu 14.04 server? Если возможность есть, можно попросить поделиться пошаговой инструкцией?
Создал на Линукс-форуме тему "Установка Internet Explorer под Убунту".
Тему удалили через 4 минуты, выдали бан на 10 дней...
Аватара пользователя
shambler81
Контактная информация:
Откуда: Москва
Сообщения: 232
Зарегистрирован: 23 мар 2012, 20:09

Обновленная информация

21 окт 2020, 19:07

Обновленная информация по полной установке nginx+apache можно прочитать тут ( если админы не сотрут внешню ссылку)
Почему ссылку ? Потому что инфы много, весь контент требует оформления а это время которого тупо нет.
И так что работает

apache+nginx на последних убунтах все работает.
все версии пхп от 5.3 до 7.4
все версии пхп обновляются за исключением 5.3 5.4
Так же легко подключать новые версии php
Letsencrypt отлично работает в связке.
CAA записи добавлены в конфиг BIND9
Поддерживаются все виды представления пхп и все их версии FAST_CGI PHP_FPM MOd_PHP на всех версиях пхп
Переработаны все конфиги полностью
Поддерживается класс сертификата А+
Каждый вид представления имеет систему кеширования лучшую для данной версии пхп .
Все конфиги оптимизированы под производительность, для каждой версии пхп.
Поддерживается директивы nginx + apache в панели управления ( добавлены пара вкусных спинетов)
В общем сервер сделан для себя, более года работает на нем около 600 сайтов с суммарной посещаемость около 400К в день.
phpmyadmin и и почтовые серверы работают нормально при связке и многое другое что реально может пригодиться. Постарался все прокоментировать. и хоть как-то оформить.
Полет нормальный все работает.

Вернуться в «ISPConfig 3»