2019独角兽企业重金招聘Python工程师标准>>>
Apache
主配置文件 /etc/httpd/conf/httpd.conf
访问日志文件 /var/log/httpd/access_log
日志备份配置文件 /etc/logrotate.d/httpd
配置文件主目录: /etc/httpd/conf/http.conf
默认发布目录是:/var/www/html
子配置文件目录 /etc/httpd/conf.d/*
默认关联上下文的情况是 httpd_sys_content_t
通找到index 进行添加默认访问目录,其访问顺序分先后次序
apache 日志文件位置 :/etc/httpd/logs/*
apache 的默认用户为apache
apache 有同步阻塞功能,使用的意义是在有多个文件时是顺序访问的
apache 的默认安装目录/usr/local/apache
常见Apache命令 :
pkill httpd #杀死之前安装的apache服务
/usr/local/apache2/bin/apachectl start #启动Apache
ps -ef | grep httpd #查看apache进程是否启动
ssh -l 192.168.163.131 "sh /root/auto_config_apache.sh" #远程执行脚本
scp -r auto_config_apache.sh [email protected]:/root/ #远程拷贝文件和目录
用户请求的URI(具体请求的文件),Apache判断文件是否属于静态或者动态文件,如果是静态文件直接解析并处理,将数据返回给浏览器,浏览器通过MIME调用相应软件解析内容,渲染生成WEB页面。
如果用户请求的是PHP动态文件,Apache是不能直接解析的,Apache将该文件于PHP模块。
Apache HTTP Server 简称为 Apache。它的发布得到Apache许可证 2.0 版的许可。该web服务器自身使用模块化架构,加载mod_proxy模块可以增加服务器代理/ 网关的功能,加载mod_proxy_balancer模块可以为所有支持的协议提供负载平衡。在v2.4版本里,Apache可通过全新的mod_http2模块支持HTTP/2。
Apache服务器,提供的子进程的缺省的用户是root
Apache与Tomcat关系
Apache是一款开源的Web服务器产品,大部分都用C语言编写(你直接理解成用C语言编写算了)。全世界使用量排名第一的Web服务器。另外,Apache也是一个开源软件基金会的名字,其下管理很多开源项目,也包括这款叫Apache的Web服务器软件。
Tomcat同样是一款开源的Web服务器产品,使用Java语言编写。也同Apache服务器一样,提供Web服务,但Tomcat主要用于承载JSP、CGI等服务端处理脚本,并提供运行环境,处理客户端请求,再输出HTML返回给用户。这类在服务端动态加载数据(可更改的数据)并回传给客户端浏览器的网站叫动态网站或动态网页。相对的,还有一类叫静态网页的,就是数据不变动的网页或网站,这类页面多是HTML或HTML文件集合。
apache主要有两种工作模式:prefork(apache的默认安装模式)和worker(可以在编译的时候加参数–with-mpm- worker选择工作模式)
prefork的特点是:(预派生)
1.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销
2.可以防止意外的内存泄漏
3.在服务器负载下降的时候会自动减少子进程数
worker的特点是:支持混合的多线程多进程的多路处理模块
如果对于一个高流量的HTTP服务器,worker MPM是一个比较好的选择,因为worker MPM占用的内存要比prefork要小。
Prefork mpm和Worker MPM 引擎区别 :
Prefork mpm模式 :使用多个进程,每个进程只有一个线程,每个进程在某个确定的时间只能维持一个连接,稳定,内存开销较高;
Worker MPM模式 :使用多个进程,每个子进程包含多个线程,每个线程在某个确定的时间只能维持一个连接,内存占用量比较小,适合大并发、高流量的WEB服务器。Worker MPM缺点是一个线程崩溃,整个进程就会连同其他的任何线程一起崩溃
默认Apache处理模块为 Prefork mpm方式, Prefork 采用的预派生子进程方式, Prefork用单独的子进程来处理不同的请求,进程之间是彼此独立的,所以比较稳定。
Apache 服务器的配置文件 httpd.conf 中有很多内容,请解释如下配置项:
(1)MaxKeepAliveRequests 200 (2)UserDir public_html
(3)DefaultType text/plain (4)AddLanguare en.en
(5)DocumentRoot“/usr/local/httpd/htdocs”
(6)AddType application/x-httpd-php.php.php.php4
参考答案:
(1)允许每次连接的最大请求数目,此为 200;(2)设定用户放置网页的目录;
(3)设置服务器对于不认识的文件类型的预设格式;
(4)设置可传送语言的文件给浏览器;(5)该目录为 Apache 放置网页的地方;
(6)服务器选择使用 php4。
试解释 apache 服务器以下配置的含义:
(1)port 1080 (2)UserDir userdoc
(3)DocumentRoot “/home/htdocs”
(4)
Options Indexes FollowSymLinks
AllowOverride None
Order deny,allow
deny from all
allow from 192.168.1.5
(5)Server Type Standlone
参考答案:
Apache 服务器配置行含义如下:
(1)将 apache 服务器的端口号设定为 1080;
(2)设定用户网页目录为 userdoc;
(3)设定 apache 服务器的网页根目录:/home/htdocs;
(4)在此 apache 服务器上设定一个目录/home/htdocs/inside,且此目录只允许 IP 地
址为 192.168.1.5 的主机访问;
(5)定义 apache 服务器以独立进程的方式运行。
Apache与Tomcat比较
相同点:
Apache与Tomcat都是Web服务器,都支持跨平台,都是开源项目
Apache与Tomcat都属于Apache开源软件基金会下的项目,并运行在全世界很多服务器上
不同点:
Apache服务器是C语言编写,其主要的侧重点是并行能力和均衡负载,Tomcat服务器用Java编写,主要侧重于作为一个Servlet容器,做到后台动态处理,由Java和JRE处理。
Apache服务器只支持静态页面的请求处理,并不支持动态网页的处理。要完成动态处理,必须通过插件或作为Apache扩展模块,在启动时动态加载到Apache扩展接口供调用。而Tomcat就支持动态网页处理,使用CGI或Java,我们对Java的使用更多,所以大部分时候说到Tomcat就能想到JSP。
Apache主要提供的是静态页面处理,对于动态页面处理这类问题,多是作为其扩展的一部分由其他语言或第三方插件控制。可以这样想,Apache提供了一个中转,将不同的数据请求分发到各个对应的模块,PHP请求发送 到对应的PHP模块,CGI请求则创建一个进程并调用CGI脚本,这时候当对应模块处理完,将作为输出返回给Apache服务器,Apache服务器再将这些结果(HTML页面)返回给客户端浏览器。 而Tomcat虽然也是个服务器(这里我们只讨论作为Java Servlet容器的实现),接受的只能是对JSP的请求。Tomcat是按照J2EE发布的JSP和Servlet标准实现的,完全支持这两种标准,被作为一个Servlet容器实现。当Tomcat接收到JSP页面请求时,先用Tomcat解析,得到相应的参数,再找到对应的Servlet路由,之后调用Servlet接口中的对应方法(Get、Post、Delete、Put等),处理客户端传回的数据或请求动作,最后得到输出,返回给Tomcat,Tomcat再使用JSP渲染出HTTP,传回客户端浏览器。
Apache Tomcat
Apache只支持静态网页,但像php,cgi,jsp等动态网页就需要Tomcat来处理。
最主要的两种模式是prefork 模式与worker 模式。prefork 每个子进程只有一个线
程,效率高但消耗内存大,是unix 下默认的模式;worker 模式每个子进程有多个线程,
内存消耗低,但一个线程崩溃会牵连其它同子进程的线程。
Apache 服务器进程配置文件是httpd.conf 。
prefork 的特点是:(预派生)
1.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销
2.可以防止意外的内存泄漏
3.在服务器负载下降的时候会自动减少子进程数
worker 的特点是:支持混合的多线程多进程的多路处理模块
如果对于一个高流量的HTTP 服务器,worker MPM 是一个比较好的选择,因为worker
MPM 占用的内存要比prefork 要小。
Worker 模式 : 以多个线程提供服务,所有的线程共享内存空间,一个down掉,整个进程奔溃,适合高并发的场景。
Preforj 模式 :多个进程提供服务,比较稳定,占用内存高,提供中小访问并发。
Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器。
Apache,nginx,tomcat并称为网页服务三剑客
Apache Tomcat是在Apache许可证 2.0 版的授权下进行发布的,通常用于运行Java应用程序。此外,它能够通过Coyote的扩展,扮演为本地文件HTTP文档服务的普通服务器的角色。
Apache 2.X的工作模式
Apache有三种工作模式:分别是 prefork,worker,event。
prefork
(多进程,每个进程产生子进程)
prefork 是一种非线程、与派生的工作模式,用的是进程去处理请求,所以比较容易消耗内存,但是稳定性好,某个进程出现问题不会影响到其他请求。
worker
(多进程,每个进程生成多个线程)
worker是使用多个子进程、每个子进程有多个线程、由于使用的是线程去处理请求,消耗内存小,适合高流量的请求,但是如果某个进程出现问题,那么这个进程下的线程都会出现问题,即稳定性不是很好。
event
event模式,是为解决keep-alive保持长连接出现的一种工作模式,使用keep-alive长连接的时候,某个线程会一直被占用,即使中间没有请求,需要等到超时才会被释放,所以这个时候就出现了event的工作模式就出现了。
如 何 配 置 模 块
查当前工作模式
用命令(httpd -l)查看
- worker.c 代表工作在worker 模式下
- prefork.c 代表工作在prefork 模式下
配置工作模式
在安装的时候需要指定模式:
[root@localhost httpd-2.4.1]# ./configure --prefix=/usr/local/apache2worker --enable-so --with-mpm=worker
[root@localhost httpd-2.4.1]# make
[root@localhost httpd-2.4.1]# make install
--with-mpm=worker 选项指定工作模式为worker,不指定模式的话,默认为Prefork。
3 种模式解析
配置在.../apache/conf/extra/httpd-mpm.conf文件。
perfork
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 250
MaxConnectionsPerChild 0
# StartServers
数量的服务器进程开始。
# MinSpareServers
最小数量的服务器进程,保存备用。
# MaxSpareServers
最大数量的服务器进程,保存备用。
# MaxRequestWorkers
最大数量的服务器进程允许开始。
# MaxConnectionsPerChild
最大连接数的一个服务器进程服务。
worker
StartServers 3
MinSpareThreads 75
MaxSpareThreads 250
ThreadsPerChild 25
MaxRequestWorkers 400
MaxConnectionsPerChild 0
# StartServers
初始数量的服务器进程开始。
# MinSpareThreads
最小数量的工作线程,保存备用。
# MaxSpareThreads
最大数量的工作线程,保存备用。
# ThreadsPerChild
固定数量的工作线程在每个服务器进程。
# MaxRequestWorkers
最大数量的工作线程。
# MaxConnectionsPerChild
最大连接数的一个服务器进程服务。
event
StartServers 3
MinSpareThreads 75
MaxSpareThreads 250
ThreadsPerChild 25
MaxRequestWorkers 400
MaxConnectionsPerChild 0
# StartServers
初始数量的服务器进程开始。
# MinSpareThreads
最小数量的工作线程,保存备用。
# MaxSpareThreads
最大数量的工作线程,保存备用。
# ThreadsPerChild
固定数量的工作线程在每个服务器进程。
# MaxRequestWorkers
最大数量的工作线程。
# MaxConnectionsPerChild
最大连接数的一个服务器进程服务。
Nginx、Apache工作原理以及nginx为何比Apache高效
众所周知,Nginx在处理大并发静态请求方面,效率明显高于httpd,甚至能轻松解决C10K问题。
在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果, Nginx0.7.14+PHP5.2.6(FastCGI)可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。
一般来说,4GB内存的服务器+Apache(prefork模式)一般只能处理3000个并发连接,因为它们将占用3GB以上的内存,还得为系统预留1GB的内存。我曾经就有两台Apache服务器,因为在配置文件中设置的MaxClients为4000,当Apache并发连接数达到3800时,导致服务器内存和Swap空间用满而崩溃。
而这台Nginx0.7.14+PHP5.2.6(FastCGI)服务器在3万并发连接下,开启的10个Nginx进程消耗150M内存(15M*10=150M),开启的64个php-cgi进程消耗1280M内存(20M*64=1280M),加上系统自身消耗的内存,总共消耗不到2GB内存。如果服务器内存较小,完全可以只开启25个php-cgi进程,这样php-cgi消耗的总内存数才500M。
在3万并发连接下,访问Nginx0.7.14+PHP5.2.6(FastCGI)服务器的PHP程序,仍然速度飞快。
为什么Nginx在处理高并发方面要优于httpd,我们先从两种web服务器的工作原理以及工作模式说起。
apache三种工作模式
我们都知道Apache有三种工作模块,分别为prefork、worker、event。
prefork:多进程,每个请求用一个进程响应,这个过程会用到select机制来通知。
worker:多线程,一个进程可以生成多个线程,每个线程响应一个请求,但通知机制还是select不过可以接受更多的请求。
event:基于异步I/O模型,一个进程或线程,每个进程或线程响应多个用户请求,它是基于事件驱动(也就是epoll机制)实现的。
4.2prefork的工作原理
如果不用“--with-mpm”显式指定某种MPM,prefork就是Unix平台上缺省的MPM.它所采用的预派生子进程方式也是Apache1.3中采用的模式。prefork本身并没有使用到线程,2.0版使用它是为了与1.3版保持兼容性;另一方面,prefork用单独的子进程来处理不同的请求,进程之间是彼此独立的,这也使其成为最稳定的MPM之一。
4.3worker的工作原理
相对于prefork,worker是2.0版中全新的支持多线程和多进程混合模型的MPM。由于使用线程来处理,所以可以处理相对海量的请求,而系统资源的开销要小于基于进程的服务器。但是,worker也使用了多进程,每个进程又生成多个线程,以获得基于进程服务器的稳定性,这种MPM的工作方式将是Apache2.0的发展趋势。
4.4event基于事件机制的特性
一个进程响应多个用户请求,利用callback机制,让套接字复用,请求过来后进程并不处理请求,而是直接交由其他机制来处理,通过epoll机制来通知请求是否完成;在这个过程中,进程本身一直处于空闲状态,可以一直接收用户请求。可以实现一个进程程响应多个用户请求。支持持海量并发连接数,消耗更少的资源。
如何提高Web服务器的并发连接处理能力
有几个基本条件:
1.基于线程,即一个进程生成多个线程,每个线程响应用户的每个请求。
2.基于事件的模型,一个进程处理多个请求,并且通过epoll机制来通知用户请求完成。
3.基于磁盘的AIO(异步I/O)
4.支持mmap内存映射,mmap传统的web服务器,进行页面输入时,都是将磁盘的页面先输入到内核缓存中,再由内核缓存中复制一份到web服务器上,mmap机制就是让内核缓存与磁盘进行映射,web服务器,直接复制页面内容即可。不需要先把磁盘的上的页面先输入到内核缓存去。
刚好,Nginx支持以上所有特性。所以Nginx官网上说,Nginx支持50000并发,是有依据的。
Nginx优异之处
传统上基于进程或线程模型架构的web服务通过每进程或每线程处理并发连接请求,这势必会在网络和I/O操作时产生阻塞,其另一个必然结果则是对内存或CPU的利用率低下。生成一个新的进程/线程需要事先备好其运行时环境,这包括为其分配堆内存和栈内存,以及为其创建新的执行上下文等。这些操作都需要占用CPU,而且过多的进程/线程还会带来线程抖动或频繁的上下文切换,系统性能也会由此进一步下降。另一种高性能web服务器/web服务器反向代理:Nginx(EngineX),nginx的主要着眼点就是其高性能以及对物理计算资源的高密度利用,因此其采用了不同的架构模型。受启发于多种操作系统设计中基于“事件”的高级处理机制,nginx采用了模块化、事件驱动、异步、单线程及非阻塞的架构,并大量采用了多路复用及事件通知机制。在nginx中,连接请求由为数不多的几个仅包含一个线程的进程worker以高效的回环(run-loop)机制进行处理,而每个worker可以并行处理数千个的并发连接及请求。
Nginx工作原理
Nginx会按需同时运行多个进程:一个主进程(master)和几个工作进程(worker),配置了缓存时还会有缓存加载器进程(cacheloader)和缓存管理器进程(cachemanager)等。所有进程均是仅含有一个线程,并主要通过“共享内存”的机制实现进程间通信。主进程以root用户身份运行,而worker、cacheloader和cachemanager均应以非特权用户身份运行。
在高连接并发的情况下,Nginx是Apache服务器不错的替代品
Nginx安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器:Nginx启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动.你还能够不间断服务的情况下进行软件版本的升级。
Nginx的诞生主要解决C10K问题
最后我们从各自使用的多路复用IO模型来分析:select模型:(apache使用,由于受模块等限制,用的不多)
单个进程能够监视的文件描述符的数量存在最大限制
select()所维护的存储大量文件描述符的数据结构,随着文件描述符数量的增长,其在用户态和内核的地址空间的复制所引发的开销也会线性增长
由于网络响应时间的延迟使得大量TCP连接处于非活跃状态,但调用select()还是会对所有的socket进行一次线性扫描,会造成一定的开销
poll:poll是unix沿用select自己重新实现了一遍,唯一解决的问题是poll没有最大文件描述符数量的限制
epoll模型:(nginx使用)
epoll带来了两个优势,大幅度提升了性能:
基于事件的就绪通知方式,select/poll方式,进程只有在调用一定的方法后,内核才会对所有监视的文件描述符进行扫描,而epoll事件通过epoll_ctl()注册一个文件描述符,一旦某个文件描述符就绪时,内核会采用类似call back的回调机制,迅速激活这个文件描述符,epoll_wait()便会得到通知
调用一次epoll_wait()获得就绪文件描述符时,返回的并不是实际的描述符,而是一个代表就绪描述符数量的值,拿到这些值去epoll指定的一个数组中依次取得相应数量的文件描述符即可,这里使用内存映射(mmap)技术,避免了复制大量文件描述符带来的开销
当然epoll也有一定的局限性,epoll只有Linux2.6才有实现,而其他平台都没有,这和apache这种优秀的跨平台服务器,显然是有些背道而驰了。简单来说epoll是select的升级版,单进程管理的文件描述符没有最大限制。但epoll只有linux平台可使用。作为跨平台的Apache没有使用。
Apache优化方法 :
1、控制MaxClients的设置,以避免服务器产生太多的子进程而发生交换。
进程间的数据交换会占用很大内存,数据交换产生的滞后使用户总感觉”不够快”,所以用户就可能去按”停止”和”刷新”,从而带来更大的负载。一般建议小网站将MaxClients设置为12~24。
2、选择更好的硬件,CPU、内存、硬盘等等
这句很鸡肋啦,如果有更多的银子,谁不愿意换更好的呢?
3、定期更新操作系统,打上系统补丁;如果你的操作系统支持sendfile()系统调用,则务必安装带有此功能的版本或补丁
在支持sendfile的系统中,Apache2可以更快地发送静态内容而且占用较少的CPU时间。
4、HostnameLookups设置为off
尽量较少DNS查询的次数。如果你使用了任何”Allow from domain”或”Deny from domain”指令(也就是domain使用的是主机名而不是IP地址),则代价是要进行两次DNS查询(一次正向和一次反向,以确认没有作假)。所以,为了得到最高的性能,应该避免使用这些指令(不用域名而用IP地址也是可以的)。
5、为Directory加上FollowSymLinks
如果网站空间中没有使用 Options FollowSymLinks ,Apache就必须执行额外的系统调用以验证符号连接。例如:在请求”/index.html”时,Apache将对”/www”、”/www/htdocs”、”/www/htdocs/index.html”执行lstat()调用。而且lstat()的执行结果不被缓存,因此对每一个请求都要执行一次。
6、将AllowOverride设置为None
对于使用虚拟主机的朋友可能会觉得不方便,这样设置将会使.htaccess中的设置失效,如果实在需要,并且在有条件的情况下,请在conf配置文件中直接写入rewrite规则
7、禁用内容协商
尽管在实践中,内容协商的好处大于性能的损失,如果你很在意那一点点的性能损失,则可以禁止使用内容协商。但是仍然有个方法可以提高服务器的速度,就是不要使用通配符。
8、MaxRequestsPerChild设置为非0以防止内存泄漏
MaxRequestsPerChild用于控制apache子进程在何时销毁,默认为0,代表永不销毁子进程,这可能会存在内存泄漏的风险,建议设置为10000
9、KeepAlive与KeepAliveTimeOut
如果你使用的使mpm_prefork模式(apache默认安装),那么建议你将KeepAlive设置为off;因为,开启keepalive会为每个客户端建立一个连接,prefork不会创建线程,估计100个用户同时访问你的网站,apache就会挂了~,如果你实在想开启,那么请将KeepAliveTimeOut 时间设置更短些,例如5,默认是60秒呢
10、不要静态编译apache
尽管会有很多人和你说静态编译的好处,同时,你自己也想自己编译一把,以体验乐趣~但是,将模块已静态方式编译进apache绝对不是一个好选择,尤其是对于缺银子的站长们来说,一个配置不当,apache会在启动时就占用光你所有的内存,最后拖垮服务器。
参考链接 :
https://mp.weixin.qq.com/s/3F1M6uWOOV3BUXfoEU7DGQ
Apache优化方法,你知道几个呢? : https://mp.weixin.qq.com/s/3F1M6uWOOV3BUXfoEU7DGQ
链接 :
apache Rewrite防盗链设置方法 : https://www.jb51.net/os/RedHat/2170.html
Gzip在apache2中的设置和squid对它的处理方法分析 : https://www.jb51.net/os/RedHat/2169.html
Apache服务器优化方法小结 : https://www.jb51.net/os/RedHat/2167.html
linux构建动态WEB服务器安装篇 : https://www.jb51.net/os/RedHat/list92_47.html
apache 403错误 Forbidden解决方法 : https://www.jb51.net/os/RedHat/1303.html
查看Apache的在线用户数方法 : https://www.jb51.net/os/RedHat/1308.html
获取apache请求的header信息 : http://bean-li.github.io/apache-header-log/
原 apache,php常用配置 https://blog.csdn.net/tdcqfyl/article/details/51910731
原 windows下配置apache+https : https://blog.csdn.net/tdcqfyl/article/details/79023431
原 Apache配置项目图片地址映射 : https://blog.csdn.net/tdcqfyl/article/details/81839562
原 Apache应用的认证配置(Linux环境) : https://blog.csdn.net/tdcqfyl/article/details/52021706
RHEL5 Apache+Tomcat整合,同时支持jsp与php : https://www.jb51.net/os/RedHat/1309.html
Linux系统Jsp的环境:Apache,Tomcat配置 : https://www.jb51.net/os/RedHat/1305.html
Apache安装、配置、优化 : https://www.jb51.net/os/RedHat/1304.html
apache如何禁止使用IP访问 : https://www.jb51.net/os/RedHat/1302.html
Linux httpd(apache)启动失败 解决办法 : https://www.jb51.net/os/RedHat/1300.html
linux系统配置Apache虚拟主机实例 : https://www.jb51.net/os/RedHat/1288.html
如何修改apache 2最大连接数 : https://www.jb51.net/os/RedHat/1248.html
优化Apache,让网站速度更快 : https://www.jb51.net/os/RedHat/1105.html
linux 下Apache设置与优化 : https://www.jb51.net/os/RedHat/1058.html
利用apache防盗连方法 : https://www.jb51.net/os/RedHat/1060.html
关于Socket高并发的原理介绍及使用Apache Mina带来线上的问题分析 : https://mp.weixin.qq.com/s/dpGmU0MHwxAU62lggej9xw
php5-fpm一直无法监听9000端口 | Nginx配置TP5 : https://www.jianshu.com/p/afc2163f6790
Apache2对CGI的支持配置{C++与python} : https://www.jianshu.com/p/69f06f83e08a
配置apache运行cgi程序 : https://www.cnblogs.com/itech/archive/2013/04/06/3002831.html
Apache支持Python之CGI编程环境 : https://www.jianshu.com/p/99099f5a328f
Apache2服务器反代理配置 : https://www.jianshu.com/p/15538d9f7a67
centos安装apache : https://www.cnblogs.com/itech/archive/2013/04/06/3002762.html
整合apache和tomcat构建Web服务器 : https://www.cnblogs.com/itech/archive/2011/09/23/2186533.html
Apache如何开启Rewrite功能 : http://blog.51cto.com/zlyang/1788758
轻松构建Mysql高可用集群系统 : https://www.cnblogs.com/itech/archive/2011/10/08/2202177.html
实现Apache,Tomcat负载均衡和集群 : https://mp.weixin.qq.com/s/BJHoTzAnbL9YHlI01X-3AA
Linux下使用Apache实现域名转发(Tomcat/JBOSS) : http://os.51cto.com/art/201407/446847.htm
Apache Hive 基本理论与安装指南 : https://www.cnblogs.com/yangp/p/8529946.html
企业级Apache详解 : https://www.cnblogs.com/ftl1012/p/apache.html
企业级Apache详解2 : https://www.cnblogs.com/ftl1012/p/apache2.html
原 Linux下 Apache服务器配置CGI(perl) : https://blog.csdn.net/u012842205/article/details/48213609
原 Linux 下修改默认openJDK为Oracle JDK搭建Apache-Tomcat (Kali) : https://blog.csdn.net/u012842205/article/details/46472081
Apache与Tomcat关系 : https://blog.csdn.net/u012842205/article/details/52086030
Apache的主配置文件:/etc/httpd/conf/httpd.conf : http://blog.51cto.com/11638832/1846665
apache以mod_proxy实现负载均衡集群 荐 : http://blog.51cto.com/zhaochj/1650557
apache以mod_jk方式实现tomcat的负载均衡集群 : http://blog.51cto.com/zhaochj/1642199
apache两种方案三种方式实现反向代理tomcat 荐 :http://blog.51cto.com/zhaochj/1641939
Apache配置压缩优化时报错——undefined symbol: inflateEnd 荐 : http://blog.51cto.com/nolinux/1345264
Linux下性能测试工具ab (ApacheBench) : https://mp.weixin.qq.com/mp/appmsg/show?__biz=MjM5NTMzNzQxMw==&appmsgid=10000010&itemidx=1&sign=6da6f21df524a577c31005ad605ecab8&mpshare=1&scene=1&srcid=0226VJqVtVsylViWw1BWec5E&uin=&key=&ascene=1&devicetype=Windows+10&version=62060619&lang=zh_CN&winzoom=1
Apache配置多个站点 : https://www.jianshu.com/p/5f8099002abb
Linux网站架构系列之Apache----调优篇 : http://blog.51cto.com/nolinux/1320638
Linux网站架构系列之Apache----进阶篇 荐 : http://blog.51cto.com/nolinux/1320167
Linux网站架构系列之Apache----部署篇 : http://blog.51cto.com/nolinux/1319750
日志分析工具Awstats实战之Apache篇-多站点日志分析 荐 : http://blog.51cto.com/nolinux/1318052
Web服务基础一之Apache源码和YUM安装 荐 : http://blog.51cto.com/ityunwei2017/1352138
Web服务基础二之Apache主配置文件httpd.conf : http://blog.51cto.com/ityunwei2017/1352360
Web服务基础三之Apache虚拟主机、虚拟目录配置 : http://blog.51cto.com/ityunwei2017/1352579
Web服务基础四之Apache访问控制 荐 : http://blog.51cto.com/ityunwei2017/1353149
Web服务基础五之yum安装配置LAMP环境+博客系统WordPress 荐 : http://blog.51cto.com/ityunwei2017/1353901
Web服务基础六之编译安装配置RHEL+Apache+MySQL+PHP+ZendOptimize 荐 : http://blog.51cto.com/ityunwei2017/1360472
Web服务基础七之Apache日志文件管理、默认网站目录更改、防止php***跨站设置、禁止空主机头 荐 : http://blog.51cto.com/ityunwei2017/1369871
高性能反向代理Apache Traffic Server配置小记 [ats cdn cache] : http://blog.51cto.com/rfyiamcool/1319479
Apache配置与应用,虚拟目录;访问控制;虚拟Web主机(多域名;多端口), : http://blog.51cto.com/13728740/2157688
Apache网页优化与安全优化(网页压缩;网页缓存;网页防盗链;隐藏版本信息) : http://blog.51cto.com/13728740/2157405
AWStats日志分析Apache提供的Web站点访问情况 : http://blog.51cto.com/13728740/2156291
编译apache出现的两个小错误libexpat.so总结 : https://www.ixdba.net/archives/2017/03/505.htm
apache中并发控制参数prefork理解和调优 : https://www.ixdba.net/archives/2017/03/499.htm
CentOS7.4 部署 Django + Python3 + Apache + Mod_wsgi : https://www.jianshu.com/p/e3afd572f1be
CentOS下安装Apache Bench进行网站压力测试 ab工具使用 图文教程 : https://www.jiloc.com/tag/centos
Hadoop深度运维:Apache集群原地升级Ambari-HDP : https://mp.weixin.qq.com/s/sVmJ0i758tf9PStkKLRQDg
linux下apache开启url重写的方法(详细说明) : https://www.jb51.net/article/30120.htm
Apache 虚拟目录和默认首页的设置 :https://www.jb51.net/article/20806.htm
Linux下模拟http的get/post请求(curl or wget)详解 : https://www.jb51.net/article/113451.htm
apache服务器一个ip(如:127.0.0.1)和多个域名(虚拟主机)的绑 : https://www.jb51.net/article/59927.htm
apache的access.log和error.log减肥 : https://www.jb51.net/article/19893.htm
Apache2.4.x版wampserver本地php服务器如何让外网访问及启用.hta : https://www.jb51.net/article/61193.htm
Apache下通过shell脚本提交网站404死链的方法 :https://www.jb51.net/article/124844.htm
简单测试Apache是如何完成负载均衡策略配置 :https://www.jb51.net/article/45349.htm
apache性能测试工具ab使用详解 :https://www.jb51.net/article/59469.htm
智能监测自动重启Apache服务器的Shell脚本 : https://www.jb51.net/article/113971.htm
Shell脚本判断Apache进程是否存在: https://www.jb51.net/article/58764.htm
Shell脚本实现分析apache日志中ip所在的地区: https://www.jb51.net/article/58877.htm
Shell脚本实现apache日志中的状态码分析: https://www.jb51.net/article/59056.htm
令Apache中沉睡的无用进程自动退出的方法 : https://www.jb51.net/article/68135.htm
Centos7.4服务器安装apache及安装过程出现的问题解决方法 :https://www.jb51.net/article/157871.htm
在CentOS上安装搭建PHP+Apache+Mysql的服务器环境 : https://www.jb51.net/article/158201.htm
服务器Apache与Tomcat和Nginx的理解和对比分析详解 : https://www.jb51.net/article/159028.htm
Apache服务器必备基本安全设置 :https://www.jb51.net/article/48069.htm
apache自建证书实现https : https://www.jianshu.com/p/605065c0d42f