Istorie:
Am mutat o instalare Codeigniter 3 de la Bluehost la un T3.2xlarge.
Acea instanță unică găzduiește apache2 și un server mysql ca bază de date locală.
Pe Bluehost, instanța rula bine, migrarea s-a făcut, deoarece Bluehost însuși avea întreruperi și ne doream găzduire mai fiabilă.
Eroare
De la migrare, Pagina scade complet aleatoriu.
Încerc să repornesc apache2 cu:
sudo service apache2 reporniți
Nu funcționează, necesită o repornire completă a instanței EC2 pentru ca serviciul să ruleze din nou.
După repornirea EC2, apache2 și mysql rulează și pagina este deschisă fără a porni serviciile după repornirea instanței.
Încercarea de depanare 1
Deoarece pagina a fost în jos când au fost rulate cronuri intense ale bazei de date, am presupus că serverul mysql era blocajul.
Migrarea întregii baze de date într-un RDS fără server ar trebui să elimine toate blocajele legate de bazele de date.
Aceleași cronuri intense ale bazei de date se termină acum.
Pentru a elimina și mai mult ca cron-ul să fie motivul pentru care sistemul se defectează, am clonat EC2 și am folosit clona pentru a rula cron-ul, în timp ce originalul găzduiește pagina web către care indică domeniul.
Cu toate acestea, întreruperi aleatorii încă persistă.
Încercarea de depanare 2
Presupunând că este o problemă de memorie, după ce am verificat phpinfi.php am văzut că PHP avea 128Mb de RAM (pe o mașină de 32Gb), așa că doar pentru a vedea dacă mai multă RAM ajută:
- memory_limit setată la 8192Mb
- reporniți EC2
- reporniți php7.4-fpm
- reporniți apache2
phpinfo a confirmat că memory_limit este setat la 8192M.
Întreruperi aleatorii încă persistă.
Încercarea de depanare 3
Verificarea comenzii:
sudo apache2ctl -t
se intoarce:
Sintaxa OK
Verificarea comenzii:
nano /var/log/apache2/error.log
contine:
[mpm_worker:notice] AH00295: prins SIGTERM, închidere
Deci presupun că Apache se închide într-un fel din anumite motive, dar nu se poate reporni.
Verificarea comenzii:
sudo service apache2 reporniți
nu aruncă erori
Verificarea comenzii:
sudo apache2ctl restart
nu aruncă erori
Verificarea comenzii:
/usr/sbin/apache2 -V
spectacole:
[core:warn] [pid 24560] AH00111: variabila de configurare ${APACHE_RUN_DIR} este
nedefinit
apache2: Eroare de sintaxă pe linia 81 din /etc/apache2/apache2.conf:
DefaultRuntimeDir trebuie să fie
un director valid, absolut sau relativ la ServerRoot
Versiunea serverului: Apache/2.4.41 (Ubuntu)
Server construit: 2022-03-16T16:52:53
Numărul magic al modulului serverului: 20120211:88
Server încărcat: APR 1.6.5, APR-UTIL 1.6.1
Compilat folosind: APR 1.6.5, APR-UTIL 1.6.1
Arhitectură: 64 de biți
Server MPM:
Server compilat cu....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (adresele mapate IPv4 sunt activate)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/apache2"
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="jurnal/eroare"
-D AP_TYPES_CONFIG_FILE="mime.types"
-D SERVER_CONFIG_FILE="apache2.conf"
Unde pot vedea 2 lucruri:
- există o problemă cu ${APACHE_RUN_DIR}
- Server MPM nu returnează un MPM
Verificarea comenzii:
apache2 -l
se intoarce:
Compilat în module:
miez.c
mod_so.c
mod_watchdog.c
http_core.c
mod_log_config.c
mod_logio.c
mod_version.c
mod_unixd.c
Ce nu arată un modul MPM.
Verificarea comenzii:
apache2 -l
apache2ctl -l
se intoarce:
Compilat în module:
miez.c
mod_so.c
mod_watchdog.c
http_core.c
mod_log_config.c
mod_logio.c
mod_version.c
mod_unixd.c
Verificarea comenzii:
a2query -M
se intoarce:
muncitor
Întrebare:
Și aici am fost blocat acum.
Mai pot verifica sau citi altceva din încercarea de depanare 3 pentru a vedea de ce apache se oprește/nu repornește și necesită o repornire completă a serverului?