Cara Mengendalikan Pelayan Apache Berhenti
Semak log ralat Apache di /var/log/apache2/error.log atau/var/log/httpd/error_log untuk Segfaults, ralat kebenaran, kegagalan modul, atau mesej OOM menggunakan ekor -f semasa restart. 2. Memantau sumber sistem dengan HTOP, atas, atau percuma -H; Kurangkan MaxRequestworkers dalam mpm_prefork.conf Jika memori rendah, pertimbangkan untuk beralih ke MPM acara atau menaik taraf RAM. 3. Menyiasat kesalahan segmentasi atau konflik modul dengan melumpuhkan modul yang tidak penting seperti mod_security atau mod_php satu demi satu dan memastikan keserasian perisian. 4. Semak DMESG | Grep -I 'Proses membunuh' untuk aktiviti pembunuh oom; Kurangkan maxRequestworkers, tambah swap, atau laraskan OOM_SCORE_ADJ untuk melindungi Apache. 5. Konfigurasi SystemD ke Auto-Restart Apache dengan menambahkan Restart = Sentiasa dan RestartSec = 10 dalam fail perkhidmatan, kemudian tambah semula dengan SystemCTL Daemon-reExec && SystemCtl membolehkan Apache2, dan gunakan alat pemantauan seperti monit atau cron untuk mengesan gangguan awal. Perhentian Apache yang kerap biasanya disebabkan oleh keletihan sumber, kesilapan, atau modul yang tidak stabil, dan menyelesaikannya memerlukan pemeriksaan log, mengoptimumkan penggunaan sumber, melumpuhkan modul yang bermasalah, menghalang membunuh OOM, dan menubuhkan auto-restart dan pemantauan untuk kestabilan.
Server Apache berhenti kerap boleh mengecewakan, terutamanya pada sistem pengeluaran. Ia biasanya menunjuk kepada isu -isu yang mendasari seperti keletihan sumber, kesilapan, atau konflik perisian. Inilah cara untuk mendiagnosis dan menyelesaikan masalah dengan berkesan.

1. Periksa log ralat Apache
Langkah pertama adalah untuk memeriksa log ralat Apache. Mereka sering mengandungi petunjuk khusus mengenai apa yang menyebabkan kemalangan itu.
- Pada kebanyakan sistem Linux, log terletak di:
/var/log/apache2/error.log # debian/ubuntu /var/log/httpd/error_log # rhel/centos
- Cari penyertaan baru -baru ini pada masa Apache berhenti. Isu biasa termasuk:
- Kesalahan Segmentasi (Segfaults)
- Kebenaran menafikan kesilapan
- Modul Memuatkan Kegagalan
- Mesej keluar dari ingatan (OOM)
Petua Pro: Gunakan
tail -f /var/log/apache2/error.log
semasa memulakan semula Apache untuk memantau ralat masa nyata.
2. Memantau sumber sistem
Apache boleh berhenti jika pelayan kehabisan memori atau CPU.
- Jalankan
htop
,top
, ataufree -h
untuk memeriksa memori dan penggunaan CPU. - Sekiranya memori secara konsisten dimaksimumkan:
- Kurangkan bilangan proses kanak -kanak Apache.
- Tukar dari
prefork
ke MPMevent
(jika menggunakan PHP melaluiphp-fpm
). - Pertimbangkan untuk menaik taraf RAM atau mengoptimumkan perkhidmatan berjalan lain.
Untuk modul prefork
Apache (biasa dengan mod_php), laraskan tetapan ini di /etc/apache2/mods-available/mpm_prefork.conf
(ubuntu) atau /etc/httpd/conf/httpd.conf
(centos):

<Ifmodule mpm_prefork_module> Startservers 2 MinspareServers 2 MaxSpareServers 5 MaxRequestworkers 50 # menurunkan ini jika RAM terhad MaxConnectionSperChild 1000 </Ifmodule>
Setiap proses Apache boleh menggunakan 20-100MB bergantung kepada modul dan lalu lintas yang dimuatkan. Jadi 50 pekerja mungkin memerlukan 1-5GB RAM.
3. Periksa kesalahan segmentasi atau konflik modul
Kemalangan yang kerap tanpa ralat yang jelas mungkin berpunca daripada modul yang rosak.
- Lumpuhkan modul yang tidak penting satu demi satu:
A2DISMOD MODULE_NAME # ON DEBIAN/UBUNTU
- Pengacau biasa:
mod_security
,mod_php
, modul pihak ketiga. - Jika anda baru -baru ini memasang modul atau PHP yang dikemas kini, cuba rolling kembali.
Juga, pastikan semua pakej Apache dan PHP bersesuaian dan terkini.
4. Mencegah isyarat membunuh luaran (pembunuh oom)
Linux boleh membunuh proses Apache jika sistem kehabisan ingatan.
- Semak Log Sistem:
dmesg | grep -i 'killed process'
- Sekiranya proses Apache dibunuh oleh pembunuh OOM (keluar-memori):
- Kurangkan
MaxRequestWorkers
- Meningkatkan ruang swap buat sementara waktu
- Mengoptimumkan perkhidmatan memori yang lain (misalnya, MySQL)
- Kurangkan
Anda juga boleh menyesuaikan skor pembunuh OOM untuk Apache:
echo -100>/proc/$ (pgrep apache2 | kepala -1)/oom_score_adj
(Lakukan ini melalui skrip permulaan jika diperlukan.)
5. Sediakan Pemantauan dan Auto-Restart
Walaupun selepas pembaikan, gunakan pemantauan untuk menangkap isu -isu awal.
Gunakan
systemd
ke Auto-Restart Apache: Edit fail perkhidmatan Apache (/etc/systemd/system/multi-user.target.wants/apache2.service
) dan tambah:[Perkhidmatan] Mulakan semula = selalu Restartsec = 10
Kemudian Muat semula:
systemctl daemon-reexec && systemctl enable apache2
-
Gunakan alat seperti:
-
monit
untuk memantau Apache dan mulakan semula jika turun - pekerjaan
cron
untuk memeriksa status apache setiap beberapa minit - Logwatch atau fail2ban untuk mengesan anomali
-
Pada asasnya, perhentian Apache yang kerap jarang rawak. Mereka biasanya disebabkan oleh had sumber atau masalah perisian. Mulakan dengan log, kemudian menilai memori, konfigurasi, dan modul. Tetapan pekerja tweak, melumpuhkan modul yang tidak stabil, dan sediakan auto-restart sebagai jaring keselamatan. Ia tidak kompleks, tetapi ia memerlukan pemeriksaan teratur.
Atas ialah kandungan terperinci Cara Mengendalikan Pelayan Apache Berhenti. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

InstallapacheusingPackageManagerCommandsforyouros, startandenableTheService.2.placeyourwebsiteFilesIntHeDefaultDirectory/var/www/html/, setProperownershipmersmissionsbasedonyoursystem

EnableVirtualHostSbyensuringIncludeOptionalsites-enabled/*. ConfisuncommentedInapacheconfig.2.CreateAvirtualHostfilein/etc/apache2/sites-availableWithSerververame, Documentroot, andLogPaths.3.PointDomoNdoStoStoStoStoStoStoS.

Configureapacheforefficientstaticfileservingbyenablingmod_expiresforbrowsercaching, settinglongexpirytimesforassetSetSetSetSandcss; usemod_deflateToToToThressText-berasaskanFilessuchashtml, css, andjavaSrenderminTiRinTiNTMArtMl, cSS, andjavaSrendermin;

APACHECANBECONFIGEDEDTOWOWORKWITHPHP-FPMUSINGMOD_PROXYANDMOD_PROXY_FCGI.FIRST, InstallPHP-FPMandRequirePaChemodules.onubuntu/d Ebian: sudoaptinstallphp-fpmapache2libapache2-mod-proxy-fcgi; oncentos/rhel: sudoyuminstallphp-fpmhttpdmod_proxy_fcgi.startanden

ToconfigureCORSinApache,enablethemod_headersmoduleusinga2enmodheadersoruncommentingtheLoadModuledirective,thensetAccess-Control-Allow-Origin,Methods,andHeadersin.htaccessorvirtualhostfiles,usewildcardsorenvironmentvariablesformultipleorigins,includeV

EnabeAuth_basicandauthn_filemodules, 2.CreatePasswordFileWithHtPasswd, 3.Configuredirectoryor.htaccessforauthentication, 4.RestartapachetoapplyChanges.

A40333333335555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555fordirektori, ensorecorrectownerAcheShown,

Langkah -langkah teras integrasi Apache dengan Elkstack termasuk: 1. Konfigurasi format log Apache, gunakan CustomLog untuk menentukan log berstruktur atau gunakan format JSON untuk memudahkan parsing; 2. Pasang dan konfigurasikan Filebeat untuk mengumpul log dan hantar mereka ke Elasticsearch atau Logstash; 3. Secara pilihan mengkonfigurasi logstash untuk mencapai penapisan log, pengekstrakan medan dan peningkatan (seperti GEOIP); 4. Pasang dan konfigurasikan Elasticsearch untuk menyimpan dan indeks data log; 5. Pasang dan konfigurasikan Kibana untuk mencapai analisis visual log. Untuk mengoptimumkan prestasi, anda harus memilih format log yang cekap, menggunakan mod grok dengan munasabah, dan menyesuaikan el
