lamp学习

本文详细介绍了lamp(Linux + Apache + Mysql/MariaDB + Php/Perl/Python)环境的搭建过程,包括CGI与Fastcgi的区别,httpd与php的结合方式,以及lamp平台软件的安装顺序和配置步骤,最后进行验证确保服务器正常运行。
摘要由CSDN通过智能技术生成

lamp

lamp简介

所谓lamp,其实就是由Linux+Apache+Mysql/MariaDB+Php/Perl/Python的一组动态网站或者服务器的开源软件,共同组成了一个强大的Web应用程序平台。除Linux外其它各部件本身都是各自独立的程序,但是因为经常被放在一起使用,拥有了越来越高的兼容度。

web服务器的资源分成2种,静态资源和动态资源:

  • 静态资源就是指静态内容,客户端从服务器获得的资源的表现形式与原文件相同。可以简单的理解为就是直接存储于文件系统中的资源
  • 动态资源则通常是程序文件,需要在服务器执行之后,将执行的结果返回给客户端

cgi与Fastcgi

CGI(Common Gateway Interface,通用网关接口),CGI是外部应用程序(CGI程序)与WEB服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。

FastCGI(Fast Common Gateway Interface)是CGI的改良版,CGI是通过启用一个解释器进程来处理每个请求,耗时且耗资源,而FastCGI则是通过master-worker形式来处理每个请求,即启动一个master主进程,然后根据配置启动几个worker进程,当请求进来时,master会从worker进程中选择一个去处理请求,这样就避免了重复的生成和杀死进程带来的频繁cpu上下文切换而导致耗时

httpd与php的结合方式

共有三种:

  • modules:php将以httpd的扩展模块形式存在,需要加载动态资源时,httpd可以直接通过php模块来加工资源并返回给客户端

  • CGI:httpd需要加载动态资源时,通过CGI与php解释器联系,获得php执行的结果,此时httpd负责与php连接的建立和断开等

  • FastCGI:利用php-fpm机制,启动为服务进程,php自行运行为一个服务,https通过socket与php通信

lamp平台软件安装顺序

httpd --> mysql --> php

注意:php要求httpd使用prefork MPM

安装httpd

[root@zlb10 ~]# yum groups mark install 'Development Tools'   //下载开发工具
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Marked install: Development Tools   //注意这里的不是错误,表示已经安装完成了

[root@zlb10 ~]# groupadd -r apache    //创建Apache服务的用户和组
[root@zlb10 ~]# useradd -r -M -s /sbin/nologin -g apache apache 
[root@zlb10 ~]#
[root@zlb10 ~]# yum -y install openssl-devel pcre-devel expat-devel libtool   //安装依赖包

[root@zlb10 ~]# 
[root@zlb10 ~]# cd /usr/src/
[root@zlb10 src]# ls   //下载安装apr和apr-util
apr-1.6.3.tar.bz2  apr-util-1.6.1.tar.bz2  debug  kernels
[root@zlb10 src]# tar xf apr-1.6.3.tar.bz2    //把那2个包解压在此/usr/src中
[root@zlb10 src]# tar xf apr-util-1.6.1.tar.bz2 
[root@zlb10 src]# ls
apr-1.6.3  apr-1.6.3.tar.bz2  apr-util-1.6.1  apr-util-1.6.1.tar.bz2  debug  kernels
[root@zlb10 src]# 

[root@zlb10 src]# cd apr-1.6.3
[root@zlb10 apr-1.6.3]# ls
apr-config.in  buildconf         dso         libapr.rc     NOTICE         support
apr.dep        build.conf        emacs-mode  LICENSE       NWGNUmakefile  tables
apr.dsp        build-outputs.mk  encoding    locks         passwd         test
apr.dsw        CHANGES           file_io     Makefile.in   poll           threadproc
apr.mak        CMakeLists.txt    helpers     Makefile.win  random         time
apr.pc.in      config.layout     include     memory        README         tools
apr.spec       configure         libapr.dep  misc          README.cmake   user
atomic         configure.in      libapr.dsp  mmap          shmem
build          docs              libapr.mak  network_io    strings
[root@zlb10 apr-1.6.3]# vim configure   //修改配置文件

    fi

    cfgfile=${ofile}T
    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
    $RM "$cfgfile"        //这一行注释掉或者删除

    cat <<_LT_EOF >> "$cfgfile"    

[root@zlb10 apr-1.6.3]# ./configure --prefix=/usr/local/apr   //重新读取
[root@zlb10 apr-1.6.3]# make & make install    //编译安装

[root@zlb10 apr-1.6.3]# cd /usr/src/apr-util-1.6.1
[root@zlb10 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值