LAMP是一个缩写,它指一组常用于来搭建动态网站或者服务器的开源软件,包括:Linux操作系统,Apache网络服务器,MySQL数据库,PHPPerl或者 Python编程语言。
LAMP这个特定名词最早出现在1998年。当时,Michael Kunze为德国计算机杂志ct写作的一篇关于自由软件如何成为商业软件替代品的文章时,创建了LAMP这个名词,用来指代LinuxApacheMySQLPHP PerlPython)脚本语言的组合(由四种技术的开头字母组成)。由于IT世界众所周知的对缩写的爱好,Kunze提出的LAMP这一术语很快就被市场接受。OReillyMySQL AB更是在英语人群中推广普及了这个术语。随之LAMP技术成为了开源软件业的一盏真正的明灯。
HTTPD不仅可以支持静态还可以支持动态像php,per1,jsp

HTTPD+PHP之间通信可以通过以下3种方式

1.cgi通用网关接口http 80结合要通过cgi才能连接到外部的程序,而cgi是可以通过php或者per1实现的,cgi也就相当于中介意思。特点:工作效率低,每一次工作都需要派出一个进程来支持两者通信,一但停止fork也就消失。

2.fastcgi 分布式的指两者在进行通信http通过tcp协议于fpm(管理员)9000端口来进行通信,这时候fpm会派生许多进程与外部程序相连接,一但结束,HTTPfpm之间会断,而派生出来的进程与外部程序是不会断的。

3.模块

搭建环境:linux+apache+php+mysql                 lamp只是一种平台

mysql

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。

MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQLSQL语言是用于访问数据库的最常用标准化语言。

MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点, GA一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHPApache可组成良好的开发环境。与其他的大型数据库例如OracleDB2SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

LAMP目前Internet上流行的网站构架方式是LAMP                     (Linux+Apache+MySQL+PHP/Perl/Python

LNMPLinux+Nginx+MySQL+php/perl/Python),即使用Linux作为操作系统,ApacheNginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。

由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站

PHPwww.php.net

PHP原始为Personal Home Page的缩写,现已经正式更名为 "PHP: Hypertext Preprocessor"的缩写。

注意不是Hypertext Preprocessor”的缩写,

这种将名称放到定义中的写法被称作递归缩写。

PHP1994年由Rasmus Lerdorf创建,

刚刚开始是Rasmus Lerdorf 为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。

最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。后来又用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FIPHP/FI 可以和数据库连接,产生简单的动态网页程序。

搭建lamp

首先我们先配置yum

vim/etc/yum.repos.d/rhel-debuginfo.repo

[rhel-server]

name=Red Hat Enterprise Linux server

baseurl=file:///mnt/cdrom/Server

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

安装数据包

yum install httpd mysql-server mysql php php-gd php-mysql

1

004852887.png

打开80端口

server       httpd  start

chkconfig  httpd   on

server   mysql   start               mysql端口号是3306

chkconfig   mysql on 

mysql 设置安全机制

mysqladmin    -u     root    -p   password   ‘ 123’

mysql    –u  root  –p            进入设置密码的数据库需要加上-p选项

create database stu             创建一个名为stu 的数据

show database                   查看已经创建的数据库

use  stu                              打开数据库

create table stu_name (

name varchear(10),

stu_id int);

insert into                           可以往数据库里面添加数据

desc stu_name;                   查看已经创建好的数据表里面的字段信息

\P 退出

说明:httpd80 php是通过模块来连接的,phpmysql是通过php_mysql这个工具来进行连接的,模块:/usr/lib/httpd/modules/libphp5.so.

PHP的配置/etc/httpd/conf.d/php.conf

2

005219865.png

<?php

Phpinfo();

?>

测试:http//192.168.2.100/index.php

Phpmysql结合

测试

vim index.php

<?php

$link=mysql_connect(‘127.0.0.1’,’root’,’123’)   以管理员的身份来调用数据库

If ($link)

echo“ ok”

elso

ehco“not”

?>

应用商城

环境:ECShop_2.7.2_utf8_Relesde0505.zip

unzip    ECShop_2.7.2_utf8_Relesde0505.zip

3

005332778.png

物理目录访问

mv upload//var/www/html/ecshop(ecshop为了方便记忆更改的一个名字)

测试:http://192.168.2.100/ecshop

4

005352369.png

提示:更改目录权限,需要把要求这些权限手动一个一个的更改,不可按递归的方式来更改,免造成不必要的损失

chmod –R a+w cert

chmod –R a+w p_w_picpaths/            注:这里我为了方便快速,采用了递归

chmod –R a+w temp/

chmod –R a+w themes/

chmod –R a+w data 

填写资料

5

005507224.png

重新刷新测试,则进入商城界面。

观察数据库里面数据

mysql –u root –p 123

6

005550208.png

show database

desc                          可以查看表结构

select cat_id,goods_name,shop_price from ecs_goodsecs_goods这个表中筛选商品的名称和本店价格,并且你属于哪个栏目。

set names gbk设置字体

PHOMYADMIN

可以通过PHP来管理数据库里面的数据

环境:phpMyAdmin-2.11.10.1-all-languages.zip

物理目录访问

unzip      phpMyAdmin-2.11.10.1-all-languages.zip

mv         phpMyAdmin-2.11.10.1-all-languages.zip       /var/www/html/phpmyadmin

7

005823871.png

cp –p config.sample.inc.php     config.inc.php            把样例文件拷贝成配置文件

7,1

005810940.png

测试

http://192.168.2.100/phpmyadmin

8

005839483.png

Phpmyadmin中无法加载mcrypt扩展以下是我的处理方法:

环境:php-mcrypt-5.1.6-5.e15.i386.rpm

  libmcrypt-2.5.7-5.e15.i386.rpm

yum localinstall  libmcrypt-2.5.7-5.e15.i386.rpm   php-mcrypt-5.1.6-5.e15.i386.rpm --nogpgcheck

service httpd   restart

这个时候最好把你的浏览器上面的以下缓存,临时文件及安全级别降低一下,重新刷新

9

010110259.png