编译安装LAMP环境

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

LAMP环境配置:
httpd-2.4.23 + mysql-5.5.51 +php-5.5.38编译安装过程
编译前先准备系统的开发环境:

1
# yum groupinstall "Development tools" "Server Platform Development"


一、编译安装apache

1、解决依赖关系
httpd-2.4.23需要较新版本的apr和apr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。这里采用源码编译方式;
(1) 编译安装apr

1
2
3
4
# tar zxf apr-1.5.2.tar.gz
# cd apr-1.5.2
# ./configure --prefix=/usr/local/apr
# make && make install

(2) 编译安装apr-util

1
2
3
4
# tar xf apr-util-1.5.4.tar.gz
# cd apr-util-1.5.4
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install

(3)httpd-2.4.23编译过程也要依赖于pcre-devel软件包,需要事先安装。此软件包系统光盘自带,因此,找到并安装即可。

1
# yum install -y pcre-devel


(4)创建用户,组


1
2
# groupadd -r apache
# useradd -r -g apache apache


2.编译安装httpd-2.4.23

首先下载httpd-2.4.23到本地:httpd-2.4.23.tar.gz

1
2
3
4
# tar xf httpd-2.4.23.tar.gz
# cd httpd-2.4.23
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --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=all --with-mpm=event
# make -j 4 && make install

提供SysV服务脚本/etc/rc.d/init.d/httpd

1
2
3
4
5
6
7
# cp /etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd24 #这个httpd服务脚本拷贝系统预装httpd2.2的服务脚本修改下面几行:
     vim  /etc/rc .d /init .d /httpd24
             apachectl= /usr/local/apache/bin/apachectl
             httpd=${HTTPD- /usr/local/apache/bin/httpd }
             prog=httpd
             pidfile=${PIDFILE- /usr/local/apache/logs/httpd .pid} #注意:httpd.pid默认位置
             lockfile=${LOCKFILE- /var/lock/subsys/httpd24 }
1
2
3
加入服务列表:
# chkconfig --add httpd
# chkconfig --list httpd24

测试启动:

1
2
service httpd24 restart
使用浏览器访问当前主机显示It Works 表示成功。

注意:如果用httpd -t 报错找不到指定文件,可以通过软链接的方式将httpd指向指定目录:
# ln -sv /usr/local/apache/bin/httpd /usr/local/sbin/httpd

二、安装mysql-5.5.51

(1)准备数据存放的文件系统

1
2
3
4
5
6
7
8
9
10
11
##创建一个mydata单独的LVM2文件系统
         #fdisk /dev/sda3
         #pvcreate /dev/sda3
         #vgcreate myvg /dev/sda3
         #lvcreate -L 10G -n mydata myvg
         #mke2fs -t ext4 /dev/myvg/mydata
         #mkdir /mydata
         #vim /etc/fstab 添加:/dev/myvg/mydata /mydata ext4 defaults 0 0
         #mount -a 
         #cd /mydata;mkdir data
         #chown mysql:mysql data

            
(2)创建用户,组            

1
2
3
# groupadd -r mysql
# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql
# chown -R mysql:mysql /mydata/data

    
(3)安装mysql-5.5.51

1
2
3
4
# tar zxf mysql-5.5.51-linux2.6-i686.tar.gz -C /usr/local/
# cd /usr/local/
# ln -sv mysql-5.5.51-linux2.6-i686/ mysql
# cd mysql


(4)安装并初始化mysql-5.5.51

1
2
3
# chown -R mysql:mysql .
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
# chown -R root .


(5)为mysql提供主配置文件:

1
2
3
4
5
6
# cd /usr/local/mysql
# cp support-files/my-large.cnf  /etc/my.cnf
#并修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:
thread_concurrency = 2
另外还需要添加如下行指定mysql数据文件的存放位置:
datadir =  /mydata/data


(6)拷贝服务脚本

1
2
3
# cd /usr/local/mysql
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld


(7)添加服务列表

1
2
3
# chkconfig --add mysqld
# chkconfig mysqld on
# chkconfig --list mysqld

(8)添加系统环境变量

1
2
3
4
5
6
# vim /etc/profile.d/mysql.sh
     #!/bin/bash
     #
     export  PATH= /usr/local/mysql/bin :$PATH
# source /etc/profile.d/mysql.sh
测试启动:service mysqld restart
1
2
3
4
5
6
7
使用mysql命令登陆本地数据库,并给数据库创建密码
     mysql> use mysql
     mysql> update user  set  password=password( 'root' ) where user= 'root' ;
     mysql>  select  user,host,password from user;
     mysql> drop user  '' @ 'localhost' ; #删除匿名用户
     mysql> drop user  '' @ 'liu'
     mysql> flush privileges;

注意:额外配置

1
2
3
4
5
6
7
8
9
10
1、输出mysql的 man 手册至 man 命令的查找路径:
编辑 /etc/man .config,添加如下行即可:
MANPATH   /usr/local/mysql/man
2、输出mysql的头文件至系统头文件路径 /usr/include
这可以通过简单的创建链接实现:
# ln -sv /usr/local/mysql/include  /usr/include/mysql
3、输出mysql的库文件给系统库查找路径:
# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
而后让系统重新载入系统库:
# ldconfig

三、编译安装php-5.5.38
1、解决依赖关系:

1
2
3
4
请配置好yum源(系统安装源及epel源)后执行如下命令:
# yum -y groupinstall "Desktop Platform Development" 
# yum -y install bzip2-devel libmcrypt-devel libxml2-devel
libmcrypt-devel 需要epel yum源进行安装。

2.安装php-5.5.38

1
2
3
# tar zxf php-5.5.38.tar.gz
# cd php-5.5.38
# ./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

说明:
1、这里为了支持apache的worker或event这两个MPM,编译时使用了--enable-maintainer-zts选项。
2、如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包了。mysqlnd从php 5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖),但从PHP 5.4开始它就是默认设置了。
# ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd

1
# make -j 4 && make install
1
2
为php提供配置文件:
# cp php.ini-production /etc/php.ini


3、 编辑apache配置文件httpd.conf,以apache支持php

1
2
3
4
5
6
7
  # vim /etc/httpd/httpd.conf
  1、添加如下二行
    AddType application /x-httpd-php   .php
    AddType application /x-httpd-php-source   .phps
  2、定位至DirectoryIndex index.html 
    修改为:
     DirectoryIndex  index.php  index.html

而后重新启动httpd,或让其重新载入配置文件即可测试php是否已经可以正常使用。

4、测试php安装是否成功:

测试页面index.php示例如下:
    <?php
      link=mysqlconnect(127.0.0.1,root,root);if(link)
        echo "Success...";
      else
        echo "Failure...";

      mysql_close();
      phpinfo();
    ?>
    
四、LAMP环境测试

        这里使用phpMyAdmin测试
        mv phpMyAdmin-4.4.14.1-all-languages /usr/local/apache/htdocs/pma
        cd /usr/local/apache/htdocs/pma
        cp config.sample.inc.php config.inc.php
        vim config.inc.php
        ab -c 10 -n 100 http://192.168.137.30/pma/index.php #压力测试
        
五、安装xcache,为php加速:

1、安装xcache-3.2.0
# tar zxf xcache-3.2.0.tar.gz
# cd xcache-3.2.0
# /usr/local/php/bin/phpize
# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
# make && make install

安装结束时,会出现类似如下行:
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20121212/

2、编辑php.ini,整合php和xcache:

首先将xcache提供的样例配置导入php.ini
# mkdir /etc/php.d
# cp xcache.ini /etc/php.d

说明:xcache.ini文件在xcache的源码目录中。

接下来编辑/etc/php.d/xcache.ini,找到zend_extension开头的行,修改为如下行:
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20121212/xcache.so

注意:如果php.ini文件中有多条zend_extension指令行,要确保此新增的行排在第一位。
访问测试页,即可看到已安装的xcache模块属性信息
现在即可使用ab命令进行压力测试,速度一般提升在3倍左右。



本文转自 ljohnmail 51CTO博客,原文链接:http://blog.51cto.com/ljohn/1863283,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
265
分享
相关文章
安装 LAMP 环境(yum 版本)
【4月更文挑战第29天】
110 5
|
10月前
|
LAMP源码安装原理
LAMP源码安装原理
52 3
LAMP架构——源码编译安装(一)
1、LAMP架构概述 2、编译安装Apache httpd 服务 3、编译安装mysql 服务 4、编译安装PHP 解析服务 5、利用LAMP搭建论坛
LAMP架构——源码编译安装(一)
LAMP架构——源码编译安装(二)
1、LAMP架构概述 2、编译安装Apache httpd 服务 3、编译安装mysql 服务 4、编译安装PHP 解析服务 5、利用LAMP搭建论坛
LAMP架构——源码编译安装(二)
LAMP架构——源码编译安装(三)
1、LAMP架构概述 2、编译安装Apache httpd 服务 3、编译安装mysql 服务 4、编译安装PHP 解析服务 5、利用LAMP搭建论坛
LAMP架构——源码编译安装(三)