LAMP
L linux ----系统平台
A apache --------网站前端
M mysql ----网站后台数据库
P php/perl/python ------网站编程语言(中间件服务器)
动态网站的架构(asp/aspx/php/jsp)
1.*.aspx ---> windows + IIS + asp.net + SQLserver
2.*.php --->linux/windows + (apache/nginx/lighttpd)+php+mysql/oracle
3.*.jsp ----->linux/windows + tomcat/weblogic/webshare/jboss + java(jdk) + mysql/oracle
LAMP的工作原理:
1、客户端的所有页面都先会到达LAMP结构中的apache
2、apache根据自己判断哪些是静态页面,哪些是动态页面
3、静态的页面直接由apache自己处理就可以返回结果给客户端
4、如果*.php动态页面apache需要呼叫php中间件服务器来处理
5、在处理php页面的过程中可能需要调用mysql数据来完成页面编译
6、编译完成后的页面回给apache,apache再返回给客户端
client -->LAMP
client-(静态/动态) --> apache(静态)<-->libpgp5.so<--->mysql
源码安装LAMP
1.apache
2.mysql
3.php
######################################################################################
1.apache
解压apache
[root@localhost Desktop]# tar xf apr-1.4.6.tar.gz -C /usr/src/
[root@localhost Desktop]# tar xf apr-util-1.4.1.tar.gz -C /usr/src/ -----这两个是编译httpd时必须用到的包
[root@localhost Desktop]# tar xf httpd-2.4.2.tar.bz2 -C /usr/src/
[root@localhost src] cd /usr/src/apr-1.4.6
[root@localhost apr-1.4.6]# ./configure --prefix=/usr/local/apr && make && make install
[root@localhost apr-1.4.6]# cd ../apr-util-1.4.1/
[root@localhost apr-util-1.4.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ --apr-util 依赖apr包
[root@localhost apr-util-1.4.1] make && make install
[root@localhost apr-util-1.4.1]# cd ../httpd-2.4.2/
[root@localhost httpd-2.4.2]# ./configure --prefix=/opt/httpd --enable-mods-shared=all --enable-auth-digest --enable-rewrite --enable-so --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/
错误 :configure: error: pcre-config for libpcre not found. PCRE is required and availa
把pcre-devel.x86_64这个包装上
[root@localhost httpd-2.4.2]# make && make install
安装完成后
cp /opt/httpd/bin/apachectl /etc/init.d/httpd
sed '9a #chkconfig: 2345 80 80 #加上这句
chkconfig -add httpd -----添加启动
chkconfig httpd on 设置开机启动
/etc/init.d/httpd start
----启动时报错httpd:could not reliably determine ....
vim /opt/httpd/conf/httpd.con ---编辑httpd.conf 然后找到ServerName localhost:80
把前面的#号去了
重新启动
netstat -tnlp | grep :80
httpd如果成功启动 则证明 安装成功.................
###################################################################################
2.mysql安装
mysql-5.5.15源码安装
cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/mysql_data/ -DWITH_INNOBASE_STORAGE_ENGINE=1
-DDEFAULT_CHARSET=utf8 -DMYSQL_TCP_PORT=3308 -DENABLED_LOCAL_INFILE=1 -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=
/tmp/mysql.sock
-DCMAKE_INSTALL_PREFIX=/opt/myql -----指定安装目录
-DMYSQL_DATADIR=/mysql_data ------指定数据目录
-DWITH_INNOBASE_STORAGE_ENGINE=1 -----指定默认存储引擎innodb
-DDEFAULT_CHARSET=utf8 -----指定默认字符编码
-DMYSQL-TCP_PORT=3308 ----指定默认端口
-DENABLED_LOCAL_INFILE=1 -----指定本地是否允许上传数据
-DSYSCONFDIR=/etc ------指定默认配置文件目录
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock -----指定sock的路径
-DDEFAULT_COLLATION=utf8_general_ci ------------排序语言编码(因为忘记+这个参数,导致下面初始化时出现了latin1_swedish_ci is not valid.......错误)
在编译途中缺少了一个ncurses_devle的开发包
安装上之后继续cname是会继续弹出错误,这是需要你手动删除CMajeCache.txt 这个文件,这样才能重新编译。
然后make && make install ---安装
进行初始化
vim /etc/my.cnf
[mysql]
port = 3308
socket = /tmp/mysql.sock
user = mysql
datadir = /mysql_data
basedir = /opt/mysql
pid-file = /mysql_log/mysql.pid
log_error = /mysql_log/mysqlmaster.erro
下一步进行初始化
scripts/mysql_install_db --defaults-file=/etc/my.cnf
cp /support-files/mysql.server /etc/init.d/mysqld
然后编辑 vim !$
basedir=你的软件安装路径
datadir=你的数据目录位置
/etc/init.d/mysqld start ---可以开启证明成功启动
###################################
安装PHP
tar xf php-5.5.3.tar.bz2 -C /usr/src/
cd /usr/src/php-5.5.3
./configure --with-apxs2=/opt/httpd/bin/apxs --with-mysql=/opt/mysql --with-config-file-path=/opt/php5 --prefix=/opt/php5
--with-apxs2=/opt/httpd/bin/apxs --调用apache加载模块支持PHP
--with-mysql=/opt/mysql --调用mysql(mysql软件家目录)
--with-config-file-path=/opt/php5 --指定php自己的配置文件的存放目录
make && make install
检查httpd是否支持PHP页面:
# ls /opt/httpd/modules | grep php
libphp5.so
# grep php /opt/httpd/conf/httpd.conf
LoadModule php5_module modules/libphp5.so
# cp php.ini-dist /opt/php5/php.ini
# vim /opt/httpd/conf/httpd.conf
AddType application/x-httpd-php .php .phtml
DirectoryIndex index.html index.php
<=======php5.5.0===========>
# vim /opt/httpd/conf/httpd.conf --可以添加至httpd.conf中的任意路径(*.php)
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$"> --识别*.phps加密页面
SetHandler application/x-httpd-php-source
</FilesMatch>
DirectoryIndex index.html index.php
<=======php5.5.0===========>
# setenforce 0
# service httpd2 restart
#vim /opt/httpd/htdocs/test.php --使用测试页面看看LAMP整合成功与否
<?php
phpinfo();
?>