LAMP 指的Linux (操作系统)、 ApacheHTTP 服务器, MySQL (数据库软件) 和PHP (有时也是指Perl 或 Python) 的第一个字母,一般用来建立的web 服务器。
Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
安装时也有一定的顺序:httpd --> MySQL --> php,因为httpd需要和mysql结合,
一,Apache的安装
安装前首先确认httpd卸载了,使用rpm -e httpd;
Apache作为一款知名的开源软件,它是支持多道任务处理(MPM),httpd2.2的MPM默认使用的是prefork(一个进程处理一个请求),我们安装时使用httpd2.4他的默认MPM是event(一个进程处理多个请求),Apache也可以在windows上安装,而Apache是由C开发的无法做到Java那样依靠虚拟机跨平台移植,因此需要安装一个可移植运行库apr(Apache Portable Runtime),百度去官网下载.
1,tar zxvf apr-1.5.1.tar.gz
2,cd apr-1.5.1
3,./configure --prefix=/usr/local/apr -----指定apr的安装路径
4,tar apr-util-1.5.1.tar.gz
5,cd apr-util-1.5.1
6,./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --指定apr-util的路径并且依赖于apr
7,tar zxvf httpd-2.4.12.tar.gz
8,cd httpd-2.4.12
9,./configure--prefix=/usr/local/apache --sysconfdir=/etc/apache/httpd --enable-so
--enable-ssl --enable-rewrite --enable-cgi --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
指定安装路径和配置文件路径
--enable-so 允许运行时加载DSO模块
--enable-ssl 允许使用https功能
--enable-rewrite 支持URL重写
--enable-cgi 允许使用cgi脚本
--enable-cgid 支持带线状图形的cgi脚本
--enable-modules=most 启用大多数常用的模块
--enable-mpm-shared=most 启用MPM所有支持的所有模式
--enable-mods-shared=most 支持绝大多数模块共享
它的参数很多,使用./configure --help查看
2.4好后我们可以在prefork模式和event模式之间来回切换
仿照LoadModule mpm_event_module modules/mod_mpm_event.so,将这一行的event换为prefork,将又回到prefork模型。
但是我们的PATH环境变量和man手册都没有更改,因此手动修改
vim /etc/man.config中添加下面的一行
vim /etc/profile.d/httpd.sh(自己命名,但是必须以.sh结尾)写入下面的内容
完了后,执行命令: source /etc/profile.d/httpd.sh
但是还没有一个启动脚本,我们复制/usr/local/apache/bin/apachectl 为/etc/init.d/httpd,apachectl这个脚本支持的参数比较少,需要的话自行修改.
二,安装MySQL
在官网下载通用二进制格式的,也就是编译好的,只需要进行简单的配置就可以使用的.
1,首先解压: tar zxvf mysql-version.tar.gz -C /usr/local
2,进入到目录后,创建软连接: ln -sv mysql-version mysql
3,里面有一个文件 INSTALL-BINARY,使用vim打开后里面有具体的安装方法,由于数据是动态增长的,因此单独分区使用LVM来存储数据(data)
4,groupadd-g 36 mysql
5,useradd -g 36 -u 36 -r mysql
6,chown mysql.mysql -R .
7, scripts/mysql_install_db --user=mysql --datadir=/mysql/data
8, chown -R root .
9,chown -R mysql /mysql/data
10, 将support-files文件中的以.cnf文件结尾的文件(具体是哪个文件,请用vim挨个打开上面有根据内存所使用的说明)复制到/etc/为my.cnf
11,然后在my.cnf文件里面的[mysqld]下面添加datadir=/mysq/data
12,cp support-files/mysql.server /etc/init.d/mysqld
13,chkconfig --add mysqld
14,就可以重启了:/etc/init.d/mysqld start
15,最后将库文件与命令写入文件中.
三,安装php
到官网下载php的源代码,使用php 5.4的版本,php编译会产生一个叫opcode的字节码,然后执行这个字节码得到结果。我们可能访问一个php页面多次,因此每次都编译很费时,所以使用xcache来缓存下来,加速我们的访问.
1,tar zxvf php-5.4.39.tar.gz
2,cd php-5.4.39
3,安装libxml2-devel,bzip2-devel
4,
./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(编译成apache的模块) --with-mcrypt --with-config-file-path=/etc/ \
--with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts(apache的mpm如果是prefork就不需要,event和worker需要)
--with-mysql=/usr/local/mysql 提取存取MySQL,对MySQL的支持
--with-mysqli=/usr/local/mysql/bin/mysql_configmysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定
--enable-mbstring多字节,字符串的支持
--with-freetype-dir打开对freetype字体库的支持
--with-jpeg-dir打开对jpeg图片的支持
--with-png-dir 打开对png图片的支持
--with-zlib打开对zlib文件的支持
--with-libxml-dir=/usr 打开libxml库的支持
--enable-xml 打开xml的支持
--enable-sockets打开 sockets 支持
--with-mcrypt 支持mcrypt算法的扩展
--with-config-file-path=/etc/ 配置文件路径
-with-config-file-scan-dir=/etc/php.d 表示/etc/php.d 目录下的文件都是php的配置问件
--with-bz2 打开对bzip2文件的支持
如果显示mcrypt有错误的话,请到rpmfind.net这个网站上去下载libmcrypt , libmcrypt-devel , mhash , mhash-devel 对应的系统平台
5, cp php.ini-production /etc/php.ini,php也就完成了
四, xcache的安装
到 http://xcache.lighttpd.net/上下载xcache。
1,tar zxvf xcache-2.0.1.tar.gz
2,cd xcache-2.0.1
3, /usr/local/php/bin/phpize,确保autoconf安装了,如果没有的话:yum install autoconf
4, ./configure --enable-xcache -with-php-config=/usr/local/php/bin/php-config
5, 在xcache安装目录下:cp xcache.ini /etc/php.d
6, 执行完make install 回生成一个路径后面跟着一个文件,然后根据这个路径修改xcache.ini文件,修改zend_extension后面的即为make install后的路径.
至此LAMP架构就完成了!
php与Apache结合有三种方式:1,模块 2,cgi 3,fastcgi,上述是将php编译为Apache的模块.