
本文共 2477 字,大约阅读时间需要 8 分钟。
APR
APR(Apache portable Run-time libraries,Apache可移植运行库) 主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数
随着Apache的进一步开发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。这样,APR的开发就从Apache中独立出来,Apache仅仅是使用 APR而已。目前APR主要还是由Apache使用,由于APR的较好的移植性,因此一些需要进行移植的C程序也开始使用APR,开源项目比如用于服务器
压力测试的Flood loader tester
apache编译安装
这里介绍2.4版本的编译安装
首先从官网下载3个压缩包
httpd-2.4.39.tar.bz2
apr-util-1.6.1.tar.bz2
apr-1.7.0.tar.bz2
下面开始编译安装
1.安装开发组包和必要的包,如果已安装则跳过
yum -y groupinstall "Development Tools" yum -y install pcre-devel openssl-devel expat-devel
2.创建用户账户、设置环境变量,如果要编译到指定路径也提前建好
mkdir /appuseradd -r -s /sbin/nologin apacheecho 'export PATH=$myDir/bin:\$PATH' > /etc/profile.d/httpd.sh
3.解压压缩包
解压完成后会有三个文件夹,需要整理后才能开始编译httpd-2.4.39apr-util-1.6.1apr-1.7.0挪动文件夹mv apr-util-1.6.1 httpd-2.4.39/srclib/apr-utilmv apr-1.7.0 httpd-2.4.39/srclib/apr
4.开始编译安装
./configure \--prefix=/app/httpd \--enable-so \--enable-ssl \--enable-cgi \--enable-rewrite \--with-zlib \--with-pcre \--with-included-apr \--enable-modules=most \--enable-mpms-shared=all \--with-mpm=prefork && make && make install
5.修改权限
chown -R apache:apache /app/httpd
6.编写启动脚本,或者直接把bin目录下的httpd拿来修改后使用
#!/bin/bashfunction start_http(){ /app/httpd/bin/apachectl start}function stop_http(){ /app/httpd/apache2/bin/apachectl stop}case "$1" instart) start_http;; stop) stop_http;; restart) stop_http start_http;;*) echo "Usage : start | stop | restart";;esac
至此编译安装完成
LAMP
LAMP:
L: linux
A: apache (httpd)
M: mysql, mariadb
M:memcached
P: php, perl, python
httpd:接收用户的web请求;静态资源则直接响应;动态资源为php脚本,
对此类资源的请求将交由php来运行
php:运行php程序
MariaDB:数据管理系统
http与php结合的方式
CGI
FastCGI
modules (将php编译成为httpd的模块,默认方式)
MPM:
prefork: libphp5.so
event, worker: libphp5-zts.so
CGI
CGI:Common Gateway Interface
可以让一个客户端,从网页浏览器通过http服务器向执行在网络服务器上的程序传输数据;CGI描述了客户端和服务器程序之间传输的一种标准
请求流程:
Client – (httpd) --> httpd – (cgi) --> application server (program file) – (mysql) --> mysql
php: 脚本编程语言、嵌入到html中的嵌入式web程序语言基于zend编译成opcode(二进制格式的字节码,重复运行,可省略编译环境)
常见LAMP应用
PhpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库
WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可把 WordPress当作一个内容管理系统(CMS)来使用
PHPWind:2003年发布了PHPWind的前身版本ofstar,并发展成为包含BBS、
CMS、博客、SNS等一系列程序的通用型建站软件, 于2008年加入阿里巴巴集团
Crossday Discuz! Board(简称 Discuz!)是一套通用的社区论坛软件系统。自2001年6月面世以来,是全球成熟度最高、覆盖率最大的论坛软件系统之一。2010年8月23日,与腾讯达成收购协议
ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。2006年6月,ECShop推出第一个版本1.0
发表评论
最新留言
关于作者
