标签:linux lamp
大纲:
1. LAMP概念
2. LAMP的原理
3. LAMP的实现
一、LAMP的概念
LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库(mariadb),Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台
2. LAMP的原理
CGi(Common Gateway Interface)是一种协议,定义了客户端(httpd)与服务器(特定的应用程序服务进程)交换数据的一种规范。
工作的流程:
LAMP是一个多C/S架构的平台,最初级为web客户端基于TCP/IP通过http协议发起传送,这个请求可能是动态的,也可能是静态的。所以web服务器通过发起请求的后缀来判断
如果是静态的资源就由web服务器自行处理,然后将资源发给客户端。
如果是动态这时web服务器会通过CGI(CommonGateway interface)协议发起给php。这里但是如果php是以模块形式与Web服务器联系。那么他们是通过内部共享内存的方式。如果是php单独的放置与一台服务器,那么他们是通过sockets套接字监听的方式通信(这又是一个C/S架构)。这时php会相应的执行一段程序,
如果在执行程序时,需要用到数据。那么php就会通过mysql协议发送给mysql服务器(也可以看作是一个C/S架构)。由mysql服务器处理,将数据供给php程序。大概流程如图:
3. LAMP的实现
根据LAMP结合方式不同,大致可以分成三类:
1.php以模块modules的形式结合apache 和mysql(把php编译成httpd的模块,效率不高,但稳定,默认的方式)
2.php以cgi的形式结合 apache 和 mysql,很少用
3.php以fastcgi的形式结合apache 和 mysql
快速部署lamp:
centos 7:(centos6中是不能使用fastcgi的,因为没有 proxy_fcgi_module (shared)模块)
modules方式:程序包:httpd,php,php-mysql,mariadb-server
fastCGI:程序包,httpd,php-fpm,php-mysql,mariadb-server
centos 6:
modules方式:程序包:httpd,php,php-mysql,mysql-server
环境:
CentOS7.2,
php-fpm的方式
关闭selinux和iptables
1.安装
[root@centos7-1 ~]# yum -y install httpd php php-mysql mariadb [root@centos7-1 ~]# systemctl start httpd [root@centos7-1 ~]# systemctl start mariadb
2.测试apache和php之间是否可以联通:
[root@centos7-1 ~]# cd /var/www/html/ [root@centos7-1 html]# vim test.php <?php phpinfo(); ?>
3.测试php是否可以和mysql连接:
[root@www html]# cat index.php <?php $conn = mysql_connect(‘127.0.0.1‘,‘root‘,‘‘); if ($conn) echo ‘success‘; else echo ‘failure‘; ?>
4.安装Discuz应用测试:
[root@centos7-1 ~]# unzip Discuz_X3.2_SC_UTF8.zip [root@centos7-1 ~]# cp -a upload/* /var/www/html
1.浏览器中输入:http://10.1.19.1/upload/
2.按要求修改权限
3
4.创建数据库文件
[root@centos7-1 html]#mysql
MariaDB [(none)]> create database dz;
Query OK, 1 row affected (0.02 sec)
MariaDB [(none)]> grant all on dz.* to ‘dzuser‘@‘localhost‘ identified by ‘dzpass‘;
Query OK, 0 rows affected (0.39 sec)
MariaDB [(none)]> grant all on dz.* to ‘dzuser‘@‘127.0.0.1‘ identified by ‘dzpass‘;
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.09 sec)
4.测试,在右下角有下图即成功
本文出自 “mylinux” 博客,请务必保留此出处http://luxiangyu.blog.51cto.com/9976123/1870392
标签:linux lamp
原文地址:http://luxiangyu.blog.51cto.com/9976123/1870392