设为首页 收藏本站
查看: 2162|回复: 0

lamp源码架构

[复制链接]
累计签到:77 天
连续签到:1 天
发表于 2014-5-27 08:24:57 | 显示全部楼层 |阅读模式
LAMP(Linux- Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据 库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和 Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的 优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。
对于大流量、大并发量的网站系统架构来说,除了硬件上使用高 性能的服务器、负载均衡、CDN等之外,在软件架构上需要重点关注下面几个环节:使用高性能的操作系统(OS)、高性能的网页服务器(Web Server)、高性能的数据库(Database)、高效率的编程语言等。下面我将从这几点对其一一讨论。
下面给大家讲解一个源码搭建lamp的案例


安装环境:
Development tools            //开发工具

Server Platform Development   //服务器平台工具
httpd 2.4
mysql-5.6
PHP
phpmyadmin 3.5.1         //MySQL页面管理工具


第一步:安装mysql
  1.yum --disablerepo=* --enablerepo=c6-media install libaio //libaio-dev包的作用是为了支持同步I/O。对于数据库之类的系统特别重要
  2.拆包解压(注意这里的mysql是二进制文件)
      tar  -zxvf  mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz   -C  /usr/local/     
  3.创建链接
    ln -s mysql-5.6.15-linux-glibc2.5-x86_64/  mysql
  4.创建用户以及组
    groupadd  -r  mysql
    useradd -r -g mysql  mysql
  5.更改权限,进入mysql目录下
     chown   -R mysql:mysql  .
    ./scripts/mysql_install_db   --user=mysql
     chown  -R  root  .
     chown  -R  mysql  data
  6.生成配置文件和控制脚本
    cp my.cnf  /etc    //配置文件
    cp mysql.server   /etc/init.d/mysqld  //控制脚本
    chmod   a+x  /etc/init.d/mysqld
    开启mysql服务,并且开机自启
    service mysqld start
    chkconfig  --add   mysqld
    chkconfig   mysqld on
  7.改变环境变量,便于使用
   vim /etc/profile
   PATH=$PATH:/usr/local/mysql/bin
  .   /etc/profile
  8.mysql库文件的输出
    echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf  
   ldconfig  //更新库文件
  9.生成说明文件
   echo "MANPATH /usr/local/mysql/man" >>/etc/man.conf



第二步.安装httpd(注意安装http之前首先要安装apr和apr-utils)
APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期 的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。随着Apache的进一步开 发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。这样,APR的开发就从Apache中独立出来,Apache仅仅是使用 APR而已。目前APR主要还是由Apache使用,不过由于APR的较好的移植性,因此一些需要进行移植的C程序也开始使用APR,开源项目比如 Flood loader tester(http://httpd.apache.org/test/flood/,该项目用于服务器压力测试,不仅仅适用于Apache)、
一般情况下,APR开发包很容易理解为仅仅是一个开发包,不过事实上并不是。目前,完整的APR实际上包含了三个开发包:apr、apr-util以及apr-iconv,每一个开发包分别独立开发,并拥有自己的版本。

  1.安装apr
tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/
    ./configure --prefix=/usr/local/apr

    make  && make  install
  2.安装apr-util
   tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/
    ./configure --prefix=/usr/local/apr-utils --with-apr=/usr/local/apr/bin/apr-1-config
    make  &&make  install
  3.安装httpd-2.4.9
     yum --disablerepo=* --enablerepo=c6-media install pcre-devel //动态链接库
    (PCRE库是一组实现正则表达式模式使用相同的语法和语义的Perl 5匹配函数。PCRE有其自己的本地API,以及一套包装功能,符合POSIX正则表达式API。PCRE库是免费的,即使建立专有软件。 PCRE原是为该MTA写的,但现在已被许多知名的开源项目,包括Apache,PHP,KDE,后缀,模拟,和nmap。PCRE也发现到一些众所周知的商业产品,如苹果的Safari。其他一些有趣的项目采用PCRE包括鸡肉,铁氧体,玛瑙,hypermail,Leafnode,askemos,和温岭。)
  4.拆包解压编译安装
   tar -jxvf httpd-2.4.9.tar.bz2 -C /usr/local/src/
  ./configure  
   --prefix=/usr/local/apache  
  --sysconfdir=/etc/httpd  (配置路径)
   --enable-so    (启用以dso模式加载模块)
   --enable-ssl  
   --enable-rewrite   (重定向)
   --with-apr=/usr/local/apr/bin/apr-1-config
   --with-apr-util=/usr/local/apr-utils/bin/apu-1-config
   --with-pcre  
   -with-z  
   --enable-mpms-shared=all
  注意编译的时候会出现下面错误
wKioL1ODZjCQu_aLAACRrUIU_kU449.jpg
  解决办法:yum install openssl-devel

   make  && make install
  5.改变环境变量
   vim  /etc/profile  PATH=$PATH:/usr/local/apache/bin
wKiom1ODZzPim1A2AAG6w_Cp-HE506.jpg
   .    /etc/profile   //执行一遍
  6.生成手册
    echo "MANPATH /usr/local/apache/man">>/etc/man.conf
  7.控制文件
[iyunv@CentOS ~]# vim /etc/init.d/httpd
[iyunv@CentOS ~]# chmod a+x /etc/init.d/httpd wKioL1ODc8WArhBBAAHDBTDcGro689.jpg
wKioL1ODc9iTn52CAAB14xN1e6A551.jpg 最后开启服务
测试成功如下
wKioL1ODdnzzTFtEAACqVQpheso244.jpg


第三步:php的安装
   1.拆包解压
    tar -jxvf php-5.5.8.tar.bz2 -C /usr/local/src/
   2.编译安装



   ./configure  
   --prefix=/usr/local/php
   --with-config-file-path=/etc/php  
   --with-config-file-scan-dir=/etc/php5.d  
    --with-apxs2=/usr/local/apache/bin/apxs  (将php编译成apache的模块,允许apache的apxx调用该模块)
   --with-mysql=/usr/local/mysql (指明mysql的安装位置)
   --with-mysqli=/usr/local/mysql/bin/mysql_config (调用myql接口 )
    --enable-mbstring=all
wKioL1ODbW-AE4jHAAEvriCyvxw709.jpg
解决办法:
   yum install libxml2
   yum install libxml2-devel -y
3.安装
make && make install
注意,安装的时候可能会出现下面错误
wKiom1ODdVCiSlkaAAOiBEdmaIY579.jpg
解决办法:在./configure后面加上 --disable-fileinfo

4. 创建目录
    mkdir -pv /etc/php /etc/php5.d

5.在httpd.conf  加入  AddType application/x-httpd-php .php,然后重启httpd服务
wKiom1ODehDy3rCRAAGxqWuqjdI597.jpg
  6.在源码目录下拷贝初始化文件
  cp php.ini-development /etc/php/php.ini
  7.编辑vim /usr/local/apache/htdocs/index.php,然后进行测试和mysql的相连是否成功
wKiom1ODfVTyXR29AACCGIsoC8I459.jpg
测试成功如下
wKioL1ODfUuR-rzsAAD4pZdbhAk742.jpg

到这里源码搭建lamp已经完成


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-19666-1-1.html 上篇帖子: 在ubuntu中用apt-get安装LEMP栈(linux+nginx+mysql+php) 下篇帖子: LAMP超详细编译安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表