Сегодня утро было бодрое – на серваке перегрелся процессор, ДЦ пофиксил но после ребута апач намертво лег и не хотел вставать, при этом ни каких сообщений в логи адекватных не было, единственное что было так это:
1 2 3 4 5 |
Jul 21 12:20:10 pro-release apache2[33106]: Starting web server: apache2 failed! Jul 21 12:20:10 pro-release apache2[33106]: The apache2 instance did not start within 20 seconds. Please read the log files to discover problems ... (warning). Jul 21 12:20:10 pro-release systemd[1]: apache2.service: control process exited, code=exited status=1 Jul 21 12:20:10 pro-release systemd[1]: Failed to start LSB: Apache2 web server. Jul 21 12:20:10 pro-release systemd[1]: Unit apache2.service entered failed state. |
Толку от этой инфы было мало, конфиг был в норме, ситуацию спас флаг -X для apache2ctl – это означает Debug
Попробовав с ним получило сообщение в error_log apache2
1 |
[Thu Jul 21 12:31:00.321285 2016] [fcgid:emerg] [pid 33941] (17)File exists: mod_fcgid: Can't create shared memory for size 1200712 bytes |
Глянув в конфиг fcgi.conf обнаружил там новые параметры:
1 2 |
FcgidIPCDir /var/run/mod_fcgid FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm |
Глянув в документацию стало понятно что
FcgidIPCDir = задает директорию где будет хранится AF_UNIX сокет или именованный канал для приложений использующих fcgi
FcgidProcessTableFile = задает имя файла для shared memory
Так как у меня не было каталога – соответственно не мог и создаться ни сокет ни менованный катал но файл shared_memory, вопрос решался очень просто:
1 2 3 4 |
mkdir /var/run/mod_fcgid echo 'tmpfs /var/run/mod_fcgid tmpfs size=1G,mode=755 0 0' >>/etc/fstab mount -a /etc/init.d/apache2 restart |
На этом все – радуемся )))