apace日常操作和配置

时间:2021-11-17 08:01:14
[root@limt modules]# /usr/sbin/apachectl -h
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 <IfDefine name> 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

1 查看apache编译时加载的模块

[root@limt modules]# /usr/sbin/apachectl -l
Compiled in modules:
core.c
prefork.c #采用的多进程模式
http_core.c
mod_so.c

2 看所有可Load的模块

/usr/sbin/apachectl -t -D DUMP_MODULES

3 检查配置文件语法

[root@limt modules]# /usr/sbin/apachectl -t -f /etc/httpd/conf/httpd.conf
httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.1.104 for ServerName
Syntax OK

4 启动apache

[root@limt modules]# /usr/sbin/apachectl -k start -f /etc/httpd/conf/httpd.conf
httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.1.104 for ServerName
[root@limt modules]# ps -ef|grep http
root 6011 1 0 04:26 pts/0 00:00:00 /usr/sbin/nss_pcache 294914 off /etc/httpd/alias
root 6013 1 4 04:26 ? 00:00:00 /usr/sbin/httpd -k start -f /etc/httpd/conf/httpd.conf
root 6015 6013 0 04:26 ? 00:00:00 /usr/bin/crlhelper 327684 6013 /etc/httpd/alias
apache 6016 6013 0 04:26 ? 00:00:00 /usr/sbin/httpd -k start -f /etc/httpd/conf/httpd.conf
apache 6017 6013 3 04:26 ? 00:00:00 /usr/sbin/httpd -k start -f /etc/httpd/conf/httpd.conf
apache 6018 6013 2 04:26 ? 00:00:00 /usr/sbin/httpd -k start -f /etc/httpd/conf/httpd.conf
apache 6019 6013 2 04:26 ? 00:00:00 /usr/sbin/httpd -k start -f /etc/httpd/conf/httpd.conf
apache 6020 6013 2 04:26 ? 00:00:00 /usr/sbin/httpd -k start -f /etc/httpd/conf/httpd.conf
apache 6021 6013 3 04:26 ? 00:00:00 /usr/sbin/httpd -k start -f /etc/httpd/conf/httpd.conf
apache 6022 6013 3 04:26 ? 00:00:00 /usr/sbin/httpd -k start -f /etc/httpd/conf/httpd.conf
apache 6023 6013 3 04:26 ? 00:00:00 /usr/sbin/httpd -k start -f /etc/httpd/conf/httpd.conf
apache 6024 6013 4 04:26 ? 00:00:00 /usr/sbin/httpd -k start -f /etc/httpd/conf/httpd.conf
root 6026 4496 0 04:27 pts/0 00:00:00 grep http

5 停止apache

[root@limt modules]# /usr/sbin/apachectl -k stop
httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.1.104 for ServerName
[root@limt modules]#
[root@limt modules]# ps -ef|grep http
root 6039 4496 0 04:28 pts/0 00:00:00 grep http

6 配置文件:/etc/httpd/conf/httpd.conf

Section 1: Global Environment

ServerTokens OS
#语法:ServerTokens Major | Minor | Min[imal] | Prod[uctOnly] | OS | Full
#默认:ServerTokens Full
#这个指令用来控制服务器回应给客户端的“Server:”应答头是否包含关于服务器操作系统类型和编译进的模块描述信息。
#注意:在使用ServerTokens指令时要先启用ServerSignature指令。 #apache软件安装的位置
ServerRoot "/etc/httpd" #主httpd进程(所有其他进程的父进程)的进程号文件位置
PidFile run/httpd.pid Timeout 60
#开启持久性连接功能。即当客户端连接到服务器,下载完数据后仍然保持连接状态
KeepAlive Off
#一个连接服务的最多请求次数
MaxKeepAliveRequests 100
#持续连接多长时间,该连接没有再请求数据,则断开该连接。缺省为15秒
KeepAliveTimeout 15 #多进程模式
# prefork MPM
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
#多进程多线程模式
# worker MPM
<IfModule worker.c>
StartServers 4
MaxClients 300
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule> #监听端口
Listen 8080 #加载模块
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so #加载conf.d目录的配置模块
Include conf.d/*.conf # Section 2: 'Main' server configuration #apache运行的用户
User apache
Group apache #管理员的邮件地址
ServerAdmin root@localhost ServerName指定Apache用于识别自身的名字和端口号。
# 通常这个值是自动指定的,但是我们推荐你显式的指定它以防止启动时出错
#
# 如果你为你的主机指定了一个无效的DNS名,server-generated重定向将不能工作。
# 参见UseCanonicalName指令
#
# 如果你的主机没有注册DNS名,在这里键入它的IP地址
# 无论如何,你必须使用它的IP地址来提供服务,
# 这里使用一种容易理解的方式重定向服务
ServerName localhost:80 #
# UseCanonicalName:决定Apache如何构造URLS和 SERVER_NAME 和 SERVER_PORT 的指令。
# 当设置为 “Off”时,Apache会使用用户端提供的主机名和端口号。
# 当设置为“On”,Apache会使用ServerName指令的值。
#
UseCanonicalName Off #主站点的网页存储位置
DocumentRoot "/var/www/html" #错误日志文件
ErrorLog logs/error_log ServerSignature On #Section 3: Virtual Hosts
#<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>