简单编译LAMP

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

安装方法:yum groupinstall “Development tools”

一、httpd

1、安装apr

软件包:apr-1.4.6.tar.bz2

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

2、安装apr-until

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

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

3、安装httpd

软件包:httpd-2.4.6.tar.bz2

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

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

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

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

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

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

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

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

  1. [[email protected] php-5.5.10]# vim /etc/httpd24/httpd.conf
  2. # Server-pool management (MPM specific)
  3. Include /etc/httpd24/extra/httpd-mpm.conf

建立头文件链接

  1. [[email protected] apache]# ln -sv /usr/local/apache/include /usr/include/httpd24
  2. `/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. apachectl=/usr/local/apache/bin/apachectl #把路径修改成自己的即可
  3. httpd=${HTTPD-/usr/local/apache/bin/httpd}    #把路径修改成自己的即可
  4. prog=httpd
  5. pidfile=${PIDFILE-/var/run/httpd.pid}   #pid文件位置如需要修改,在/etc/httpd24/extra/httpd-mpm.conf中修改
  6. lockfile=${LOCKFILE-/var/lock/subsys/httpd}   #此处保持即可
  7. RETVAL=0
  8. STOP_TIMEOUT=${STOP_TIMEOUT-10}

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

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

至此httpd安装结束。

二、安装二进制mysql

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

  1. [[email protected] ~]# groupadd mysql
  2. [[email protected] ~]# useradd -g mysql -r -s /sbin/nologin -d /mydata/data
  3. [[email protected] ~]# mkdir -pv /mydata/data
  4. [[email protected] ~]# chown mysql.mysql /mydata/data/ -R
  5. [[email protected] ~]# tar xf mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
  6. [[email protected] 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. [[email protected] local]# cd mysql
  9. [[email protected] mysql]# chown -R mysql.mysql .
  10. [[email protected] mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
  11. [[email protected] mysql]# chown -R root .
  12. [[email protected] mysql]# cp my.cnf /etc/my.cnf
  13. [[email protected] 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. [[email protected] 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. [[email protected] PHP5.5]# tar xf php-5.5.10.tar.bz2
  2. [[email protected] PHP5.5]# cd php-5.5.10
  3. [[email protected] 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. [[email protected] php-5.5.10]# make && make install
  11. [[email protected] php-5.5.10]# cp php.ini-production /etc/php.ini
  12. [[email protected] 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. <IfModule dir_module>
  19. DirectoryIndex index.html index.php                    #增加index.php
  20. </IfModule>

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

  1. [[email protected] htdocs]# cd /usr/local/apache/htdocs/
  2. [[email protected] htdocs]# mv index.html index.php     #这是一个查看php内部信息的网页代码。
  3. <html>
  4. <?php
  5. phpinfo();
  6. ?>
  7. </html>
  8. [[email protected] 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>

四、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安装会报错。特别去下载了一个最新版的。)

  1. [[email protected] ~]# tar xf xcache-3.1.0.tar.gz
  2. [[email protected] ~]# cd xcache-3.1.0
  3. [[email protected] xcache-3.1.0]# /usr/local/php/bin/phpize
  4. [[email protected] xcache-3.1.0]# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
  5. [[email protected] xcache-3.1.0]#make && make install
  6. [[email protected] xcache-3.1.0]# mkdir /etc/php.d
  7. [[email protected] xcache-3.1.0]# cp xcache.ini /etc/php.d/

有些教程还写着自修改zend_extension=“XXX”,从3.0版开始xcache已经不使用这种机制了。到此即安装结束,重启httpd服务,查看phpinfo界面(php安装中有写),看看xcache是否加载成功。

简单编译LAMP

时间: 2024-10-24 22:37:18

简单编译LAMP的相关文章

LAMP的简单编译安装

[二进制安装MariaDB] 1.展开程序 #tar xf mariadb-5.5.32-linux-x86_64.tar.gz -C /usr/local/ 2.进入解压后的文件夹 # cd /usr/local/mariadb-5.5.32-linux-x86_64/ 3.创建数据存放目录 #mkdir -pv /mydata/data 4.创建安全登陆的用户和组 #groupadd -r mysql #useradd -g mysql -r mysql 5.改变数据目录的属主属组 #cho

搭建简单的lamp环境

准备环境:操作系统:CentOS6.5 数据库:mysql-5.1.73 Apache:http-2.2.31 php:php-5.6.15 此例为CentOS6.5 x86_64位系统,下载三个源码包,并保存在/usr/local/src下 mysql:http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-x86_64-glibc23.tar.gz Apache:http://mirrors.cnnic.cn/apache/htt

在CentOS6上使用源码编译LAMP平台

最近在学习重要的Web服务,当然也就少不了很重要的httpd和php.而动态网站必定又会使用数据库如mysql之类的,那么,今天就总结一下最近做的LAMP平台编译实验.具体过程如下. 实验名:在CentOS6上使用源码编译LAMP平台 实验环境:CentOS6.5,安装时选择了使用最多的两个开发包组. 使用系统默认基本yum源+epel6源(aliyun: http://mirrors.aliyun.com/repo/epel-6.repo) 使用源码包:httpd-2.4.9 ;二进制安装包m

编译LAMP部署动态网站环境

title: 编译LAMP部署动态网站环境 date: 2018-11-08 19:08:41 tags: Linux 服务配置 categories: Linux 服务配置 copyright: true --- LAMP动态网站部署架构是由一套 Linux+Apache+MySQL+PHP 组成的动态网站系统解决方案. 以下配置环境为:Linux=RHEL7 --> Apache=2.4.33 --> MySQL=5.5 --> PHP=7.0 无错误版. 安装准备环境 ◆安装gcc

Centos7最小化安装下安装,编译lamp环境

centos7默认的php是5.5,mysql已经变为mariadb,如果想要自定义的配置,需要自己手动来编译配置.以下步骤在公司服务器上已经正常操作过. 1.安装centos7选择基本安装,配置完网络后首先要先关闭firewall: 停止firewall # systemctl stop firewalld.service 禁止firewall开机启动 # systemctl disable firewalld.service 2.安装iptables防火墙 yum方式安装iptables #

Shell脚本自动部署(编译)LAMP平台

Shell脚本自动部署(编译)LAMP平台 LAMP是当下非常流行的一套Web架构,我们可以在GNU/Linux下通过其他人打包的程序包来进行安装; 但是在生产环境中,很多时候都需要我们自己定制安装AMP,编译安装LAMP有以下几个优点 根据生产环境灵活定制程序 优化编译参数,提高性能 解决不必要的软件依赖 友情提示:对编译安装有疑问的朋友, 查看我以前写的博客:教你使用rpm.yum.编译等方式安装软件 点击此处获得更好的阅读体验 为什么要用脚本进行部署? 在很多情况下部署LAMP平台并不止一

树莓派(Raspberry Pi)搭建简单的lamp服务

树莓派(Raspberry Pi)搭建简单的lamp服务: 1. LAMP 的安装 sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql –安装mysql.apache.php sudo chmod 777 /var/www/ –设置web目录的权限 2. phpmyadmin 安装 sudo apt-get install phpmyadmin –安装后选择apache2 3.配置 sudo

Win7 VS2015简单编译FFMPEG播放器FFPlay

Win平台简单编译FFPlay播放器,顺便纪念下雷霄骅,一年前刚学FFMPEG时还看过他的博客,昨晚再次搜FFMPEG文章时才知道人已经走了... 做成了视频放到B站 http://www.bilibili.com/video/av8644322/ C++版本也是可以编译的,只是要修改非常多的C语言转C++的强制类型转换,这个例子是C语言写的,改扩展名为cpp后,有不少cpp关键字的参数要修正,不过基本上花点时间就能解决,没什么难度. 现在主要问题是网上能找到的例子,包括FFPlay都是基于SD

简单编译安装apache2

引 入 CentOS系统的软件管理主要有三种方式,rpm,yum,以及直接源码管理,前面已经详细介绍了rpm以及yum的相关用法,作为运维人员,源码安装有时也是不可避免的,下面,我们就以Apache为例简单介绍一下编译安装. 一. 什么是编译安装 编译:将源代码变为机器可执行的代码文件. 安装:将可执行文件安装到操作系统里. 二. 为什么要编译安装 有些软件,并不能通过例如rpm这种包管理系统安装,这就需要下载源码编译安装. 编译安装可以灵活地定制软件,选择自己需要的,取消自己不需要的. 针对特