Apache HTTP Server£¬×÷ΪÊÀ½çÉÏ×îÁ÷ÐеĿªÔ´Web·þÎñÆ÷Èí¼þÖ®Ò»£¬¹ã·ºÓ¦ÓÃÓÚ¸÷ÖÖLinux·¢ÐаæÉÏ
ΪÁËÈ·±£Apache·þÎñÆ÷Äܹ»¸ßЧ¡¢°²È«µØÔËÐУ¬¶¨ÆÚµÄ¼ì²éÓëά»¤ÊDZز»¿ÉÉÙµÄ
±¾ÎĽ«´Ó¶à¸öά¶È³ö·¢£¬Ïêϸ½éÉÜÈçºÎÔÚLinuxϵͳ϶ÔApache·þÎñÆ÷½øÐÐÈ«Ãæ¼ì²é£¬²¢ÌṩʵÓõÄά»¤½¨Òé
Ò»¡¢Apache·þÎñÆ÷״̬³õ²½¼ì²é 1. È·ÈÏApache·þÎñ״̬ Ê×ÏÈ£¬ÄãÐèҪȷÈÏApache·þÎñÊÇ·ñÕýÔÚÔËÐÐ
ÔÚ´ó¶àÊýLinux·¢ÐаæÖУ¬Äã¿ÉÒÔʹÓÃ`systemctl`»ò`service`ÃüÁîÀ´¼ì²éApache£¨Í¨³£³ÆÎªhttpd»òapache2£©µÄ״̬
sudo systemctl status apache2 ¶ÔÓÚDebian/Ubuntuϵ sudo systemctl status httpd# ¶ÔÓÚRed Hat/CentOSϵ Èç¹û·þÎñδÔËÐУ¬¿ÉÒÔͨ¹ýÒÔÏÂÃüÁîÆô¶¯£º sudo systemctl start apache2 »ò httpd 2. ¼ì²éApache¼àÌý¶Ë¿Ú ĬÈÏÇé¿öÏ£¬Apache¼àÌý80¶Ë¿Ú£¨HTTP£©ºÍ443¶Ë¿Ú£¨HTTPS£©
ʹÓÃ`netstat`»ò`ss`ÃüÁî¿ÉÒÔÑéÖ¤ÕâЩ¶Ë¿ÚÊÇ·ñ¿ª·Å
sudo netstat -tuln | grep :80 sudo netstat -tuln | grep :443 »òÕßʹÓÃssÃüÁî sudo ss -tuln | grep :80 sudo ss -tuln | grep :443 3. ²é¿´ApacheÈÕÖ¾Îļþ ApacheµÄÈÕÖ¾ÎļþÊÇÕï¶ÏÎÊÌâµÄ¹Ø¼ü
ĬÈÏÇé¿öÏ£¬·ÃÎÊÈÕÖ¾ºÍ´íÎóÈÕÖ¾·Ö±ðλÓÚ£º - ·ÃÎÊÈÕÖ¾£º`/var/log/apache2/access.log`£¨Debian/Ubuntu£©»ò`/var/log/httpd/access_log`£¨Red Hat/CentOS£© - ´íÎóÈÕÖ¾£º`/var/log/apache2/error.log`£¨Debian/Ubuntu£©»ò`/var/log/httpd/error_log`£¨Red Hat/CentOS£© ʹÓÃ`tail`¡¢`less`»ò`cat`ÃüÁî²é¿´ÈÕÖ¾ÄÚÈÝ£¬ÒÔ¿ìËÙ¶¨Î»Ç±ÔÚÎÊÌâ
sudo tail -f /var/log/apache2/error.log ¶þ¡¢ÐÔÄÜ¼à¿ØÓëÓÅ»¯ 1. ʹÓÃApache×Ô´ø¹¤¾ß ApacheÌṩÁË`apachectl`ºÍ`apache2ctl`£¨È¡¾öÓÚϵͳ£©¹¤¾ß£¬ÒÔ¼°`mod_status`Ä£¿éÀ´¼à¿Ø·þÎñÆ÷״̬
ÆôÓÃ`mod_status`ºó£¬¿ÉÒÔͨ¹ýÌØ¶¨URL²é¿´·þÎñÆ÷µÄʵʱ״̬ÐÅÏ¢
±à¼ApacheÅäÖÃÎļþ£¨Èç`/etc/apache2/apache2.conf`»ò`/etc/httpd/conf/httpd.conf`£©£¬Ìí¼ÓÒÔÏÂÄÚÈÝ£º
2. ÀûÓõÚÈý·½¼à¿Ø¹¤¾ß ³ýÁËApache×Ô´ø¹¤¾ß£¬»¹¿ÉÒÔʹÓÃÈçNagios¡¢Zabbix¡¢PrometheusµÈ¼à¿ØÏµÍ³£¬½áºÏApacheµÄµ¼³öÆ÷£¨ÈçApache Exporter£©£¬ÊµÏÖ¶ÔApacheÐÔÄܵÄÈ«Ãæ¼à¿ØºÍ¸æ¾¯
3. ÓÅ»¯ÅäÖÃÌáÉýÐÔÄÜ - µ÷ÕûMPM£¨Multi-Processing Modules£©ÉèÖ㺸ù¾Ý·þÎñÆ÷Ó²¼þ×ÊÔ´ºÍ·þÎñÐèÇó£¬Ñ¡ÔñºÏÊʵÄMPMģʽ£¨Èçprefork¡¢worker¡¢event£©²¢µ÷ÕûÏà¹Ø²ÎÊý
- ÆôÓûº´æ£ºÊ¹ÓÃmod_cacheºÍ`mod_cache_disk`µÈÄ£¿é£¬¼õÉÙ·þÎñÆ÷¸ºÔØ
- ѹËõ´«ÊäÊý¾Ý£ºÆôÓÃmod_deflateÄ£¿é£¬¶Ô´«ÊäµÄÊý¾Ý½øÐÐѹËõ£¬Ìá¸ß´«ÊäЧÂÊ
Èý¡¢°²È«ÐÔ¼ì²éÓë¼Ó¹Ì 1. ¸üÐÂÓë²¹¶¡¹ÜÀí ±£³ÖApache¼°ÆäÒÀÀµ¿âµÄ×îÐÂ״̬ÊÇ·À·¶ÒÑ֪©¶´µÄ¹Ø¼ü
¶¨ÆÚ¼ì²é²¢Ó¦Óð²È«¸üÐÂ
sudo apt update && sudo apt upgrade Debian/Ubuntu sudo yum update # Red Hat/CentOS£¨½Ï¾É°æ±¾£© sudo dnf updateFedora/Red Hat Enterprise Linux 8+ 2. ÅäÖ÷À»ðǽ ʹÓÃLinuxÄÚÖõÄ`ufw`»ò`firewalld`µÈ¹¤¾ß£¬ÏÞÖÆ¶ÔApache·þÎñÆ÷µÄ·ÃÎÊ£¬½öÔÊÐí±ØÒªµÄ¶Ë¿Ú¿ª·Å
sudo ufw allow Apache Full Debian/Ubuntu sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --add-service=https --permanent sudo firewall-cmd --reload 3. ÆôÓÃSSL/TLS ÎªÍøÕ¾ÆôÓÃHTTPS£¬±£»¤Êý¾Ý´«Ê䰲ȫ
ʹÓÃLets EncryptµÈÃâ·ÑÖ¤Êé·þÎñ£¬¿ÉÒÔÇáËÉÅäÖÃSSL/TLS
4. ÅäÖûù±¾ÈÏÖ¤ ¶ÔÓÚÃô¸ÐÒ³Ãæ£¬¿ÉÒÔͨ¹ý`mod_auth_basic`Ä£¿éʵÏÖ»ù±¾HTTPÈÏÖ¤£¬Ôö¼Ó·ÃÎÊ¿ØÖÆ
5. ½ûÓò»±ØÒªµÄÄ£¿é ½ûÓÃδʹÓõÄApacheÄ£¿é£¬¼õÉÙDZÔڵĹ¥»÷Ãæ
sudo a2dismod module_name Debian/Ubuntu sudo apachectl -D DUMP_MODULES | grep -v builtin|shared | xargs -n 1 sudo a2dismod Áгö²¢½ûÓÃËùÓзÇÄÚÖÃ/¹²ÏíÄ£¿é£¨É÷Óã© ËÄ¡¢±¸·ÝÓë»Ö¸´²ßÂÔ 1. ¶¨ÆÚ±¸·ÝÅäÖÃÎļþºÍÊý¾Ý ¶¨ÆÚ±¸·ÝApacheµÄÅäÖÃÎļþ£¨Èç`/etc/apache2/`»ò`/etc/httpd/conf/`Ŀ¼£©ºÍÍøÕ¾Êý¾Ý£¬ÊÇÔÖÄѻָ´µÄÖØÒª²½Öè
2. ʹÓð汾¿ØÖÆÏµÍ³ ½«ApacheÅäÖÃÎļþÄÉÈë°æ±¾¿ØÖÆÏµÍ³£¨ÈçGit£©£¬±ãÓÚ×·×Ù¸ü¸ÄºÍ¿ìËٻعö
3. ÖÆ¶¨Ó¦¼±ÏìÓ¦¼Æ»® ½¨Á¢ÏêϸµÄÓ¦¼±ÏìÓ¦Á÷³Ì£¬°üÀ¨°²È«Ê¼þµÄ´¦Àí²½Öè¡¢ÁªÏµÈËÐÅÏ¢ºÍ»Ö¸´²½Ö裬ȷ±£ÔÚ·¢ÉúÎÊÌâʱÄܹ»Ñ¸ËÙÏìÓ¦
½áÓï Apache·þÎñÆ÷µÄ¼ì²éÓëά»¤ÊÇÒ»¸öϵͳ¹¤³Ì£¬Éæ¼°ÐÔÄÜ¼à¿Ø¡¢°²È«¼Ó¹Ì¡¢±¸·Ý»Ö¸´µÈ¶à¸ö·½Ãæ
ͨ¹ý±¾ÎĽéÉܵķ½·¨£¬Äã¿ÉÒÔÓÐЧµØÌáÉýApache·þÎñÆ÷µÄÎȶ¨ÐԺͰ²È«ÐÔ£¬È·±£ÍøÕ¾·þÎñµÄ³ÖÐø¿É¿¿
¼Çס£¬¶¨ÆÚµÄ¼ì²éÓë¸üÐÂÊÇÔ¤·ÀÎÊÌâµÄ×î¼Ñ²ßÂÔ£¬¶øºÏÀíµÄÅäÖÃºÍ¼à¿ØÔòÄÜÔÚÎÊÌâ·¢ÉúʱѸËÙ¶¨Î»²¢½â¾ö
ÔÚÊý×Ö»¯×ªÐ͵ÄÀ˳±ÖУ¬È·±£Web·þÎñÆ÷µÄ½¡¿µÔËÐУ¬¶ÔÓÚÆóÒµµÄÔÚÏßÒµÎñÖÁ¹ØÖØÒª