首页 > 代码库 > Apache服务器之一理论讲解(Apache)

Apache服务器之一理论讲解(Apache)

前期做这个实验的时候:

httpd:SELINUX(事先让其处于DISABLED状态)

getenforce

setenforce 0


编辑/etc/sysconfig/selinux


selinux的3种选择:disabled permissive enforcing 3种选择;


Disabled就不用说了,permissive就是selinux有效,但是即使你违反了策略的话它让你继续操作,但是把你违反的内容记录下来。

在我们开发策略的时候非常的有用。



httpd在redhat系统上是受selinux控制的,一定要将selinux处于permissive,disabled状态。


httpd.x86_64:服务包

httpd-devel.i386:这个是开发包,不做开发就用不到它;

httpd-manual.x86_64:本地的手册页;

只需要安装httpd这个包即可。


httpd:SELINUX

/usr/sbin/httpd(MPM: prefork)  默认是prefork的;

httpd进程启动起来之后,有好几个进程。下面说下出现这几个进程出现的原因:

httpd: root, root (master process) 主导进程

在linux系统上,小于1024的端口,只有管理员有权限启动它。因此第一个进程是管理员启动的。它不响应用户请求,它用于创建空闲进程,或者销毁进程。

httpd: apche, apache (worker process)工作进程

同时它也有自己的服务脚本:

/etc/rc.d/init.d/httpd

Port: (80/tcp), (https: 443/tcp)

编译的话,任务软件的安装目录在/etc/httpd这个目录里面;

/etc/httpd: 工作根目录,相当于windows下程序安装目录

/etc/httpd/conf: 配置文件目录

主配置文件:httpd.conf

主配置文件的组成分还包含有如下部分,使用文件引用将其引用进来即可:

/etc/httpd/conf.d/*.conf

/etc/httpd/modules: #模块目录路径;

/etc/httpd/logs --> /var/log/httpd: #日志文件目录

日志文件有两类:访问日志access_log,错误日志:err_log

/var/www/       #web服务器响应用户请求的页面路径;

html        #apache提供静态访问时候的路径;

cgi-bin #apache提供动态访问时候的路径;

cgi: Common Gateway Interface(通用网关接口)可以理解为协议

作用:(让web服务器能够跟额外的应用程序通信的一种机制,能够让web服务器在必要的时候启动一个应用程序,

来处理动态的请求)

Client --> httpd (index.cgi) --> Spawn(生成,产生)Process (index.cgi) --> httpd --> Client

到底什么样的程序语言能够开发出动态的cgi:perl, python(默认情况下开发动态网页非常实用), 

java,(Servlet, JSP), php(开发动态站点用的语言)。

每一种程序开发语言都有自己的适应场景;

为了尽可能降低web服务器的压力,web服务器无论你是否使用动态调用,让我们的动态服务器进程也实现出现,

动态进程也像web服务器一样也实现声明好。也有一个自己的服务名字个服务的名字就叫fastcgi。这个时候这些动态进程的创建跟回收,

由自己的服务器完成,这叫做fastcgi。这也是cgi的一种。这个时候我们就可以将我们的服务器

分离开,静态内容一个服务器。如果是动态请求,通过TCP/IP协议,请求我们的动态服务器即可。这个时候静态内容跟动态内容就分开了。这就是为什么处理动态内容的

服务器被称为应用程序服务器的原因。这样静态服务器跟动态服务器分离了。

程序是由指令和数据组成的,指令是cpu上要运行的命令。程序最主要的是帮我们处理数据的。如果数据量非常大的话,怎么去管理?早期是放在文档中的,管理起来非常忙。

后期引入了数据管理机制,叫做数据库服务器。这种程序能够专门帮我管理数据,而且能够通过某种接口,将这种数据服务提供给额外的其他应用程序,或者是用户。这种接口

我们称为数据库的API。应用程序服务器越来越忙了之后,我们不能主观的将应用程序服务器分成两个,因为用户访问的数据没法同步。这时候就需要再次进行分层。如果要访问

动态数据,首先访问web服务器,web服务器再访问应用程序服务器,应用程序服务器,应用程序服务器访问数据库服务器,应用程序服务器,完成数据的转换,

将其转换为html文档,再返回给web服务器,web服务器再将其返回给客户。

前端我使用apache服务器,中间我使用php服务器,后端我使用mysql服务器。这就叫做lamp。

所以之后的所有内容全是围绕web服务器展开的。那我们后期就可以使用hadoop集群并行处理这些信息。这些服务器如何协同,如何链接。

fastcgi:外部服务器与cgi通信的机制,我们起名叫fastcgi。有了它之后,动态进程就会有专门的进程生成。

程序:指令和数据

数据,数据库服务

下面先针对httpd的静态页面进行配置,有哪些方式,如何进行调整等。

以后日志主线:如何搭建单个httpd服务器,如何搭建php,如何搭建mysql。如何将httpd与php结合起来。如何将mysql域httpd,php,关联起来。如何在一台服务器上搭建

lamp,如何将其拆开如何在三台服务器上搭建,lamp。如何再将其进行扩展,扩展成lamp的集群形式。


Apache服务器之一理论讲解(Apache)