zoukankan      html  css  js  c++  java
  • LAMP架构的搭建

    什么是LAMP架构?

    L : Linux,2.6.18-308.el5(redhat5.8)
    A :Apache,httpd 2.4.4
    M :  mysql-5.5.28 
    P : php-5.4.13

    LAMP结构的l两种方式

    1. 全部用rpm包进行安装
    2. 全部用编译源码包的方式进行安装

    因为全部rpm包进行安装,只需要配置yum源,然后用镜像文件进行安装即可,此处不再赘述,以下安装配置为第二种方式,全部用源码包,以下为安装的版本
    linux2.6.18 + httpd2.4.4 + mysql-5.5.28 + php-5.4.13

    下载好以上组件之后,配置步骤如下

    一.Linux

    1.首先配置yum源
    # vim /etc/yum.repo.d/my.repo

    [huwentao]
    name = huwentao 
    baseurl = file:///mnt/cdrom/Server
    enabled = 1 
    gpgcheck =  

    2.挂载光盘镜像

    # mkdir  /mnt/cdrom
    # mount /dev/cdrom /mnt/cdrom 

    3.安装必要的组

    # yum grouplist  查看是否安装了一下两个组件没有安装的用以下两个命令进行安装
    # yum -y groupinstall "Development Tools"
    # yum -y groupinstall " Development Libraries"

    4. 关掉httpd防火墙功能,和selinux的作用

    # service iptables stop 
    # setenforce 0 

    二.安装配置httpd

    下载
    apr-1.4.6.tar.bz2
    apr-util-1.4.1.tar.bz2
    httpd-2.4.4.tar.gz

    apr 和 apr-util 是httpd的必要组件,因此先编译安装这两个组件
    1. 编译安装apr-1.4.6.tar.bz2

    # tar -xf apr-1.4.6.tar.bz2
    # cd apr-1.4.6
    # ./configure --prefix=/usr/local/apr
    # make & make install 

    2.  编译安装apr-util-1.4.1.tar.bz2

    # tar -xf apr-util-1.4.1.tar.bz2
    # cd apr-util-1.4.1 
    # ./configure --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr 
    # make & make install 

    3. 编译安装httpd-2.4.4.tar.gz

    # yum install pcre-devel 因为依赖于此包,所以先安装pcre
    # tar -xf httpd-2.4.4.tar.gz
    # cd httpd-2.4.4 
    # ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=most --with-mpm=event

    上面的编译配置字段不在一一地赘述,感兴趣的可以在网上进行查找并了解
    以上为马哥教育中所讲的关于configure的配置,但是在我配置过程中却出现以下错误

    configure: error: MPM most does not support dynamic loading.

    意思是不能够动态的进行加载mpm模块,首先我来解释以下什么叫做mpm

    MPM(多处理模块)

    Apache HTTP 服务器被设计为一个功能强大,并且灵活的 web 服务器, 可以在很多平台与环境中工作。不同平台和不同的环境往往需要不同 的特性,或可能以不同的方式实现相同的特性最有效率。Apache httpd 通过模块化的设计来适应各种环境。这种设计允许网站管理员通过在 编译时或运行时,选择哪些模块将会加载在服务器中,来选择服务器特性

    Apache HTTP模块

    1. prefork 模型
    prefork模型是一个进程响应一个请求的模式

    2. worker模型
    worker模型一个线程响应一个请求的模式, 但是因为Linux系统设计原因,对于线程的工作方式并不是特别的支持,因此一般而言此模式下的工作并没有想象中的那么高效

    3. event模型
    event模型也是一个线程响应一个请求的模式,但是他自身会分配一些可用的进程和线程用于服务某些请求,而不用频繁的创建线程和进程。

    具体不能够加载动态模块的原因不太清楚,因此我索性就把动态模块给去掉了,默认的模型设成了event

    # ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most -with-mpm=event
    # make & make install 

    4. 加载http命令到PATH环境变量中

    # vim /etc/profile.d/httpd.sh 
    export  PATH=$PATH:/usr/local/apache/bin 

    5. 改变其pid文件
    # vim /etc/httpd/httpd.conf
    PidFile /var/run/httpd.pid 

    5. 启动测试apache服务器

    # apachectl start  启动apache服务器
    在浏览器中测试,输入自己主机的ip地址
    http://192.168.40.129 ,显示
    it works 

    三. mysql服务器的安装过程

    mysql的安装方式

    1. 源码包安装
    2. 二进制包安装
    3. rpm包的安装

    此处选择的方式为mysql的二进制包的安装过程

    1. 创建mysql用户

    #  groupadd -r -g 306 mysql 
    #  useradd -r -g 306 -u 306 mysql 

    2. 添加一块硬盘,创建逻辑卷 

    <1>创建分区

    # fdisk /dev/sdb 
    n 创建一个分区
    p 主分区
    回车默认   
    +10G 
    变换分区类型
    8e  变换成lvm
    w 保存退出

    <2>创建逻辑卷
    # parprobe 
    # pvcreate /dev/sdb1 
    # vgcreate myvg /dev/sdb1 
    # lvcreate -n mydata  -L 5G  myvg 

    <3> 格式化并挂载

    # mk2efs -j /dev/myvg/mydata
    # make -pv /mydata/data   
    # vim  /etc/fstab
    # mount -a   重新挂载所有文件系统

    3. 初始化mysql

    下载
    mysql-5.5.55-linux2.6-x86_64.tar.gz

    # tar -xf mysql-5.5.55-linux2.6-x86_64.tar.gz -C /usr/local/
    # cd mysql-5.5.55-linux2.6-x86_64 
    # ln -sv /usr/local/mysql-5.5.55-linux2.6-x86_64.tar.gz  /usr/local/mysql
    # chown -R mysql:mysql /usr/loca/mysql/*
    # ./scripts/mysql_install_db  --datadir=/mydata/data/ --user=mysql
    # chown -R root /usr/local/mysql/*
    # chown -R mysql:mysql /mydata/data 

    4. 安装完成之后一些库文件,头文件,man文档的处理

    <1>设置开机自动启动

    # cp /usr/lcoal/mysql/support-files/mysql.server  /etc/init.d/mysqld
    # chkconfig --add mysqld 
    # chkconfig mysqld on

    <2>头文件创建链接

    # ln -sv /usr/local/mysql/include /usr/include/mysql 

    <3> 库文件的加载

    # vim /etc/ld.so.conf.d/mysql.conf
    /usr/local/mysql/lib 
    # ldconfig -v  重新加载库文件

    <4> man文档的路径加载

    # vim /etc/man.conf
    MANPATH /usr/local/mysql/man 


    <5> 配置文件复制

    # cp /usr/local/mysql/support-files/my-large.cnf  /etc/my.cnf
    # vim /etc/my.cnf
    datadir /mydata/data 

    <6>启动mysqld
    # service mysqld start
    # mysql  配置完成


    四. 安装配置php

    下载软件,因为配置的php要用到mcrypt的作用,因此下载的软件包如下
    libmcrypt-2.5.7-5.el5.x86_64.rpm   
    mhash-0.9.2-6.el5.x86_64.rpm       
    php-5.4.13.tar.bz2
    libmcrypt-devel-2.5.7-5.el5.x86_64.rpm  
    mhash-devel-0.9.2-6.el5.x86_64.rpm

    1. yum安装rpm包
    因为是下载的rpm包,因此在很大程度上可能自己系统版本和此包不兼容,因此要尽量的下载与上述一样的rpm包,以免产生不必要的麻烦

    # 进入此rpm的目录下进行安装
    #  yum -y --nogpgcheck localinstall *.rpm 

    2. 源码编译安装php

    # tar -xf php-5.4.13.tar.bz2
    # cd php-5.4.13
    #  ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts

    --with-apxs2=/usr/local/apache/bin/apxs 这个是把php安装成为apache的一个模块
    # make & make install 

    3. 复制配置文件,并修改httpd的配置文件

    # cp  /root/php/php-5.4.13/php.ini-production  /etc/php.ini
    # vim /etc/httpd/httpd.conf 

    DirectoryIndex index.html -------》DirectoryIndex index.html index.php
    AddType application/x-httpd.php .php
    AddType application/x-httpd.php.source .phps

    # mv /usr/local/apache/htdocs/index.html  /usr/local/apache/htdocs/index.php
    # vim /usr/local/apache/htdocs/index.php

    0

    阅读 评论 收藏 转载 喜欢 打印举报
    已投稿到:
    • 评论加载中,请稍候...
    发评论

         

      发评论

      以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

    • 相关阅读:
      代码中引用res里的颜色、图片
      time.setToNow() 取当前时间,月份有误
      adb报错:The connection to adb is down, and a severe&nbs
      安卓下拉刷新、上拉加载数据显示
      4、安卓数据存储——sqlite
      3、安卓数据存储——缓存、内存管理
      2、安卓数据存储——本地文件
      1、安卓数据存储机制——sharedPreference
      一个异步任务接收两个url下载两个图片
      adb报错:The connection to adb is down, and a severe&nbs
    • 原文地址:https://www.cnblogs.com/huwentao/p/6999165.html
    Copyright © 2011-2022 走看看