从零开始编译安装LAMP(上)

1、Linux平台架构(虚拟机安装CentOS6.3)(--上)

说明:操做系统使用centos6.3,64位架构。因为生产环节安装Linux平台都是使用最小化安装,所以此次也是采用最小化安装。php

1.打开虚拟机,选择建立新的虚拟机--而后选择典型(推荐)安装,点击下一步html

2.选择“稍后安装操做系统”java

3.点击下一步,而后选择本身须要安装的操做系统和系统版本。我安装的是64位的CentOS6.3,以下图同样选择。mysql

4.点击下一步,以后会出现给虚拟机命名,以及选择虚拟机位置。在此处就是让他叫作CentOS6.3_64,位置按照你的须要选择。以下图:linux

5.配置好之后,点击“下一步”,给虚拟机分磁盘,这里咱们能够随便分,即便查过物理磁盘大小也是能够的web

6.点击“下一步”,而后点击完成。如今就回在虚拟机中出现刚刚建立的Centos6.3_64,可是如今仅仅只是一个框架,咱们此时能够修改操做系统硬件环境配置,好比内存大小,处理器数量以及网络模式等等。sql

7.双击设备下面的子选项能够修改单个虚拟物理硬件的配置,这里咱们主要修改一下网络适配器的模式,让他以桥接的方式存在,这样就至关于一个真实的物理主机,IP地址也是独立的,和主机是在同一个网段的。shell

8.点击肯定之后,就能够挂在光盘镜像了。如今双击CD/DVD(IDE)选项。而后选择使用ISO镜像文件,点击浏览找到镜像位置,而后点击肯定就能够进行镜像文件安装了。apache

9.如今就能够点击开启此虚拟机,而后进行系统配置。这个咱们分为系统安装,下节再讲。windows

1、Linux平台架构(虚拟机安装CentOS6.3)(--下)

1.打开vmware,点击开启此虚拟机

2.将鼠标放进虚拟机界面,点击一下,发现指针在虚拟机里面,使用上下箭头选择条目,咱们选择第一项,按ENTER键选择,进入安装。

3.等待一会会进入Disc Found阶段,这时咱们按下tab键,选择SKIP跳过自检,而后按下ENTER进行安装(生产环境你们可使用OK选项进行检测,会花费一段时间,在此就不描述了,有兴趣的朋友能够试着作一下)。

4.鼠标点击右下角的next,进入系统环境配置。接下来会让咱们选择系统语言,以及键盘方式,此处咱们选择English语言,键盘习惯选择U.S.English,点击NEXT,继续选择设备类型。

5.咱们选择基本存储类型(Basic Storage Devices),而后点击NEXT,此时会提示是否抹除磁盘数据,选择Yes,discard any data。

6.输入Hostname,给本身系统取个名字,咱们就叫作centos1,而后选择下一步。

7.接下来会让咱们选择系统时区,咱们选择Asia/Shanghai,注意勾选上下面的System clock uses UTC,点击下一步后,会提示输入密码。(若是密码设置的过于简单,会跳出提示,显示密码太弱,这个时候选择Use Anyway,固然咱们是由于测试环境,能够这样,若是是生产环境,千万不可设置过于简单的密码)。

8.在完成密码设置后,会进入磁盘分区,通常生产环境都会选择自定义分区,即Create Custom Layout,选择好之后点击下一步,会跳出分区页面。选择create,而后选择标准分区Standard Partition,通常第一个分区要给/boot分区,即挂载点选择/boot,文件系统类型选择ext4,大小给200M就足够用了。点击OK,建立该分区成功。

9.下面要建立swap分区,这个实际上是至关于windows中的虚拟内存,通常咱们给内存的2倍,固然你内存要是4G以上,给个0.5或者1倍就足够了。个人是1G内存,所以我给swap2G内存。继续选择Create,依然选择建立标准分区,接着在文件系统选择swap,大小选择2000M,点击OK进行建立。

10.而后依次建立根分区挂载点/,和/usr/local挂载点,分别给50G,由于如今只是先教着你们装系统,因此有关磁盘阵列和逻辑卷的建立暂时就不说了,看到咱们还留有近100G的空间,就是留着之后建立逻辑卷和磁盘阵列的,先预告一下。总之建立好之后,磁盘分区状况以下:

11.点击next后会弹出是否格式化的提示,点击是,而后会提示是否将配置写入磁盘,选择write changes to disk,接着系统开始安装,首先会提示将boot分区写入/dev/目录下的某个分区上,点击NEXT便可进入安装。(若是你下载的系统镜像是彻底版的话,能够选择最小化安装,由于我下载的是精简版,也就是最小化镜像,所以会直接跳到安装界面,自动安装)。稍等一会,安装好之后点击右下角的reboot,重启以后就表示精简的Linux系统就安装好了。重启以后能够进入登录界面,用户名为root,密码就是咱们以前设置的,输入之后就能够进入操做系统了。

备注:从虚拟机中将鼠标释放出来,须要同时按下ctrl和Alt键。

2、Linux操做系统简单网络配置

1.启动虚拟机上的Linux系统以后,默认状况下网卡是没有被激活的。所以第一步就是配置网卡信息。使用vi编辑器,直接修改配置文件。(vi编辑器的使用本身百度吧,目前只要知道编辑、修改、保存便可)。修改网卡配置文件:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

修改为以下,注意IP地址和你主机在同一个网段内,且不要和其余主机冲突便可。

DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:25:CC:A1"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="bf4dee67-7ebb-46cb-97b4-209d5d6838ca"
IPADDR="192.168.1.214"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
PEERDNS="no"

如今就能够激活网卡了,激活命令:service network start,若是网卡比较多的话,就不能够这样启动了,而是使用ifconfig命令。

ifconfig 网卡名称 [UP/DOWN]来启动/关闭相关网卡。好比咱们要启动当前的eth0网卡,只须要使用一下命令:ifconfig eth0 up,

网卡激活以后,如今ping baidu的域名仍是不行的,会提示不可知域名。这是由于咱们DNS没有配置,简单的方式在本机指定一下域名服务器地址,我习惯用本地的网关地址做为DNS服务器地址,下面就能够修改DNS配置文件来配置DNS解析。

2.修改DNS配置文件,这里咱们在resolv.conf中修改。

vi /etc/resolv.conf  (添加一行)

nameserver 192.168.1.1

即把你的网关添加进去。

3.PING测试,能够ping一下网关,测试网络链接是否正常。

[root@centos1 ~]# ping -c 3 -w 3 baidu.com
PING baidu.com (180.149.132.47) 56(84) bytes of data.
64 bytes from 180.149.132.47: icmp_seq=1 ttl=50 time=38.5 ms
64 bytes from 180.149.132.47: icmp_seq=2 ttl=50 time=38.7 ms
64 bytes from 180.149.132.47: icmp_seq=3 ttl=50 time=41.7 ms
--- baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2070ms
rtt min/avg/max/mdev = 38.593/39.715/41.768/1.462 ms

备注:在Linux系统上,ping命令若是不指定参数会一直ping下去,咱们能够手动按下ctrl+c来终止,也能够在ping命令启动时加入参数来指定。好比-c指定ping的测试,-w指定等待时长。上例的ping -c 3 -w 3 baidu.com 就表示ping三次,等待3秒,二者任何一个知足就退出ping命令。

到此为止,linux的网络配置基本上就算简单完成了

3、Apache的安装(httpd的安装)

Apache是一个开源项目组织,其开发的产品包括httpd,tomcat,Hadoop等,已是如今服务器架构的中坚力量。httpd是一种web服务器,也是全球使用最普遍的web服务器,这与其高效的性能和免费开源的性质有很大关系。今天咱们就来讲一下企业中,手动编译安装httpd的方法与步骤。

1.为了便于操做与管理,我习惯性使用xshell链接linux服务器,而后在/usr/local目录下创建一个专门用于存储第三方安装包的文件,取名lampsoft。以下:

[root@centos1 ~]# mkdir /usr/local/lampsoft
[root@centos1 ~]# cd /usr/local/lampsoft/
[root@centos1 lampsoft]# ll
total 0

2.如今咱们就要使用xftp来从主机传送文件了。点击下图中红圈中的图标,打开xftp,找中你须要上传的文件路径,选中这些文件,双击一下就能够拖拽到相应的linux系统目录下。本实验室拖到/usr/local/lampsoft下。

3.等待上传完毕便可进行安装,安装apache须要首先安装两个组文件——“Development Tools”、“Compatibility libraries”。咱们使用yum源安装,centos直接提供yum源文件,只须要linux服务器能够联网,就能够直接使用下载、安装,很是方便。若是没有联网的朋友,则可使用本地yum源,配置方法可百度。

[root@centos1 lampsoft]# yum groupinstall "Development Tools"

会自动下载须要的安装包以及依赖包。以下图,一共须要安装128个包,想一下若是没有这个yum源,咱们何时能安装好着128个包,即便运行LAMP环境不须要那么多,可是工做量仍是很是大的。如今咱们只须要一个简单的命令就能够完成安装。yum搜集好文件包后会问咱们是否下载、安装,咱们输入Y就能够。等待一会安装成功就能够了,再使用相同的方法安装一下Compatibility libraries,固然也能够和Development Tools一块儿安装,命令:yum groupinstall "Development Tools"  “Compatibility libraries” -y(使用-y则不须要咱们输入y确认,直接进行安装。)

以下面就已经安装完成:

4.如今咱们两个组文件都已经安装成功,还有两个包须要安装,即apr以及apr-util,这两个是httpd的运行环境包,至关于java中的虚拟机,是模拟出一个httpd能够运行的环境。咱们使用的安装包apr-1.5.2.tar.gz 和 apr-util-1.5.4.tar.gz 。安装方法:

1.tar xvf apr-1.5.2.tar.gz 

2.cd apr-1.5.2

3../configure --prefix=/usr/local/apr

安装报错:rm: cannot remove `libtoolT': No such file or directory,这个是由于configure文件中,有行代码有问题,咱们使用vi 编辑configure文件。大概在29605行,源代码以下:

只须要将RM='$RM' 改为RM='$RM -f'便可。修改好之后,从新编译便可经过。

4.make && make install  以下就已经安装成功

5.安装apr-util

tar xvf 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

出现如下提示则表示安装成功。

5.由于如今web服务器支持ssl加密功能,所以咱们须要先安装openssl包。安装方法:

1)tar xvf openssl-1.0.2d.tar.gz 

2)cd openssl-1.0.2d

3)./config --prefix=/usr/local/openssl -fPIC no-gost

4)make depend

5)make

6)make install

7) /usr/local/openssl/bin/openssl version  (查看openssl版本信息,以下便是对的)
OpenSSL 1.0.2d 9 Jul 2015

6.如今终于开始安装httpd了,咱们使用的安装包为:httpd-2.4.16.tar.bz2

1.)tar xvf httpd-2.4.16.tar.bz2

2.)cd httpd-2.4.16

3.)./configure --prefix=/usr/local/apache  --enable-so --enable-ssl --with-ssl=/usr/local/openssl --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

报错:configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/,这是由于缺乏pcre-devel包,使用yum源安装便可。

解决办法:yum install pcre-devel -y

4.)继续编译安装

./configure --prefix=/usr/local/apache  --enable-so --enable-ssl --with-ssl=/usr/local/openssl --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

5.)make

6.)make install 出现以下画面则证实安装成功了。

7.)修改apache的配置文件(注意:修改任何配置文件以前都要先作好备份)

 cd /usr/local/apache/conf/

cp httpd.conf httpd.conf.bak

vi httpd.con 须要修改两处

第一处:在ServerRoot "/usr/local/apache"下面添加一行代码——PidFile "/var/run/httpd.pid"

第二处:将#ServerName www.example.com:80修改成ServerName localhost:80(注意:前面的#要去掉)

8.)添加httpd的bin文件到PATH路径下,这样咱们使用httpd的命令系统就能够找到了。

第一步:vi /etc/profile.d/httpd.sh (添加以下内容)

export PATH=$PATH:/usr/local/apache/bin

第二步:source /etc/profile.d/httpd.sh

第三步:查看环境变量是否已经包含httpd的bin文件路径。

echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache/bin

(已经添加成功了)

9.)添加httpd的头文件(include)

ln -sv /usr/local/apache/include/ /usr/include/apache

10.)添加httpd的帮助文件路径,这须要系统自身安装了man命令,由于咱们是最小化安装,全部须要手动安装一下man,也很简单,咱们使用域名安装,即:

第一步:yum install man -y

第二步: vi /etc/man.config在最后添加一行:

MANPATH /usr/local/apache/man

到此为止,apache就已经安装、配置成功了。咱们能够启动httpd了,启动命令:/usr/local/apache/bin/apachectl start,,由于咱们之间已经重写了环境变量,将httpd的bin文件路径告知系统,所以我们直接使用apachectl start 就能够启动,默认httpd监听在80端口,咱们可使用netstat -nltp查看80端口是否已将开启。以下:

那如今能不能访问呢?咱们来试下,再试以前建议你们关闭防火墙和selinux,由于咱们如今只是测试你们LAMP架构,防火墙会在后面的文章专门讲到。关闭方法:

防火墙关闭方法:

1.service iptables stop(关闭当前防火墙,可是重启系统后默认依然会自动重启)

2.chkconfig --level 2345 iptables off(关闭iptables,系统重启后不会自动重启)

3.chkconfig --list |grep iptables

(查看是否关闭成功,全是off表示关闭成功)

selinux关闭方法:

1.setenforce 0(关闭当前selinux)

2.getenforce (查看当前selinux状态,如今为Permissive,系统重启后仍然会自动启动)

3.vi /etc/sysconfig/selinux 将SELINUX=enforcing这行代码改为SELINUX=disabled,这样系统重启之后也不会重启selinux。

整个过程以下图:

11.)终于能够检测一下本身的安装成果了,在本地浏览器上直接输入你虚拟linux服务器ip地址(好比我如今的虚拟linuxIP地址为192.168.1.214)便可访问。

看到没有,It works!为了娱乐,咱们能够直接修改显示内容,没事的时候能够装装逼嘛!修改文件 vi /usr/local/apache/htdocs/index.html,把It works!改为你想看到的任意内容便可,保存以后再刷新浏览器便可显示。

OK,搞定了。下一节咱们来说mysql的安装和配置。

4、MySQL的安装

MySQL的安装咱们采用通用二进制包,由于手动编译安装花费的时间太长太长~并且通用二进制包已经包含了企业所须要的基本功能。所以咱们使用这种方案,下载安装包mysql-5.5.43-linux2.6-x86_64.tar.gz。

1.首先下载好安装包,上传到指定目录下,我仍是使用上节的目录即:/usr/local/lampsoft

2.解压

tar xvf mysql-5.5.43-linux2.6-x86_64.tar.gz -C /usr/local/

使用-C参数,将压缩包的解压位置指定到/usr/local下。

如今/usr/local目录下已经生成一个mysql-5.5.43-linux2.6-x86_64目录,因为这个目录信息含有mysql的版本号,平台架构,所以不想修改它的名字。可是mysql官方文档又建议咱们安装子啊/usr/local/mysql下,怎么办呢?作个软链接好了。

3.软链接

ln -sv /usr/local/mysql-5.5.43-linux2.6-x86_64/ /usr/local/mysql
成功后会这样提示:`/usr/local/mysql' -> `/usr/local/mysql-5.5.43-linux2.6-x86_64/'    

4.建立mysql的用户和组

groupadd -g 306 -r mysql 建立mysql组,-g指定组ID,此处为306,-r表示建立系统用户组,注意少于500的都是系统用户组。

useradd -r -g 306 -u 306 mysql 建立mysql组,-g指定属于哪一个用户组,-r表示建立系统用户,-u指定用户ID。查看一下建立是否成功

id mysql   显示以下:

uid=306(mysql) gid=306(mysql) groups=306(mysql)  表示用户id为306,组id为306,用户mysql属于mysql组。有点拗口,习惯了就行了。

5.改变mysql目录下的文件属组和属主

chown -R mysql:mysql /usr/local/mysql/*

使用ll命令查看一下属组和属主信息,以下:

[root@centos1 local]# ll /usr/local/mysql/
total 216
drwxr-xr-x  2 mysql mysql   4096 Jul 31 00:42 bin
-rw-r--r--  1 mysql mysql  17987 Feb 27 16:30 COPYING
drwxr-xr-x  3 mysql mysql   4096 Jul 31 00:42 data
drwxr-xr-x  2 mysql mysql   4096 Jul 31 00:42 docs
drwxr-xr-x  3 mysql mysql   4096 Jul 31 00:42 include
-rw-r--r--  1 mysql mysql 148414 Feb 27 16:30 INSTALL-BINARY
drwxr-xr-x  3 mysql mysql   4096 Jul 31 00:42 lib
drwxr-xr-x  4 mysql mysql   4096 Jul 31 00:42 man
drwxr-xr-x 10 mysql mysql   4096 Jul 31 00:42 mysql-test
-rw-r--r--  1 mysql mysql   2496 Feb 27 16:30 README
drwxr-xr-x  2 mysql mysql   4096 Jul 31 00:42 scripts
drwxr-xr-x 27 mysql mysql   4096 Jul 31 00:42 share
drwxr-xr-x  4 mysql mysql   4096 Jul 31 00:42 sql-bench
drwxr-xr-x  2 mysql mysql   4096 Jul 31 00:42 support-files

6.建立mysql数据文件路径,默认是存储在mysql安装目录下面的data下,可是这样之后数据满了的话很差扩展,企业级通常都会使用逻辑卷的方式,使用单独的硬盘或者服务器进行数据的存储,咱们暂时不讲的那么深刻,等LAMP教程完结以后,我会专门抽出一节将lvm技术。目前咱们暂时把数据存储在/mydata/data下,这两个目录都是没有的,须要咱们手动建立。

mkdir -pv /mydata/data 会看到如下提示:

mkdir: created directory `/mydata'
mkdir: created directory `/mydata/data' 表示建立成功了

7.mysql的初始化执行,咱们只须要执行如下安装目录下面的一个脚本文件便可。

/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data/ --basedir=/usr/local/mysql

注意:使用--user来指定mysql的用户,datadir指定数据文件路径,由于咱们不使用默认的数据存储路径,所以这里是必定要指定的。另外--basedir指定mysql的安装路径,不然会提示找不到./bin/my_print_defaults。执行以后没有报错的话,咱们的mysql安装就初步完成了,下面的步骤就是调整和规范化了。

8.修改MySQL的属主为root,这样能够在黑客在破解了mysql权限以后,仍然没法修改mysql数据。修改好以后查看一下,整个过程以下:

[root@centos1 mysql]# chown -R root /usr/local/mysql/*
[root@centos1 mysql]# ll /usr/local/mysql/
total 216
drwxr-xr-x  2 root mysql   4096 Jul 31 00:42 bin
-rw-r--r--  1 root mysql  17987 Feb 27 16:30 COPYING
drwxr-xr-x  3 root mysql   4096 Jul 31 00:42 data
drwxr-xr-x  2 root mysql   4096 Jul 31 00:42 docs
drwxr-xr-x  3 root mysql   4096 Jul 31 00:42 include
-rw-r--r--  1 root mysql 148414 Feb 27 16:30 INSTALL-BINARY
drwxr-xr-x  3 root mysql   4096 Jul 31 00:42 lib
drwxr-xr-x  4 root mysql   4096 Jul 31 00:42 man
drwxr-xr-x 10 root mysql   4096 Jul 31 00:42 mysql-test
-rw-r--r--  1 root mysql   2496 Feb 27 16:30 README
drwxr-xr-x  2 root mysql   4096 Jul 31 00:42 scripts
drwxr-xr-x 27 root mysql   4096 Jul 31 00:42 share
drwxr-xr-x  4 root mysql   4096 Jul 31 00:42 sql-bench
drwxr-xr-x  2 root mysql   4096 Jul 31 00:42 support-files

看到全部文件和目录的属组为mysql,属主为root,如今能够执行下一步了——为mysql提供配置文件。

9.其实mysql本身已经把配置文件写好了,在安装目录下的support-files目录下有不少以.cnf结尾的文件,这些就是不一样硬件配置所须要的配置文件,通常内存在512M-1G之间使用my-large.cnf文件,2G以上使用my-huge.cnf,具体的你们能够看一下,每一个文件里面都有使用配置介绍。这里咱们使用my-large.cnf文件。

cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf

 

10.修改配置文件,最简单的方式只须要修改两处:

第一处:修改一行代码

thread_concurrency = 8 (具体要等于几,是根据你cpu的个数乘以2得出的,CPU的个数怎么肯定呢?使用这条命令:cat /proc/cpuinfo |grep processor |wc -l,得出的数字就是CPU的个数),个人是2个,所以此处数值改成4.

即:thread_concurrency =4

第二处:直接在thread_concurrency = 4下面添加一行代码,即:datadir = /mydata/data

11.为mysql提供sysv服务脚本,顺便提一下,httpd咱们也能够写sysv脚本,可是我认为不使用依然可以解决基本问题,好比基本的启动、中止等操做,以及开机自启操做均可使用其余命令简单配置,可能比写脚本更加简单。由于mysql提供好了脚本,咱们只须要简单的改个名字复制到/etc/init.d下面就能够,仍是很是简单的。

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

给mysqld执行权限,默认都是有的,不过最好检查一下,否则后果很严重。命令:chmod +x /etc.init.d/mysqld,查看一下是否是每一个位都含有x项。

ll /etc/init.d/mysqld 
-rwxr-xr-x 1 root root 10880 Jul 31 01:33 /etc/init.d/mysqld

权限没问题以后,我们就能够作出自启动了,两条命令:

# chkconfig  --add mysqld

# chkconfig mysqld on如此便可。

 

12.下面是mysql的规范化使用了。

a.)修改帮助文件命令,添加mysql的man路径

vi /etc/man.config 在最后一行添加以下代码

MANPATH /usr/local/mysql/man

b.)添加mysql的头文件位置

咱们一样使用软链接实现:

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

c.)添加mysql的执行文件

vi /etc/profile.d/mysql.sh
添加以下一行代码

export PATH=$PATH:/usr/local/mysql/bin 添加完成后,执行一下如下命令便可

source /etc/profile.d/mysql.sh

d.)添加mysql的库文件

vi /etc/ld.so.conf.d/mysql.conf 在该文件了添加mysql的lib路径,个人是/usr/local/mysql/lib,直接将这行代码写进去就能够了。

而后使用ldconfig -v让系统从新读取一下库文件。若是配置正确的话,咱们能够看到mysql的库文件已将加载进来,以下图所示:

 

13.到此为止mysql就已经安装配置成功了,咱们如今能够链接一下试试了。固然链接以前咱们要先启动mysql了,启动命令:service mysqld start。启动成功会有提示信息:

Starting MySQL... SUCCESS! 

mysql的端口号默认监听在3306,这也是为何以前那咱们把mysql的组和用户ID都设置成306,好记,意义也比较明确。成功以后直接使用mysql就能够链接到mysql服务器上。能够查看版本信息,查看链接用户等信息,以下图:

5、PHP的安装

1.php的安装包使用5.6版本的最新稳定版php-5.6.11.tar.bz2,解压缩

tar xvf php-5.6.11.tar.bz2

2.进入php目录下,进行编译安装。此次咱们不提早安装依赖包,而是在编译过程当中,根据报错信息,一边修补一边安装,这样也更能让你们体会到真实生活中所面临的问题。可是要相信,最终老是会解决的,可能过程比较复杂,可是你一样要相信,你花十天学会同样东西和花费半个时辰学会同样东西的熟练度与认知度是不同的。咱们有生以来可能会遭受太多的欺骗,可是惟有本身的汗水是不会欺骗本身,相信本身,一块儿加油吧!

cd php-5.6.11

./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-gd --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts 

报错1:configure: error: xml2-config not found. Please check your libxml2 installation

解决办法:yum install libxml2 libxml2-devel -y

如今从新编译安装,上面问题已解决,可是又报错:

报错2: checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution

解决办法:yum install bzip2 bzip2-devel

从新编译安装,一样又有新的报错,此次是:

报错3: checking for T1lib support... no
checking whether to enable truetype string function in GD... no
checking whether to enable JIS-mapped Japanese font support in GD... no
If configure fails try --with-vpx-dir=<DIR>
configure: error: jpeglib.h not found.

解决办法:yum install gd.x86_64 gd-devel.x86_64 jpeg-turbo.x86_64 libjpeg-turbo-devel.x86_64 libpng.x86_64 libpng-devel.x86_64 freetype.x86_64 freetype-devel.x86_64 

继续从新编译,发现果真还有一个问题,

报错4:configure: error: mcrypt.h not found. Please reinstall libmcrypt.

提示咱们加密文件的头文件找不到,其实咱们根本没有安装。咱们来从新安装一下,这个安装要稍微复杂一点,须要下载四个安装包,分别是:libmcrypt-2.5.8-alt1.x86_64.rpm        mhash-0.9.9.9-3.el6.x86_64.rpm

libmcrypt-devel-2.5.8-alt1.x86_64.rpm  mhash-devel-0.9.9.9-3.el6.x86_64.rpm

如今咱们就来安装一下。

解决办法:rpm -ivh libmcrypt-2.5.8-alt1.x86_64.rpm        mhash-0.9.9.9-3.el6.x86_64.rpm

libmcrypt-devel-2.5.8-alt1.x86_64.rpm  mhash-devel-0.9.9.9-3.el6.x86_64.rpm

出现以下提示即证实安装成功

若是出现下面这样的界面,则表示编译经过了。

3.如今能够make了,可能要等一会了,这个时间稍微会长一点。

make

在咱们make完成以后,通常会提示让咱们测试一下,没事的话你们能够作一下,命令:make test,我就不测试了,直接进行安装了。

4.安装

make install

这步很是快,以下便可。

5.为php提供配置文件,也是php本身已经写好的,咱们直接复制更名,放到以前定义的php配置文件位置就好了。以下图:

6.编译apache的配置文件,整合apache和php。

vi /usr/local/apache/conf/httpd.conf 须要修改两处

第一处:找到AddType 行,而后添加以下两行。

 AddType application/x-httpd-php  .php
 

 AddType application/x-httpd-php-source  .phps

第二处:定位至DirectoryIndex index.html 

  修改成:
DirectoryIndex  index.php  index.html

保存好退出,重启httpd,重启命令还记得吧,apachectl restart。

7.在重启以前咱们要写个php的测试文件,否则你怎么知道php有没有被apache整合调用呢。在/usr/local/apache/htdocs/下编辑一个index.php文件。即

vi /usr/local/apache/htdocs/index.php 写上以下代码:

<?php

phpinfo();

?>

保存退出便可。

8.如今能够去重启Apache了,看一下有没有把php的信息调用出来。重启之后,咱们在浏览器访问虚拟linux服务器地址。以下图即证实咱们成功了

在这个界面里,咱们能够查看装了那些插件,支持哪些功能等等。

6、使用XCache为php加速

XCache官网以下介绍其产品:XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他可以提升您服务器上的 PHP 性能. 他经过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 可以直接使用缓冲区已编译的代码从而提升速度. 一般可以提升您的页面生成速率 2 到5 倍, 下降服务器负载.

另外须要注意的是,XCache只有3.2.0之后的版本才对php5.6支持,所以各位朋友若是想使用XCache为php加速的话,记得去官网下载最新版本,目前最新版是2014年09月18日发布的3.2.0.官网:http://xcache.lighttpd.net

如今开始安装XCache

1.解压

# tar xvf xcache-3.2.0.tar.gz

2.使用phpize扩展php的模块,能够创建php的外挂模块,如今咱们使用的是xcache。

# cd xcache-3.2.0

# /usr/local/php/bin/phpize 

出现以下提示即为正确

Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226

注意!!!执行/usr/local/php/bin/phpize这条命令,必定要进入到xcache的解压目录下执行,不然会报错:

Cannot find config.m4. 
Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module

3.配置编译xcache了

# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config 

出现以下提示便可

creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h

4.编译安装

# make && make install

5.安装结束后会出现以下一行:

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

把后面这段复制下来,后面要用到。

6.编辑php.ini配置文件,整合php和xcache。

# mkdir /etc/php.d

# cp xcache.ini /etc/php.d

# vi /etc/php.d/xcache.ini  在[xcache-common]下面修改一行,将extension = xcache.so改为以下:

extension = /usr/local/php/lib/php/extensions/no-debug-zts-20131226/xcache.so

注意:

1.xcache.size默认等于60M,若是等于0表示禁用 

2.; extension = php_xcache.dll这个.dll文件是给Windows用的,注释掉便可。默认也是注释掉的

 

好了,到底为止已经算是完成了LAMP架构。

相关文章
相关标签/搜索