Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 专题 > Citrix Xen > 正文

编译LAMP

时间:2014-07-14 21:03 来源:未知 作者:www.51ou.com 阅读:

前期准备,需要安装开发工具包

安装方法:yum groupinstall “Development tools”

一、httpd

   1、安装apr

    软件包:apr-1.4.6.tar.bz2

  1. [root@client httpd]# tar xf apr-1.4.6.tar.bz2
  2. [root@client httpd]# cd apr-1.4.6
  3. [root@client apr-1.4.6]# ./configure --prefix=/usr/local/apr14
  4. [root@client apr-1.4.6]# make && make install

2、安装apr-until

   软件包:apr-util-1.4.1.tar.bz2

  1. [root@client httpd]# tar xf apr-util-1.4.1.tar.bz2
  2. [root@client httpd]# cd apr-util-1.4.1
  3. [root@client apr-util-1.4.1]# ./configure --prefix=/usr/local/apr-until --with-apr=/usr/local/apr14
  4. [root@client apr-util-1.4.1]#make && make install

3、安装httpd

    软件包:httpd-2.4.6.tar.bz2

  1. [root@client httpd]# yum install pcre-devel     # 还需要pcre-devel包的支持,提前安装下
  2. [root@client httpd]# yum install openssl-devel     #因为启用了openssl,所以还需要安装openssl-devel包。
  1. [root@client httpd]# tar xf httpd-2.4.6.tar.bz2
  2.  
  3. [root@client httpd]# cd httpd
  4.  
  5. [root@client httpd]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi
  6. --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most
  7. --enable-mpms-shared=all --with-mpm=event
  8. [root@client httpd]# make && make install

配置可以由系统控制的服务脚本,可以用其他机器安装过的文件来替代,只需修改一下路径即可。我就用之前安装过httpd服务的脚本复制到/etc/init.d/httpd,

然后稍微做些修改。主要是这个路径,改成我们自己的即可。

  1. # Path to the apachectl script, server binary, and short-form for messages.
  2.  
  3. apachectl=/usr/local/apache/bin/apachectl
  4.  
  5. httpd=${HTTPD-/usr/local/apache/bin/httpd}
  6.  
  7. prog=httpd
  8.  
  9. pidfile=${PIDFILE-/var/run/httpd.pid}
  10.  
  11. lockfile=${LOCKFILE-/var/lock/subsys/httpd}

特别要提到的就是这个Pid文件,此文件默认在安装目录下的/logs/中。如果想修改需要更改如果几个位置。

首先要修改httpd-mpm.conf里的pidfile位置

  1. [root@client php-5.5.10]# vim /etc/httpd24/extra/httpd-mpm.conf
  2.  
  3. #
  4.  
  5. # Server-Pool Management (MPM specific)
  6.  
  7. #
  8.  
  9. #
  10.  
  11. # PidFile: The file in which the server should record its process
  12.  
  13. # identification number when it starts.
  14.  
  15. #
  16.  
  17. # Note that this is the default PidFile for most MPMs.
  18.  
  19. #
  20.  
  21. PidFile "/var/run/httpd.pid"

之后还要在主配置文件(httpd.conf)中启用httpd-mpm.conf

  1. [root@client php-5.5.10]# vim /etc/httpd24/httpd.conf
  2.  
  3. # Server-pool management (MPM specific)
  4.  
  5. Include /etc/httpd24/extra/httpd-mpm.conf

建立头文件链接

  1. [root@client apache]# ln -sv /usr/local/apache/include /usr/include/httpd24
  2.  
  3. `/usr/include/httpd24' -> `/usr/local/apache/include'

配置启动服务脚本,可以直接获取其他机器用yum安装的脚本,将httpd文件复制到/etc/init.d下。然后加以修改

  1. # Path to the apachectl script, server binary, and short-form for messages.
  2.  
  3. apachectl=/usr/local/apache/bin/apachectl #把路径修改成自己的即可
  4.  
  5. httpd=${HTTPD-/usr/local/apache/bin/httpd}    #把路径修改成自己的即可
  6.  
  7. prog=httpd
  8.  
  9. pidfile=${PIDFILE-/var/run/httpd.pid}   #pid文件位置如需要修改,在/etc/httpd24/extra/httpd-mpm.conf中修改
  10.  
  11. lockfile=${LOCKFILE-/var/lock/subsys/httpd}   #此处保持即可
  12.  
  13. RETVAL=0
  14.  
  15. STOP_TIMEOUT=${STOP_TIMEOUT-10}

如需要改变pid文件的位置,则修改httpd-mpm.conf,修改好后,还需要再主配置文件中启用此配置文件

  1. PidFile "/var/run/httpd.pid"
  2.  
  3. # Server-pool management (MPM specific)
  4.  
  5. Include /etc/httpd24/extra/httpd-mpm.conf    #去掉httpd.conf文件中此行前面的#号注释

至此httpd安装结束。

二、安装二进制mysql

软件包:mysql-5.6.17-linux-glibc2.5-x86_64

  1. [root@client ~]# groupadd mysql
  2. [root@client ~]# useradd -g mysql -r -s /sbin/nologin -d /mydata/data
  3. [root@client ~]# mkdir -pv /mydata/data
  4. [root@client ~]# chown mysql.mysql /mydata/data/ -R
  5. [root@client ~]# tar xf mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
  6. [root@client local]# ln -sv mysql-5.6.17-linux-glibc2.5-x86_64 mysql
  7. `mysql' -> `mysql-5.6.17-linux-glibc2.5-x86_64'
  8. [root@client local]# cd mysql
  9. [root@client mysql]# chown -R mysql.mysql .
  10. [root@client mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
  11. [root@client mysql]# chown -R root .
  12. [root@client mysql]# cp my.cnf /etc/my.cnf
  13. [root@client mysql]# vim /etc/my.cnf
  14. # These are commonly set, remove the # and set as required.
  15. basedir = /usr/local/mysql
  16. datadir = /mydata/data
  17. [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

  1. [root@client PHP5.5]# tar xf php-5.5.10.tar.bz2
  2. [root@client PHP5.5]# cd php-5.5.10
  3. [root@client php-5.5.10]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl
  4. --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir
  5. --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets
  6. --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc
  7. --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
  8. #这里补充下,我这个编译参数指定了bz2压缩选项,还要安装一下bz2-devel包,系统源自带yum下即可。
  9. 还有一点我httpd选择了event模式,所以php要指定able-maintainer-zts此参数来配合使用。
  10. [root@client php-5.5.10]# make && make install
  11. [root@client php-5.5.10]# cp php.ini-production /etc/php.ini
  12. [root@client php-5.5.10]# vim /etc/httpd24/httpd.conf              #编辑此文件增加对php网页的支持
  13. # If the AddEncoding directives above are commented-out, then you
  14. # probably should define those extensions to indicate media types:
  15. #
  16. AddType application/x-httpd-php .php                   #增加此行
  17. AddType application/x-httpd-php-source .phps           #增加此行
  18.  
  19. <IfModule dir_module>
  20. DirectoryIndex index.html index.php                    #增加index.php
  21. </IfModule>

编辑一个测试网页,用浏览器访问以便查看是否成功。

  1. [root@client htdocs]# cd /usr/local/apache/htdocs/
  2. [root@client htdocs]# mv index.html index.php     #这是一个查看php内部信息的网页代码。
  3. <html>
  4. <?php
  5. phpinfo();
  6. ?>
  7. </html>
  8. [root@client htdocs]# vim index.php               #这是查看mysql能否连接的网页代码。
  9. <html>
  10. <?php
  11. $link=mysql_connect(localhost,root,'');
  12. if ($link)
  13. echo "Sueccess...";
  14. else
  15. echo "Failure...";
  16. ?>
  17. </html>
  18.  

四、xcache

1.介绍:

动态网页的访问速度要比静态网页低很多,所以一般都会再加一个缓存软件来提高访问的效率。xcache就是这样一个软件。

    我笼统的描述下他都做了些什么,这个软件是针对php来工作的。所以要说下php是怎么来进行工作的,我只是简单描绘一下。

  PHP执行的过程,顺序向下执行。

1. Scanning  ,将PHP代码通过词法分析器转换为语言片段(Tokens)  2. Parsing , 将Tokens转换成简单而有意义的表达式  3. Compilation , 将表达式编译成Opocdes  4. Execution , 顺次执行Opcodes,每次一条,从而实现PHP脚本的功能。

此过程内容引用自《深入理解PHP代码的执行的过程》

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《编译LAMP》技术文章,《编译LAMP》详细使用和说明,有时《编译LAMP》可能不完善、敬请谅解!如果《编译LAMP》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(1)
100%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片