ค้นหาเว็บไซต์

วิธีตรวจสอบว่าโมดูล Apache ใดเปิดใช้งาน/โหลดใน Linux


ในคู่มือนี้ เราจะพูดคุยสั้นๆ เกี่ยวกับฟรอนต์เอนด์ของเว็บเซิร์ฟเวอร์ Apache และวิธีการแสดงรายการหรือตรวจสอบว่าโมดูล Apache ใดที่เปิดใช้งานบนเซิร์ฟเวอร์ของคุณ

Apache ถูกสร้างขึ้นตามหลักการของโมดูลาร์ ด้วยวิธีนี้ ช่วยให้ผู้ดูแลระบบเว็บเซิร์ฟเวอร์สามารถเพิ่มโมดูลต่างๆ เพื่อขยายฟังก์ชันการทำงานหลักและปรับปรุงประสิทธิภาพของ apache ได้เช่นกัน

การอ่านที่แนะนำ: 5 เคล็ดลับในการเพิ่มประสิทธิภาพของเว็บเซิร์ฟเวอร์ Apache ของคุณ

โมดูล Apache ทั่วไปบางส่วนประกอบด้วย:

  1. mod_ssl – ซึ่งมี HTTPS สำหรับ Apache
  2. mod_rewrite – ซึ่งช่วยให้สามารถจับคู่รูปแบบ URL กับนิพจน์ทั่วไป และดำเนินการเปลี่ยนเส้นทางอย่างโปร่งใสโดยใช้เทคนิค .htaccess หรือใช้การตอบกลับรหัสสถานะ HTTP
  3. mod_security – ซึ่งให้คุณปกป้อง Apache จากการโจมตี Brute Force หรือ DDoS
  4. mod_status – ที่ช่วยให้คุณสามารถตรวจสอบการโหลดเว็บเซิร์ฟเวอร์ Apache และสถิติของหน้า

ใน Linux คำสั่ง apachectl หรือ apache2ctl ใช้เพื่อควบคุมอินเทอร์เฟซเซิร์ฟเวอร์ Apache HTTP ซึ่งเป็นส่วนหน้าของ Apache

คุณสามารถแสดงข้อมูลการใช้งานสำหรับ apache2ctl ได้ดังนี้:

apache2ctl help
OR
apachectl help
Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file]
                       [-C "directive"] [-c "directive"]
                       [-k start|restart|graceful|graceful-stop|stop]
                       [-v] [-V] [-h] [-l] [-L] [-t] [-S]
Options:
  -D name            : define a name for use in  directives
  -d directory       : specify an alternate initial ServerRoot
  -f file            : specify an alternate ServerConfigFile
  -C "directive"     : process directive before reading config files
  -c "directive"     : process directive after reading config files
  -e level           : show startup errors of level (see LogLevel)
  -E file            : log startup errors to file
  -v                 : show version number
  -V                 : show compile settings
  -h                 : list available command line options (this page)
  -l                 : list compiled in modules
  -L                 : list available configuration directives
  -t -D DUMP_VHOSTS  : show parsed settings (currently only vhost settings)
  -S                 : a synonym for -t -D DUMP_VHOSTS
  -t -D DUMP_MODULES : show all loaded modules 
  -M                 : a synonym for -t -D DUMP_MODULES
  -t                 : run syntax check for config files

apache2ctl สามารถทำงานได้ในสองโหมดที่เป็นไปได้ ได้แก่ โหมด Sys V init และโหมด pass-through ในโหมด SysV init apache2ctl ใช้คำสั่งง่ายๆ เพียงคำเดียวในรูปแบบด้านล่าง:

apachectl command
OR
apache2ctl command

ตัวอย่างเช่น หากต้องการเริ่ม Apache และตรวจสอบสถานะ ให้รันคำสั่งทั้งสองนี้ด้วยสิทธิ์ผู้ใช้รูทโดยใช้คำสั่ง sudo ในกรณีที่คุณเป็นผู้ใช้ปกติ:

sudo apache2ctl start
sudo apache2ctl status
tecmint@TecMint ~ $ sudo apache2ctl start
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
httpd (pid 1456) already running
tecmint@TecMint ~ $ sudo apache2ctl status
Apache Server Status for localhost (via 127.0.0.1)

Server Version: Apache/2.4.18 (Ubuntu)
Server MPM: prefork
Server Built: 2016-07-14T12:32:26

-------------------------------------------------------------------------------

Current Time: Tuesday, 15-Nov-2016 11:47:28 IST
Restart Time: Tuesday, 15-Nov-2016 10:21:46 IST
Parent Server Config. Generation: 2
Parent Server MPM Generation: 1
Server uptime: 1 hour 25 minutes 41 seconds
Server load: 0.97 0.94 0.77
Total accesses: 2 - Total Traffic: 3 kB
CPU Usage: u0 s0 cu0 cs0
.000389 requests/sec - 0 B/second - 1536 B/request
1 requests currently being processed, 4 idle workers

__W__...........................................................
................................................................
......................

Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process

และเมื่อทำงานในโหมด พาส-ทรู apache2ctl สามารถรับอาร์กิวเมนต์ Apache ทั้งหมดในรูปแบบต่อไปนี้:

apachectl [apache-argument]
apache2ctl [apache-argument]

อาร์กิวเมนต์ Apache ทั้งหมดสามารถแสดงรายการได้ดังต่อไปนี้:

apache2 help    [On Debian based systems]
httpd help      [On RHEL based systems]

ตรวจสอบโมดูล Apache ที่เปิดใช้งาน

ดังนั้น เพื่อตรวจสอบว่าโมดูลใดเปิดใช้งานบนเว็บเซิร์ฟเวอร์ Apache ของคุณ ให้เรียกใช้คำสั่งที่เกี่ยวข้องด้านล่างสำหรับการแจกจ่ายของคุณ โดยที่ -t -D DUMP_MODULES เป็นอาร์กิวเมนต์ Apache เพื่อแสดงโมดูลที่เปิดใช้งาน/โหลดทั้งหมด : :

---------------  On Debian based systems --------------- 
apache2ctl -t -D DUMP_MODULES   
OR 
apache2ctl -M
---------------  On RHEL based systems --------------- 
apachectl -t -D DUMP_MODULES   
OR 
httpd -M
apache2ctl -M
[root@tecmint httpd]# apachectl -M
Loaded Modules:
 core_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 auth_basic_module (shared)
 auth_digest_module (shared)
 authn_file_module (shared)
 authn_alias_module (shared)
 authn_anon_module (shared)
 authn_dbm_module (shared)
 authn_default_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 authz_owner_module (shared)
 authz_groupfile_module (shared)
 authz_dbm_module (shared)
 authz_default_module (shared)
 ldap_module (shared)
 authnz_ldap_module (shared)
 include_module (shared)
....

นั่นคือทั้งหมด! ในบทช่วยสอนง่ายๆ นี้ เราได้อธิบายวิธีใช้เครื่องมือส่วนหน้าของ Apache เพื่อแสดงรายการโมดูล apache ที่เปิดใช้งาน/โหลดแล้ว โปรดทราบว่าคุณสามารถติดต่อเราโดยใช้แบบฟอร์มคำติชมด้านล่างเพื่อส่งคำถามหรือความคิดเห็นเกี่ยวกับคำแนะนำนี้ถึงเรา