httpd功能特性 虚拟主机 IP、Port、FQDN CGI:Common Gateway Interface,通用网关接口 反向代理 负载均衡 路径别名 丰富的用户认证机制 basic digest 支持第三方模块 新特性 MPM支持运行为DSO机制;以模块形式按需加载 event MPM生产环境可用 异步读写机制 支持每模块及每目录的单独日志级别定义 每请求相关的专用配置 增强版的表达式分析式 毫秒级持久连接时长定义 基于FQDN的虚拟主机不需要NameVirutalHost指令 新指令,AllowOverrideList 支持用户自定义变量 更低的内存消耗 Httpd介绍 CentOS 6: 2.2 CentOS 7: 2.4(6与7有的文件路径) CentOS 7程序环境:httpd-2.4 配置文件:/etc/httpd/conf/httpd.conf /etc/httpd/conf.d/*.conf 配置文件:/etc/sysconfig/httpd(不用) 日志文件目录:/var/log/httpd/access_log: 访问日志 error_log:错误日志 主程序文件:/usr/sbin/httpd 主进程文件: /etc/httpd/run/httpd.pid 模块文件路径: /etc/httpd/modules /usr/lib64/httpd/modules 站点网页文档根目录:/var/www/html 服务控制和启动:systemctl enable|disable httpd.service systemctl {start|stop|restart|status|reload} httpd.service 服务单元文件: /usr/lib/systemd/system/httpd.service 帮助文档包:httpd-manual 检查配置语法:httpd –t 查看静态和动态的模块: httpd -l httpd –M httpd自带的工具程序 htpasswd:basic认证基于文件实现时,用到的账号密码文件生成工具 apachectl:httpd自带的服务控制脚本,支持start和stop rotatelogs:日志滚动工具 httpd的压力测试工具 ab, webbench、http_load、seige、 Jmeter 开源 Loadrunner 商业,有相关认证 tcpcopy:网易,复制生产环境中的真实请求,并将之保存 ab 以下是httpd命令详解。 用法 httpd [-hlLStvVX][-c ][-C ][-d<服务器根目录>][-D<设定文件参数>][-f<设定文件>] -d serverroot 将ServerRoot指令设置初始值为serverroot。它可以被配置文件中的ServerRoot指令所覆盖。其默认值是/usr/local/apache2 。 -f config 在启动中使用config作为配置文件。如果config不以"/"开头,则它是相对于ServerRoot的路径。其默认值是conf/httpd.conf 。 -k start|restart|graceful|stop|graceful-stop 发送信号使httpd启动、重新启动或停止。更多信息请参见停止Apache。 -C directive 在读取配置文件之前,先处理directive的配置指令。 -c directive 在读取配置文件之后,再处理directive的配置指令。 -e level 在服务器启动时,设置LogLevel为level 。它用于在启动时,临时增加出错信息的详细程度,以帮助排错。 -E file 将服务器启动过程中的出错信息发送到文件file 。 -l 输出一个静态编译在服务器中的模块的列表。它不会列出使用LoadModule指令动态加载的模块。 -L 输出一个指令的列表,并包含了各指令的有效参数和使用区域。 -M 输出一个已经启用的模块列表,包括静态编译在服务器中的模块和作为DSO动态加载的模块。 -t 仅对配置文件执行语法检查。程序在语法解析检查结束后立即退出,或者返回"0"(OK),或者返回非0的值(Error)。如果还指定了"-DDUMP_VHOSTS",则会显示虚拟主机配置的详细信息。 -v 显示httpd的版本,然后退出。 -V 显示httpd和APR/APR-Util的版本和编译参数,然后退出。
安装httpd-2.4.39 apr-1.7.0.tar.bz2 (Apache可移植运行库) apr-util-1.6.1.tar.bz2 httpd-2.4.39.tar.bz2 1 合并源码文件 tar xvf apr-1.7.0.tar.bz2 tar xvf apr-util-1.6.1.tar.bz2 tar xvf httpd-2.4.39.tar.bz2 mv apr-1.7.0 httpd-2.4.39/srclib/apr (安装httpd方法二) mv apr-util-1.6.1 httpd-2.4.39/srclib/apr-util(安装httpd方法二) 2 安装相关的开发环境包 yum install gcc prce-devel openssl-devel expat-devel -y 3 编译安装 安装apr-1.6.2 cd apr-1.6.2 ./configure --prefix=/usr/local/apr make && make install 安装apr-util-1.6.0 cd ../apr-util-1.6.0 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make -j 2 && make install 安装httpd方法一: useradd -s /sbin/nologin apache cd httpd-2.4.39/ ./configure --prefix=/usr/local/httpd #指定apache的安装路径 --with-mpm=prefork #Apache的三种工作模式:event,worker,prefork,指定启用mpm模式,默认使用enevt模式,在apache的早期版本2.0默认prefork,2.2版本是worker 2.4版本是event. --enable-so #这个是支持动态共享模块 --enable-rewrite #支持URL重写 --enable-ssl #支持ssl 或--with-ssl=/usr/local/openssl #这个是指定openssl的安装位置 --enable-cgi #启用cgi --enable-modules=most #指明要静态编译到httpd二进制文件的模块 all或者most,all代表包含所有的模块 most代表大部分的模块 --enable-mods-shared=most #指明要以DSO方式编译的模块,all代表全部,most代表大部分 --enable-mpms-shared=all 启用MPM所有支持的模式,这样event,worker,prefork就会以模块化的方式安装,要用哪个就在httpd.conf里面配置就好了 --with-pcre #支持 pcre或 使用 --with-pcre=/usr/local/pcre --with-zlib #使用 zlib 压缩库或 使用--with-z=/usr/local/zlib --with-apr=/usr/local/apr #指定 apr 的安装路径 --with-apr-util=/usr/local/apr-util #指定 apr-util 的安装路径 --enable-expires:激活彧通过配置文件控制 HTTP 的“Expires:”和“Cache-Control:”头内容,即对网站图片、js、css 等内容,提供客户端浏览器缓存的设置。这个是 apache 调优的一个重要选项之一。 make -j 4 && make install 安装httpd方法二 : cp -r apr-1.6.2 httpd-2.4.39/srclib/apr cp -r apr-util-1.6.0 httpd-2.4.39/srclib/apr-util cd httpd-2.4.39/ ./configure \ --prefix=/usr/local/httpd \ --enable-so \ --enable-ssl \ --enable-cgi \ --enable-rewrite \ --with-zlib \ --with-pcre \ --with-included-apr \ --enable-modules=most \ --enable-mpms-shared=all \ --with-mpm=prefork make && make install 4 环境变量和启动 echo 'PATH=/usr/local/httpd/bin:$PATH' > /etc/profile.d/httpd.sh 5启动脚本三种方法 5.1自定义启动脚本 vim /etc/rc.d/rc.local /usr/local/httpd/bin/apachectl start chmod +x /etc/rc.d/rc.local . /etc/rc.d/rc.local 5.2其它机子复制过的改版本启动文件 需要模块直接:httpd -M | grep systemd vim /usr/lib/systemd/system/httpd.service [Service] Type=forking #EnvironmentFile=/etc/sysconfig/httpd ExecStart=/usr/local/httpd/bin/httpd $OPTIONS -k start ExecReload=/usr/local/httpd/bin/httpd $OPTIONS -k graceful ExecStop=/bin/kill -WINCH ${MAINPID} 5.3利用apachectl做启动脚本(centos 6 ) cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd sed -i '1a # chkconfig: 35 85 21' /etc/init.d/httpd sed -i '2a # description: apache 2.4.39' /etc/init.d/httpd chkconfig --add httpd chkconfig httpd on systemctl restart httpd systemctl status httpd systemctl stop httpd 5.创建专用用户和组(编辑配置文件) useradd -s /sbin/nologin -r apache
标签:httpd,enable,--,local,apr,usr,使用,安装 From: https://www.cnblogs.com/Yuanbangchen/p/16599590.html