LAMP架构

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();
?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值