Apache的3种工作模式 (资源)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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的3种工作模式 (资源)_第1张图片

 

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有三种工作模式:分别是 preforkworkerevent

 

prefork

(多进程,每个进程产生子进程)

prefork 是一种非线程、与派生的工作模式,用的是进程去处理请求,所以比较容易消耗内存,但是稳定性好,某个进程出现问题不会影响到其他请求。

worker

(多进程,每个进程生成多个线程)

worker是使用多个子进程、每个子进程有多个线程、由于使用的是线程去处理请求,消耗内存小,适合高流量的请求,但是如果某个进程出现问题,那么这个进程下的线程都会出现问题,即稳定性不是很好。

event

event模式,是为解决keep-alive保持长连接出现的一种工作模式,使用keep-alive长连接的时候,某个线程会一直被占用,即使中间没有请求,需要等到超时才会被释放,所以这个时候就出现了event的工作模式就出现了。

                                      如 何 配 置 模 块

查当前工作模式

用命令(httpd -l)查看

Apache的3种工作模式 (资源)_第2张图片

  1. worker.c  代表工作在worker 模式下
  2. 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

 

 

转载于:https://my.oschina.net/u/3803405/blog/1861707

你可能感兴趣的:(php,epoll,运维)