企业平台架构--源码编译安装部署LAMP平台(LAMP平台与编译安装详解,Apache,MySQL与PHP源码编译安装,LAMP平台搭建论坛实例演示)

前言

Linux操作系统之所以能够在十余年的时间里发展壮大以至于风靡全球,其开放源代码的特性是很重要的原因之一,及Linux操作系统中包括内核在内的所有软件都可以获得源代码,并且可以经过定制修改后编译安装。

虽然现代的Linux发行版本大部分采用包管理机制对软件进行打包安装,可以省去软件的编译安装过程,但是还有些情况需要使用源代码编译的方式为系统安装新的应用程序。

  • L:Linux

  • A:Apache

  • M:MySQL

  • P:PHP

一:LAMP平台与编译安装

1.1:LAMP平台概述

  • LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境

  • LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言

1.2:构建LAMP平台顺序

  • 在构建LAMP平台时,各组件的安装顺序依次为Linux,Apache,MySQL,PHP

  • 其中Apache和MySQL的安装并没有严格的顺序要求,而PHP环境的安装一般放到最后,负责沟通web服务器和数据库系统以协同工作

1.3:编译安装的优点

  • 具有较大的自由度,功能可定制
  • 可及时获得最新的软件版本
  • 普遍适用于大多数Linux版本,便于一直使用

1.4:编译安装的基本过程

mark

  • 解包

    • 开源软件的源代码包一般为TarBall形式,扩展名为“.tar.gz”或“.tar.bz2”,都可以使用tar命令进行解压。

    • 在Linux系统中,通常将各种软件的源代码目录保存到“/sur/src”目录中,便于集中管理。

    • 解包
      习惯上将软件包解压到/sur/src/目录中
      解包后源代码文件位置:/usr/src/软件名-版本号/
  • 配置

    • 在编译应用程序之前,需要进入源代码目录,对软件的安装目录,功能选择等参数进行配置。

    • 在Linux系统中通过源代码方式安装软件时,也可以将所有程序文件安装到同一个文件夹,当需要卸载软件时,只需将该文件夹删除即可。

    • 配置
      配置工作通常使用源码目录中的configure脚本完成
      执行“./configure --help”可查看帮助
      典型的配置选项:–prefix=软件安装目录(指定软件包安装的目标文件夹)
  • 编译

    • 编译的过程主要是根据Makefile文件内的配置信息(若上一步的配置操作失败,将无法进行编译),将源代码文件进行编译而生成二进制的程序模块,动态链接库,可执行文件等。

    • 配置完成后,只需要在源代码目录中执行“make”命令即可执行编译操作

  • 安装

    • 编译完成后,就可以执行“make install”命令将软件的执行程序,配置文件,帮助文档等相关文件复制到Linux系统中了,也就是应用程序的最后“安装”过程。同样是在源代码目录中执行命令。

二:Apache网站服务源码编译安装

2.1:Apache起源

  • 源于A Patchy Server,著名的开源web服务软件
  • 1955年时,发布Apache服务程序的1.0版本
  • 由Apache软件基金会(ASF)负责维护
  • 最新的名称为“Apache HTTP Server”

2.2:主要特点

  • 开放源代码,跨平台应用
  • 支持多种网页编程语言
  • 模块化设计,运行稳定,良好的安全性

2.3:环境准备

  • VMware软件
  • centos7操作系统
  • 准备Apache服务的源码包
  • Apache跨平台组件包准备

2.4:源码编译安装过程

2.4.1:环境准备

  • 挂载宿主机的共享文件夹,读取下载好的源码文件

    [root@localhost ~]# smbclient -L //192.168.100.3
    Enter SAMBA\root's password: 
    
            Sharename       Type      Comment
            ---------       ----      -------
            ADMIN$          Disk      远程管理
            C$              Disk      默认共享
            ccc             Disk      
          ...省略内容
    [root@localhost ~]# mount.cifs //192.168.100.3/ccc /mnt
    Password for root@//192.168.100.3/ccc:  
    [root@localhost ~]# df -h
    Filesystem           Size  Used Avail Use% Mounted on
    ...省略内容
    //192.168.100.3/ccc  444G   31G  413G   7% /mnt
    [root@localhost ~]# cd /mnt
    [root@localhost mnt]# ls
    LAMP-C7  LAMP-C7.rar
    [root@localhost mnt]# cd LAMP-C7/
    [root@localhost LAMP-C7]# ls
    apr-1.6.2.tar.gz       Discuz_X2.5_SC_UTF8.zip  LAMP-php5.6.txt      php-5.6.11.tar.bz2
    apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2     mysql-5.6.26.tar.gz
    
    
  • 解压跨平台组件包和源码包

    将跨平台组件包移动到源码包目录下

    [root@localhost LAMP-C7]# tar zxvf apr-1.6.2.tar.gz -C /opt
    ...省略内容
    [root@localhost LAMP-C7]# tar zxvf apr-util-1.6.0.tar.gz -C /opt
    ...省略内容
    [root@localhost LAMP-C7]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt
    ...省略内容
    [root@localhost LAMP-C7]# cd /opt
    [root@localhost opt]# ls
    apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh
    [root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/s
    server/  srclib/  support/ 
    [root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
    [root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
    [root@localhost opt]# ls httpd-2.4.29/srclib/
    apr  apr-util  Makefile.in
    
    
  • 安装编译器和其他工具

    [root@localhost opt]# yum -y install \
    > gcc \			'//编译器'
    > gcc-c++ \		'//编译器'
    > make \		'//make工具'
    > pcre-devel \	 '//支持正则表达式的工具'
    > expat-devel \	 '//使网站能解析标签语言的工具'
    > perl			'//Perl语言工具'
    ...省略内容
    
    

2.4.2:configure配置

  • 
    [root@localhost opt]# cd httpd-2.4.29/
    [root@localhost httpd-2.4.29]# ls
    ...省略内容
    ap.d             configure       include         Makefile.in   
    ...省略内容
    [root@localhost httpd-2.4.29]# ./configure \
    > --prefix=/usr/local/httpd \		'//指定路径'
    > --enable-so \					   '//开启核心功能模块'
    > --enable-rewrite \			    '//开启重写功能,如防盗链保护'
    > --enable-charset-lite \			'//开启字符集'
    > --enable-cgi					    '//开启通用网关接口'
    ...省略内容
    

2.4.3:make编译和makeinstall

  • [root@localhost httpd-2.4.29]# make		'//编译'
    ...省略内容
    [root@localhost httpd-2.4.29]# make install  '//安装'
    

2.4.4:配置启动脚本

  • [root@localhost bin]# cd /usr/local/httpd/
    [root@localhost httpd]# ls
    bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules
    [root@localhost httpd]
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值