Почему не работает сайт — mpm_prefork:error?

Добрый день. Перестал отзываться сайт. Сайт находится на виртуальной машине Битрикс (apache, php7) вместе с несколькими другими (другие работают)
Залез в erroe_log
[Fri Dec 01 11:36:05.608603 2017] [mpm_prefork:error] [pid 3472] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
Пошел в /etc/httpd/conf Там стоит
Include conf.modules.d/*.conf
Лезу в /etc/httpd/conf.modules.d/00-mpm.conf ставлю

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so # worker MPM: Multi-Processing Module implementing a hybrid # multi-threaded multi-process web server # See: httpd.apache.org/docs/2.4/mod/worker.html # #LoadModule mpm_worker_module modules/mod_mpm_worker.so ServerLimit 250 StartServers 20 MinSpareThreads 75 MaxSpareThreads 250 ThreadLimit 64 ThreadsPerChild 32 MaxClients 10000 MaxRequestsPerChild 10000

Делаю service httpd restart

Ничего не происходит — в error ошибка та же
Не удается получить доступ к сайту Веб-страница по адресу site.ru/, возможно, временно недоступна или постоянно перемещена по новому адресу. ERR_CONTENT_DECODING_FAILED

Сайт, естественно, на месте

Почему не работает кеширование в NginX?

Сервер на CentOS. Сайт полностью настраивался через ISPmanager. От себя я лишь добавил к стандартным настройкам хоста Alias (код сайта постоянно перезаливается, а картинки редко):
Alias /img "/var/www/www-root/data/img" #папка картинок
Alias /pma "/var/www/www-root/data/pma" #phpmyadmin
Проблема с кэшированием появилась изначально. Хотя соответствующая настройка в конфигурации домена в ISPmanage была выставлена. Выглядело это следующим образом: каждый раз при запуске браузера и открытии сайта он по-новой начинал прогружать статику. Если закрыть вкладу и еще раз запустить сайт уже в новой вкладке — кэш сохранялся. Я сперва это списал на медленную работу из-за https. Ибо не может же ISPmanager глючить на default'ых настройках…

Вчера к стандартным настройкам NginX добавил: «add_header Cache-Control „max-age=2592000, public“.
И о чудо кэш заработал. Увы, не на долго… (На сервере есть сайт пустышка — приоритетный сайт, чтобы не могли обращаться по IP к основе. Ему я случайно copy-paste'ул настройки nginx основы. Появился дубликат и nginx не запускался. Когда нашел и исправил проблему, не смотря на „add_header Cache-Control “max-age=2592000, public» в настройках основного сайта, кэш там работать не захотел.)

По ощущениям не работает какая-то мелочь из-за которой указанные настройки, по всей видимости, вообще не используются. Поэтому же трудно загуглить пример настроек и поэкспериментировать с ними…

Настройки IPSManager'a:
Читать дальше

Переадресация по доменным именам NGINX?

Ребят помогите пожалуйста, уже второй раз задаю подобный вопрос, но сейчас прям всё по полочкам разложу:
Имеется внешний IP и несколько внутренних IP на разных серваках. На внутренних IP весят сайты и есть 2 доменных имен ocdod74.ddns.net и ocdod174.ddns.net и каждый домен настроен на внешний IP ( 80.255.90.162) Как настроить nginx (если заходить по внешнему IP попадаешь на GNIX? который находится на первом сервере) что бы он смог распознавать домены и переадресововать на соответствующий внешние IP?

Мне надо:
Захожу на домен ocdod74.ddns.net попадаю на сайт, внутренний IP которого, 10.102.10.32
Захожу на домен ocdod174.ddns.net попадаю на сайт, внутренний IP которого, 10.102.10.70
и что б всё было по 80 порту

Когда захожу в конфиг GNIX на 10.102.10.32, там 2 файла и вот что там прописано:
bigbluebutton
server { listen 10.102.10.32:80; server_name ocdod74.ddns.net; access_log /var/log/nginx/bigbluebutton.access.log; # Handle RTMPT (RTMP Tunneling). Forwards requests # to Red5 on port 5080 location ~ (/open/|/close/|/idle/|/send/|/fcs/) { proxy_pass 127.0.0.1:5080; proxy_redirect off; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffering off; keepalive_requests 1000000000; }
Читать дальше

Ошибка 4.3.0 Error: queue file write error. (Postfix + Dovecot + MySQL)?

Всем Привет!

Возникла проблема, настроил почтовый сервер, количество ящиков 150-200,

По началу все было ок, но с недавнего времени, периодически вижу ошибку на клиентах:

Ошибка 4.3.0 Error: queue file write error.

на диске место есть
Size Used Avail Use% 1.8T 465G 1.3T 27%

В логе syslog
Oct 16 20:30:42 production postfix/cleanup[4049]: warning: mysql:/etc/postfix/sql/valias.cf lookup error for «admin@sitesi.ru» Oct 16 20:30:42 production postfix/cleanup[4049]: warning: 8F3EA340511: virtual_alias_maps map lookup problem for admin@sitesi.ru — message not accepted, try again later

В dovecot.log
Warning: autocreate plugin is deprecated, use mailbox { auto } setting instead

В mysql
Читать дальше

Как правильно настроить кодировку php + mariadb?

Добрый день. Настроил подключение к базе через php (последние три строчки — не помогающие эксперименты со stackoverflow)
function __construct($host=HOST,$user=USER,$pass=PASS,$db=DATABASE){ $this->conn = new mysqli($host, $user, $pass, $db); $this->conn->set_charset('utf8'); //$this->conn->query('SET NAMES utf8 COLLATE utf8_unicode_ci'); //$this->conn->query('SET character_set_results utf8'); //$this->conn->query(«SET SESSION collation_connection = 'utf8_general_ci'»); }
При запросе к базе выдает русский текст в виде знаков вопроса. Настройки базы соответствуют рекомендациям(SHOW VARIABLES LIKE 'character_set%'):

Variable_name Value character_set_client utf8mb4 character_set_connection utf8mb4 character_set_database utf8mb4 character_set_filesystem binary character_set_results utf8mb4 character_set_server latin1 character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/

Когда такая проблема появилась на локальной машине, я раскомментировал в настройках mysql(my.ini) директивы для работы s utf8,

## UTF 8 Settings init-connect=\'SET NAMES utf8\' collation_server=utf8_unicode_ci character_set_server=utf8 skip-character-set-client-handshake character_sets-dir=«C:/xampp/mysql/share/charsets»

изменил character_set_server на utf8, и все исправилось. Так как доступа на хостинге к этому файлу нет, и изменить настройку сервера я не могу(ТП хостера говорит, что character_set_database приоритетней и по их части все ок), то я зашел в тупик.

Спасибо!

Как в apache найти проблему «Сервер не найден»?

Есть сервер с apache, на котором несколько сайтов.
Среди них testsite.eu.
Прописал его в файл /etc/hosts на рабочей машине
Перезагрузил
Открываю в браузере «testsite.eu», и получаю «Сервер не найден».
Пробую пинговать — пингуется.
пробую стучаться wget'ом:
wget refus.eu --2017-08-25 15:08:11-- refus.eu/ Распознаётся testsite.eu (testsite.eu)… Подключение к testsite.eu (testsite.eu)||:80… соединение установлено. HTTP-запрос отправлен. Ожидание ответа… 301 Moved Permanently Адрес: www.testsite.eu/ [переход] --2017-08-25 15:08:11-- www.testsite.eu/ Распознаётся www.testsite.eu (www.testsite.eu)… ошибка: С именем узла не связано ни одного адреса. wget: не удаётся разрешить адрес «www.testsite.eu»
Сканирую nmap'ом:
nmap testsite.eu… PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp open https…

стучусь по telnet'у:
telnet testsite.eu 80 Trying… Connected to testsite.eu… Escape character is '^]'. 1 501 Not Implemented Not Implemented
1 to /index.html not supported.
Connection closed by foreign hos

Откуда в access.log вебсервера сторонние домены?

В ISPmanager5 странные записи в access.log вебсервера. Apache2+Nginx
Откуда там взялись сторонние домены? Запрсы идут не на домен по-умолчанию.
81.4.102.172 — - [18/Aug/2017:09:10:07 +0300] «GET / HTTP/1.0» 200 14792 «www.simplanudas.com» «Mozilla/5.0 (X11; FreeBSD i386) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2» 86.124.80.238 — - [18/Aug/2017:09:10:07 +0300] «GET / HTTP/1.0» 200 14792 «glamourholas.com» «Opera/9.80 (Android; Opera Mini/7.6/35.4131; U; en) Presto/2.8 Version/11.10» 37.235.56.141 — - [18/Aug/2017:09:10:07 +0300] «GET / HTTP/1.0» 200 14792 «saxprivatas.com» «Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36» 81.4.102.172 — - [18/Aug/2017:09:10:07 +0300] «GET / HTTP/1.0» 200 14792 «www.xartpussy.com» «Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36» 81.4.102.172 — - [18/Aug/2017:09:10:08 +0300] «GET / HTTP/1.0» 200 14792 «www.fraaonas.com» «Opera/9.80 (Android; Opera Mini/7.5/32.749; U; en) Presto/2.8 Version/11.10» 37.235.56.141 — - [18/Aug/2017:09:10:08 +0300] «GET / HTTP/1.0» 200 14792 «vintagapornxxx.nat» «NetFront 3.3»

Как задать переезд в .htcaccess, чтобы в robots.txt прописать host?

Сайт имеет множество доменов 3го уровня, а так же множество зеркал. Сейчас все домены перезжают, следовательно нужно переадрестовать все site1.ru, site2.ru, site3.ru на site4.ru, а домены 3го уровня domen1.site1.ru, domen1.site2.ru, domen1.site3.ru на domen1.site4.ru, domen2.site1.ru, domen2.site2.ru, domen2.site3.ru на domen2.site4.ru и т.д.
В .htcaccess сейчас вот так настроен переезд:
RewriteCond %{HTTP_HOST} ^site2\.ru
RewriteRule ^(.*)$ site4.ru/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^([^.]+\.)site2\.ru$ [NC]
RewriteRule ^ %1site4\.ru%{REQUEST_URI} [R=301,L,NE]

При этом есть запись на разные robot.txt для разных доменов 3го уровня
RewriteRule ^robots\.txt$ robots/%{HTTP_HOST}.txt [L]

Суть проблемы: для яндекса в robots.txt нужно указать диррективу HOST. Сейчас запись переадресовывает все, в том числе робот и yandex не читает из-за этого robots. Как сделать переадресацию всего кроме robots.txt которые по сути расположены в папке /robots и сами фалы имеют формат domen1.robots.txt

Апач размножается и перестает отдавать контент. Как лечить?

Сервер последние 3 дня стал падать, отдавая 502 ошибку спустя 2-3 часа. В логах httpd:
[Mon Jul 31 11:56:24 2017] [notice] Apache/2.2.15 (Unix) mod_fastcgi/2.4.6 mod_rpaf/0.6 PHP/5.3.29 configured — resuming normal operations [Mon Jul 31 11:56:25 2017] [error] server reached MaxClients setting, consider raising the MaxClients setting [Mon Jul 31 11:56:35 2017] [notice] caught SIGTERM, shutting down [Mon Jul 31 11:56:36 2017] [notice] Apache/2.2.15 (Unix) mod_fastcgi/2.4.6 mod_rpaf/0.6 PHP/5.3.29 configured — resuming normal operations zend_mm_heap corrupted [Mon Jul 31 12:31:19 2017] [notice] child pid 27463 exit signal Segmentation fault (11) zend_mm_heap corrupted zend_mm_heap corrupted [Mon Jul 31 12:45:07 2017] [error] server reached MaxClients setting, consider raising the MaxClients setting [Mon Jul 31 13:18:16 2017] [notice] child pid 4921 exit signal Segmentation fault (11) [Mon Jul 31 13:56:15 2017] [notice] child pid 32413 exit signal Segmentation fault (11) zend_mm_heap corrupted [Mon Jul 31 15:01:39 2017] [notice] caught SIGTERM, shutting down [Mon Jul 31 15:01:40 2017] [notice] Apache/2.2.15 (Unix) mod_fastcgi/2.4.6 mod_rpaf/0.6 PHP/5.3.29 configured — resuming normal operations zend_mm_heap corrupted zend_mm_heap corrupted [Mon Jul 31 15:29:05 2017] [error] server reached MaxClients setting, consider raising the MaxClients setting zend_mm_heap corrupted [Mon Jul 31 16:00:09 2017] [notice] child pid 18382 exit signal Segmentation fault (11) [Mon Jul 31 16:02:02 2017] [notice] child pid 17800 exit signal Segmentation fault (11) [Mon Jul 31 16:19:12 2017] [notice] child pid 15365 exit signal Segmentation fault (11) zend_mm_heap corrupted [Mon Jul 31 16:33:11 2017] [notice] child pid 15653 exit signal Segmentation fault (11)

оперативки 64Гб на сервере, 30гб под mysql отдано.
Апач настроен так:
StartServers 2 MinSpareServers 2 MaxSpareServers 20 ServerLimit 32 MaxClients 32 MaxRequestsPerChild 1000

Перезапускаешь httpd и все работает. Куда копать? Спасибо заранее

Как заставить nginx отдавать по domain.com/sub отдельную папку?

Имеем проект на Laravel4. Страшное legacy. Тормозит местами.
Решилил переписать потихоньку на другом фреймворке.
Задача такая: Часть запросов на URL /sub обрабатывать отдельным движком.

Никак не могу заставить свой мозг сообразить как же изменить конфиг nginx'a чтобы всё работало. Помогите разобраться, пожалуйста.

Сейчас конфиг стандартный как у всех:
server { # все как у всех listen 80 default_server; server_name domain.cm; root /home/domain.com/public; index index.php; # тут все стандартно location / { try_files $uri $uri/ /index.php?$query_string; } # и тут все стандартно location ~ \.php$ { fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

Соответственно /home/domain.com лежит проект. А /home/domain.com/public точка входа в приложение.
Так вот в /home/domain.com/sub лежит подпроект. И его точка входа естественно /home/domain.com/sub/public
А надо отдать его как domain.com/sub. Причем чтобы юзера не редиректило в domain.com/sub/public

Пробовал реализовать то что мне нужно вот так:
location /sub { alias /home/domain.com/sub/public/; try_files $uri $uri/ /index.php?$query_string; }
Не работает.

Пробовал так:
location /sub { root /home/domain.com/sub/public/; rewrite ^(.*) /index.php$1; }

Все равно.

Чую что решение простое и должно быть на поверхности. Ну вот в голове как заноза засела. Когда слово знаешь, а вспомнить не можешь.