Apache 编译安装

安装文档:http://httpd.apache.org/docs/2.4/install.html
安装环境:
apr [http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.gz]
apr-util [http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz]
此两个包下载后,解压到 /httpd_source_tree_root/srclib/apr
和 /httpd_source_tree_root/srclib/apr-util 注意没有版本号
PCRE 正则表达式库
GCC 或者其它编译器
NTP时间同步工具【最好自己同步一次,推荐授时地址: cn.pool.ntp.org】
Perl 5 库,来支持一些 apxs[动态编译httpd的库(.so文件)] 之类的脚本

编译命令:
./configure \
--prefix=/home/server/httpd-2.4.25 \
--enable-rewrite \
--enable-vhost-alias \
--enable-allowmethods \
--enable-v4-mapped \
--enable-file-cache \
--enable-cache \
--enable-cache-disk \
--enable-buffer \
--enable-request \
--enable-expires \
--enable-remoteip \
--enable-http \
--enable-so \
--enable-ssl \
--enable-mime-magic \
--with-crypto \
--enable-session \
--enable-session-cookie \
--enable-session-crypto \
--enable-heartbeat \
--enable-heartmonitor \
--enable-info \
--with-prot=8080 \
--with-sslport=8443 \
--with-z=/home/source/zlib-1.2.8/ \
--with-ssl=/home/source/openssl-1.0.1t/
常用的控制命令如下:
/安装目录/bin/apachectl -h 【显示帮助信息】
Usage: /home/server/httpd-2.4.25/bin/httpd [-D name] [-d directory] [-f file]
[-C "directive"] [-c "directive"]
[-k start(开启)|restart(重启)|graceful(???)|graceful-stop(平滑停止)|stop(停止)]
[-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]
Options:
-D name : define a name for use in <IfDefine name> directives
给IfDefine配置项定义一个名字
-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
显示编译时的设置【查看 ./configure 时的命令】
-h : list available command line options (this page)
-l : list compiled in modules
显示编译的模块
Compiled in modules:
core.c
mod_so.c 【手动添加其它模块的时候,必需要这个】
http_core.c
event.c
-L : list available configuration directives
显示当前有效的配置指令及可以使用的在哪些配置块【显示的太长了,自己看吧】
-t -D DUMP_VHOSTS : show parsed vhost settings
显示当前配置的虚拟主机
VirtualHost configuration:
*:8080 is a NameVirtualHost
default server host1.com (/home/server/httpd-2.4.25/conf/extra/httpd-vhosts.conf:23)
port 8080 namevhost host1.com (/home/server/httpd-2.4.25/conf/extra/httpd-vhosts.conf:23)
alias www.host1.com
port 8080 namevhost host2.com (/home/server/httpd-2.4.25/conf/extra/httpd-vhosts.conf:39)
alias www.host2.com
-t -D DUMP_RUN_CFG : show parsed run settings
显示当前运行时设置
-S : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG
上面两个参数的简写
-t -D DUMP_MODULES : show all loaded modules
显示所有以加载的模块
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
mpm_event_module (static)
authn_file_module (shared)
authn_core_module (shared)
authz_host_module (shared)
authz_groupfile_module (shared)
-M : a synonym for -t -D DUMP_MODULES
显示所有模块的简写
-t -D DUMP_INCLUDES: show all included configuration files
显示所有包含的配置文件
Included configuration files:
(*) /home/server/httpd-2.4.25/conf/httpd.conf 【主配置文件】
(476) /home/server/httpd-2.4.25/conf/extra/httpd-vhosts.conf
【在主配置文件的476行引入】
-t : run syntax check for config files
检查运行时的配置文件语法
Syntax OK
-T : start without DocumentRoot(s) check
启动时,不检查文档根目录
-X : debug mode (only one worker, do not detach)
DEBUG 模式