admin 管理员组

文章数量: 1184232


2024年4月23日发(作者:variante)

龙源期刊网

Apache服务器与动态网页技术的整合与研

作者:徐红梅

来源:《无线互联科技》2018年第21期

摘 要:Apache服务器默认情况下只能支持传统的动态网页技术CGI。但Apache可以通过

和其他动态网页技术进行整合,实现更多的特性与功能。文章主要研究在Linux网络操作系统

中安装Apache,PHP和MySQL软件的动态网页技术整合的安装及所遇到问题的解决方法。

关键词:动态网页;Apache;LAMP

目前,在各大操作系统平台上能运行且较为流行的Web服务器非Apache服务器莫属,再

加上Apache服务器属于开源软件,在不断的功能新特性的开发及完善后,已经成为当前主要

的Web服务器端主流软件之一。

1 Apache服务器介绍

1.1 Apache的结构

Apache由内核、标准模块和第三方提供的模块3个层次组成(见表1)。

表1 Apache结构

1Apache内核

2标准默认安装模块集合 3标准默认不安装模块集合

4第三方提供的模块

由表1可以看出,Apache服务器将默认安装安装图中的内核部分和标准模块的默认安装

模块两部分。在安装过程中,如果用户需要,可以根据自行需求,对安装部分的模块集合进行

修改和删除等。同时,也可选择对第三方提供的模块的安装。因此,Apache服务器在模块安

装过程中的可扩展性很强,可以满足不同用户的开发动态网页的需求[1]。

1.2 Apache的运行机制

龙源期刊网

e运行方式有3种,主要采用多处理模块(Multi-Processing Module,

MPM)方式,这种方式可以在服务器上同时处理多个请求操作,从而控制Apache的运行方

式。

(1)预派生(Profork)MPM。这种模式首先启动父进程,父进程监控子进程的终止或创

建,父进程创建并启动一定可配置数量的子进程,在运行中,由一定数量的空闲子进程响应客

户请求,避免启动多余的进程造成额外的资源消耗。

(2)工作者(Worker)MPM。此模式与预派生多模块相同,不同在于它是由子进程创建

的线程监听客户请求,由父进程始终监控。

(3)独立子进程(Perchild)MPM。进程和线程的混合模式,与工作MPM想比较,每个

子进程创线程数量不一样。当遇到服务器上的负载过重,此模式只在当前的子进程一致上创建

新的线程为客户提供服务而不会重新创建一个字进程。因此这种方式的可扩展性高,但可靠率

低[2]。

2 Apache服务器与动态网页技术整合

2.1 网页技术的工作原理

网页技术中的动态网页的信息的处理是根据客户的需求不断变化的。而动态网页就是指由

客户进行信息访问输入,服务器作出响应后处理不同的信息,然后把处理的结果反馈给客户。

如若用户在信息请求时都是用的一个包含动态语言代码的网页,服务器端将根据由用户发出的

请求页面的页面名称后缀识别使用的是哪种动态网页技术,并把此页面提交给解释引擎,由解

释引擎定位动态网页脚本代码,并把最终的处理结果反馈给Web服务器。相较于静态网页而

言,动态页面是经过服务端处理后,根据用户的不同的输入而返回了并生成一个结果显示在页

面上。目前常见的实现动态页面的技术分别有通用网关接口(Common Gateway Interface,

CGI),PHP,等[3]。

2.2 网页技术整合的原因

由于Apache在处理静态网页方面具有明显优势,在初始安装Apache软件时,它只支持

CGI这种老式动态网页技术,但Apache可以和很多动态网页技术兼容,并可以安装第三方软

件获取更多的功能,例如LAMP(Linux-Apache-MySQL-PHP)平台的搭建,就是在Apache中

通过安装配置第三方的软件和模块及和其他软件综合应用,实现对各种流行动态网页的技术的

支持,Apache+PHP+MySQL被认为是在Linux平台上最佳组合之一。

3 动态网页技术的整合—LAMP平台的搭建问题

龙源期刊网

LAMP架构是目前开发动态网页的一个Web服务的框架,在很多商业应用中属于主流框

架应用。它和Java/J2EE架构、微软的.net等架构的网页开发相比,LAMP优势比较明显,这

也是很多企业搭建网站的首選平台,它的跨平台性、通用性及性价比等是其他架构平台不能比

拟的[4]。LAMP架构平台由Linux+Apache+Mysql+PHP组成,在此对该系统平台的安装搭建及

问题的解决方式进行了解和研究。

3.1 LAMP平台的组成与工作原理

LMAP的各个组件主要由Linux操作系统、Apache、PHP开源脚本语言和开源数据

MySQL组成。LAMP平台工作原理如图1所示。当一个用户访问PHP页面时,先访问Apache

服务器,当Apache服务器无法识别PHP页面,可通过Apache里面的phpmod传给php体系,

php根据用户出过来的参数访问mysql数据库,mysql数据库再把根据参数查询出来的表返回

给PHP,由PHP直接生成HTML网页传回给Apache服务器,供用户访问。

3.2 LAMP平台搭建配置的常见问题

安装一个LAMP的应用软件,首先必须在Linux操作系统下安装好Apache,PHP和

MySQL。相对于静态Web服务器,在平台搭建的配置安装过程中,会出现很多安装问题,由

于配置的复杂性,不能一一列举解决方式,从中选出几个常见的问题,提出解决方案。

3.2.1 在安装Apache完毕启动时,出现提示性错误,Apache无法正常启动

Apache无法正常启动,系统会在显示器上显示错误提示信息,第一种是文件配

置出错,对于这种情况,Apache启动会给出相应的相关提示信息,用户可以根据提示信息更

改中的配置以修复错误。第二种是可以查看日志信息,通过日志信息解决错误信

息。例如防火墙及SELinux是否允许Apache服务器运行。第三种,监听端口被占用,Apache

默认的监听端口是80.提示有进程占用此端口,Apache启动时也会出现错误。用户可以通过

netstat–an命令获取系统当前的端口使用情况,关闭占用端口进程或用kill命令结束占用端口的

进程号[5]。

3.2.2 无法载入PHP模块

由于centos启动受SELinux保护,在完成PHP模块配置后,重启Apache,将出现PHP模

式无法载入的错误。这是由Linux的selinux保护模式引起的,可以通过以下方法解决。但这

种解决方法是临时的,当计算机重启后配置将会失效,如果希望永久生效,可以编辑

/etc/selinux/config文件,找到配置选项,SELINUX=enforcing更改为以下内容:

SELINUX=disabled。最后重启Apache服务器。

操作命令

龙源期刊网

#vi /etc/selinux/config

设置内容

SELINUX=disabled

3.2.3 忘记root用户口令解决方法

MySQL的系统管理员账号为root。拥有数据库中最高级别的权限,如果忘记root用户口

令,可以通过结束MySQL进程,一—skip-grant-tables选项启动MySQL。然后进入MySQL并

更改root用户口令。

操作命令

#killall mysqld

#/usr/local/mysql/bin/mysqld_safe –skip-grant-tables &

#./mysql

Mysql>use mysql

mysql> update user SET password=password(‘userpasswd’’) WHERE

user=’root’;

[参考文献]

[1]余柏山.Linux系统管理与网络管理[M].北京:清华大学出版社,2011.

[2]鸟哥.鸟哥的私房菜—服务器架设篇[M].3版.北京:机械工业出版社,2013.

[3]梁如军.Linux应用基础教程-RedhatenterpriseLinux[M].北京:机械工业出版社,2013.

[4]张建华.LAMP从入门到精通[M].杭州:浙江大学出版社,2006.

[5]巴雷德.PHP应用程序安全编程[M].北京:机械工业出版社,2010.


本文标签: 网页 服务器 动态 进程 安装