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.
版权声明:本文标题:Apache服务器与动态网页技术的整合与研究 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713850700a654442.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论