APR、apache编译安装、LAMP、CGI、常见LAMP应用

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 /app
useradd -r -s /sbin/nologin apache
echo 'export PATH=$myDir/bin:\$PATH' > /etc/profile.d/httpd.sh

3.解压压缩包

解压完成后会有三个文件夹,需要整理后才能开始编译
httpd-2.4.39
apr-util-1.6.1
apr-1.7.0

挪动文件夹
mv apr-util-1.6.1 httpd-2.4.39/srclib/apr-util
mv 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/bash
function start_http()
{
/app/httpd/bin/apachectl  start
}
function stop_http()
{
/app/httpd/apache2/bin/apachectl  stop
}
case "$1" in
start)
    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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值