ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 启动apache ### 开机自动启动apahce #### 方式1/etc/rc.local 在文件中加入下面一行代码 ``` /usr/lcoal/apache/bin/httpd ``` #### 方式2 添加服务脚本 针对编译安装的apache 将bin下apachectl复制为/etc/init.d/httpd,并赋予可执行权限 并在第二行增加如下两行内容,使用checkconfig将其加入开机自启动列表 ~~~ # chkconfig: - 85 15 # description: The Apache HTTP Server is an efficient and extensible \ # server implementing the current HTTP standards. ~~~ ### 正常启动 如不在PATH中,则使用命令的绝对路径或相对路径 ~~~ apachectl start|graceful|stop|graceful-stop|restart -k start|restart|graceful|graceful-stop|stop ~~~ graceful和gracdful-stop不会当前正在处理的连接,也不会关闭日志,**推荐使用** ### 杀死进程 apache进程分为主进程和worker进程,只要将主进程杀死即可。或者使用`pkill httpd` --- ## 运行多个apache服务器 ### 使用多个配置文件 安装了多个apache版本,保证端口不冲突,启动时指定相应的配置文件即可,或者使用自己的httpd启动也可以 ### 使用IfDefime容器实现不同配置 在<IfDefime name>中,name是一个变量名,当name为真时,会执行容器中的命令。 如果使用`httpd -D SSL`,则容器中的条目被激活 ~~~ <IfDefime SSL> listen 443 DocumentRoot /dir </IfDefime> ~~~ --- ## 监控 ### apache自带的监控工具 apache本身有两个模块来提供监控信息 * mod_status 动态显示服务器的运行状态 * mod_info 提供服务器附加的配置信息 #### mod_status * 当前工作进程数量,空闲进程数量,服务器运行的时间 * 当前正在连接的主机和请求 * CPU使用率和apache使用CPU占比 * 每秒平均请求量,每秒发送字节数,每个请求发送字节数 #### 开启mod_status 在主配置文件中加载这个配置,并授权哪些主机可以访问 如果想看每个子进程的应答信息,使用`ExtendedStatus On` ~~~ # Real-time info on requests and configuration Include conf/extra/httpd-info.conf ~~~ ~~~ #ExtendedStatus On <Location /server-status> SetHandler server-status Require host .example.com Require ip 127 </Location> ~~~ #### 查看状态信息 在浏览器或者命令行使用 http://ip/server-status?refresh=1 `refresh`默认刷新时间是10秒 ![](http://i1.piimg.com/567571/5551abc0a9bed608.png) `http://ip/server-status?auto`可以提供一个简单的可供机器阅读状态表格 也可以组合使用`http://ip/server-status?auto?refresh=2` ![](http://i1.piimg.com/567571/eacdee3d9e2064ef.png) --- #### mod_info 在主配置文件中加载这个配置,并授权哪些主机可以访问 ~~~ # Real-time info on requests and configuration Include conf/extra/httpd-info.conf ~~~ ~~~ <Location /server-info> SetHandler server-info Require host .example.com Require ip 127 </Location> ~~~ #### 查看状态信息 在浏览器或者命令行使用 http://ip/server-info server-info页面也可以通过?config,#module-name,?list, ?server,?hook分别显示apache配置文件,模块相关信息,所有实用的模块列表,基本服务信息,每个模块所属钩子列表