首页 > 代码库 > 简单编译LAMP
简单编译LAMP
前期准备,需要安装开发工具包
安装方法:yum groupinstall “Development tools”
一、httpd
1、安装apr
软件包:apr-1.4.6.tar.bz2
[root@client httpd]# tar xf apr-1.4.6.tar.bz2
[root@client httpd]# cd apr-1.4.6
[root@client apr-1.4.6]# ./configure --prefix=/usr/local/apr14
[root@client apr-1.4.6]# make && make install
2、安装apr-until
软件包:apr-util-1.4.1.tar.bz2
[root@client httpd]# tar xf apr-util-1.4.1.tar.bz2
[root@client httpd]# cd apr-util-1.4.1
[root@client apr-util-1.4.1]# ./configure --prefix=/usr/local/apr-until --with-apr=/usr/local/apr14
[root@client apr-util-1.4.1]#make && make install
3、安装httpd
软件包:httpd-2.4.6.tar.bz2
[root@client httpd]# yum install pcre-devel
# 还需要pcre-devel包的支持,提前安装下[root@client httpd]#
yum install openssl-devel #因为启用了openssl,所以还需要安装openssl-devel包。
[root@client httpd]# tar xf httpd-2.4.6.tar.bz2
[root@client httpd]# cd httpd
[root@client httpd]# ./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
[root@client httpd]# make && make install
配置可以由系统控制的服务脚本,可以用其他机器安装过的文件来替代,只需修改一下路径即可。我就用之前安装过httpd服务的脚本复制到/etc/init.d/httpd,
然后稍微做些修改。主要是这个路径,改成我们自己的即可。
# Path to the apachectl script, server binary, and short-form for messages.
apachectl=/usr/local/apache/bin/apachectl
httpd=${HTTPD-/usr/local/apache/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/var/run/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd}
特别要提到的就是这个Pid文件,此文件默认在安装目录下的/logs/中。如果想修改需要更改如果几个位置。
首先要修改httpd-mpm.conf里的pidfile位置
[root@client php-5.5.10]# vim /etc/httpd24/extra/httpd-mpm.conf
#
# Server-Pool Management (MPM specific)
#
#
# PidFile: The file in which the server should record its process
# identification number when it starts.
#
# Note that this is the default PidFile for most MPMs.
#
PidFile "/var/run/httpd.pid"
之后还要在主配置文件(httpd.conf)中启用httpd-mpm.conf
[root@client php-5.5.10]# vim /etc/httpd24/httpd.conf
# Server-pool management (MPM specific)
Include /etc/httpd24/extra/httpd-mpm.conf
建立头文件链接
[root@client apache]# ln -sv /usr/local/apache/include /usr/include/httpd24
`/usr/include/httpd24‘ -> `/usr/local/apache/include‘
配置启动服务脚本,可以直接获取其他机器用yum安装的脚本,将httpd文件复制到/etc/init.d下。然后加以修改
# Path to the apachectl script, server binary, and short-form for messages.
apachectl=/usr/local/apache/bin/apachectl #把路径修改成自己的即可
httpd=${HTTPD-/usr/local/apache/bin/httpd} #把路径修改成自己的即可
prog=httpd
pidfile=${PIDFILE-/var/run/httpd.pid} #pid文件位置如需要修改,在/etc/httpd24/extra/httpd-mpm.conf中修改
lockfile=${LOCKFILE-/var/lock/subsys/httpd} #此处保持即可
RETVAL=0
STOP_TIMEOUT=${STOP_TIMEOUT-10}
如需要改变pid文件的位置,则修改httpd-mpm.conf,修改好后,还需要再主配置文件中启用此配置文件
PidFile "/var/run/httpd.pid"
# Server-pool management (MPM specific)
Include /etc/httpd24/extra/httpd-mpm.conf #去掉httpd.conf文件中此行前面的#号注释
至此httpd安装结束。
二、安装二进制mysql
软件包:mysql-5.6.17-linux-glibc2.5-x86_64
[root@client ~]# groupadd mysql
[root@client ~]# useradd -g mysql -r -s /sbin/nologin -d /mydata/data
[root@client ~]# mkdir -pv /mydata/data
[root@client ~]# chown mysql.mysql /mydata/data/ -R
[root@client ~]# tar xf mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
[root@client local]# ln -sv mysql-5.6.17-linux-glibc2.5-x86_64 mysql
`mysql‘ -> `mysql-5.6.17-linux-glibc2.5-x86_64‘
[root@client local]# cd mysql
[root@client mysql]# chown -R mysql.mysql .
[root@client mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
[root@client mysql]# chown -R root .
[root@client mysql]# cp my.cnf /etc/my.cnf
[root@client mysql]# vim /etc/my.cnf
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /mydata/data
[root@client mysql]# cp support-files/mysql.server /etc/init.d/mysqld
service mysqld start 尝试启动看看是否成功。
三、安装PHP
软件包:php-5.5.10.tar.bz2 libmcrypt-2.5.7-5.el5.i386.rpm libmcrypt-devel-2.5.7-5.el5.i386.rpm
如果要支持crypt需要安装如下两个包,系统源里没有自带,需要自行下载安装
rpm -ivh libmcrypt-2.5.7-5.el5.i386.rpm libmcrypt-devel-2.5.7-5.el5.i386.rpm
[root@client PHP5.5]# tar xf php-5.5.10.tar.bz2
[root@client PHP5.5]# cd php-5.5.10
[root@client php-5.5.10]# ./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
#这里补充下,我这个编译参数指定了bz2压缩选项,还要安装一下bz2-devel包,系统源自带yum下即可。
还有一点我httpd选择了event模式,
所以php要指定
able-maintainer-zts此参数来配合使用。[root@client php-5.5.10]# make && make install
[root@client php-5.5.10]# cp php.ini-production /etc/php.ini
[root@client php-5.5.10]# vim /etc/httpd24/httpd.conf #编辑此文件增加对php网页的支持
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-httpd-php .php #增加此行
AddType application/x-httpd-php-source .phps #增加此行
<IfModule dir_module>
DirectoryIndex index.html index.php #增加index.php
</IfModule>
编辑一个测试网页,用浏览器访问以便查看是否成功。
[root@client htdocs]# cd /usr/local/apache/htdocs/
[root@client htdocs]# mv index.html index.php
#这是一个查看php内部信息的网页代码。<html>
<?php
phpinfo();
?>
</html>
[root@client htdocs]# vim index.php
#这是查看mysql能否连接的网页代码。<html>
<?php
$link=mysql_connect(localhost,root,‘‘);
if ($link)
echo "Sueccess...";
else
echo "Failure...";
?>
</html>
四、xcache
1.介绍:
动态网页的访问速度要比静态网页低很多,所以一般都会再加一个缓存软件来提高访问的效率。xcache就是这样一个软件。
我笼统的描述下他都做了些什么,这个软件是针对php来工作的。所以要说下php是怎么来进行工作的,我只是简单描绘一下。
PHP执行的过程,顺序向下执行。
1. Scanning ,将PHP代码通过词法分析器转换为语言片段(Tokens)
2. Parsing , 将Tokens转换成简单而有意义的表达式
3. Compilation , 将表达式编译成Opocdes
4. Execution , 顺次执行Opcodes,每次一条,从而实现PHP脚本的功能。
此过程内容引用自《深入理解PHP代码的执行的过程》
有兴趣了解的朋友可以访问此站点http://www.php-internals.com/
我们的xcache就是缓存了第三步中的opcodes,使相同的访问不必进行前三步工作,以提高效率。接下来开始安装。
2.安装
软件包:xcache-3.1.0.tar.gz (因为我用的PHP是5.5.X的版本,所以老的xcache安装会报错。特别去下载了一个最新版的。)
[root@client ~]# tar xf xcache-3.1.0.tar.gz
[root@client ~]# cd xcache-3.1.0
[root@client xcache-3.1.0]# /usr/local/php/bin/phpize
[root@client xcache-3.1.0]# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
[root@client xcache-3.1.0]#make && make install
[root@client xcache-3.1.0]# mkdir /etc/php.d
[root@client xcache-3.1.0]# cp xcache.ini /etc/php.d/
有些教程还写着自修改zend_extension=“XXX”,从3.0版开始xcache已经不使用这种机制了。到此即安装结束,重启httpd服务,查看phpinfo界面(php安装中有写),看看xcache是否加载成功。
本文出自 “心静自然通达” 博客,请务必保留此出处http://bluezombie.blog.51cto.com/1444792/1437610