LAMP是一个缩写,它指一组常用于来搭建动态网站或者服务器的开源软件,包括:Linux操作系统,Apache网络服务器,MySQL数据库,PHP、Perl或者 Python编程语言(本文以php为例)。

下面就介绍一下如何基于rpm包的形式构建LAMP。

前提简介:本例是使用虚拟机完成的。虚拟机IP地址为:192.168.0.72。物理主机IP为192.168.0.237。

一、安装Apache网络服务
        1、下载Apache软件包。它的包名为:httpd

2、安装软件包

#yum -y install httpd

3、关闭SELinux后,启动httpd服务
        
           #service  httpd  start

4、在浏览器中测试。

只需在浏览器中输入http://192.168.0.72即可。服务启动后会自动搜索并运行网页文件中以ingdex.html命名的文件。如果没有配置相应的index.html文件,则会显示默认的欢迎页面。如下所示:
    

此时说明web服务安装成功。

5、配置文件

web服务的配置文件至关重要。我们所做的每一步都依赖于配置文件,如建立路径别名,CGI别名,虚拟主机等都需要在配置文件中进行说明。web的配置文件有两个:一个是在/etc/httpd/conf.d/路径下的所有以.conf结尾的文件;另一个是/etc/httpd/conf/httpd.conf。而且后者为主配置文件。下面就介绍一下主配置文件中比较重要的参数。

主配置文件主要分为三段:

### Section 1: Global Environment                //全局配置段
     ### Section 2: 'Main' server configuration       //主配置段
     ### Section 3: Virtual Hosts                          //虚拟主机段

A.在全局配置段中主要的参数有以下几个:

ServerRoot "/etc/httpd"                    //定义了httpd服务的工作路径,默认在/etc/httpd
       Timeout 120                                    //设置超时时间
       KeepAlive Off                                 //定义是否开启长连接
       KeepAliveTimeout 1                        //长连接的超时时间
       MaxKeepAliveRequests 100            //最大长连接请求数目
       Listen   80                                        //监听的地址和端口

另外, 它还定义了MPM、如何加载Apache模块等。

B.主配置段

(1)DocumentRoot选项指定网页文件的所在位置,默认在/var/www/html目录下

(2)每目录的属性配置即<Directory  "path"></Directory>。在这个目录中定义了path中文件的许多重要属性。httpd的默认网页文件path为/var/www/html。
       Options选项后跟参数有:         
            Indexes : 当没有主页面时,是否允许显示其他页面
            FollowSymLink :是否跟踪连接(最好关闭)
            ExecCGI:是否允许在当前目录中执行CGI
            MultiViews:最好关闭影响服务器性能 
            none:不设置

如若此项的设置为:Options indexes FollowSymLinks。查看/var/www/html目录下的文件:
     

此时可知/var/www/html目录中没有index.html文件,而且还有一个链接文件。在浏览中访问web服务。
    

此时显示了网页文件中的所有文件,这就是indexes的效果。但这是很不安全的,所以最好不要开启此项。再验证一下 FollowSymLink的效果。


    当访问test链接时显示了aa.html的内容。这也是很不安全的选项。所以none参数就刚好可以派上用场了。把OPtions设置为none。再次查看效果。

这就是none的效果。其他几个参数不再做演示。下面接着说每目录中的指令。

Order  allow deny选项定义了简单的访问控制。allow和deny是两个参数,两者位置可以调换。但位置靠后者为默认设置。
          Allow from :后跟网段或主机,表示允许谁访问。其中all表示所有。
          Deny from:同上

AllowOverride选项定义了是否允许覆盖。覆盖的就是上述列出的控制
          none :不覆盖
          AuthConfig :基于账号密码的方式访问。做认证时可以用到。

还可定义认证访问。
        AllowOverride  AuthConfig:说明输入账号密码才能登陆
        AuthType  Basic:任何的方式为Basic
        AuthName  "stuff  only":认证名字
        AuthUserFile   /etc/httpd/conf/.htpasswd:用户账号密码的存放文件的位置
        Require  valid-user:可以访问的用户

每目录中可以定义选项基本如此。下面介绍主配置段的其他选项

(3)自定义定义日志格式

LogFormat   
               referer:记录访问入口,即访问的来源是哪里
          CustomLog    访问日志,自定义日志
               combined,common,agent:定义日志的格式
           ErrorLog    错误日志

(4)定义可路径别名和CGI别名:Alias,ScriptAlias

此内容详见博文“如何建立路径别名”。

(5) HostnameLookups:是否允许名称解析

(6) DirectoryIndex:定义服务器识别的目录默认主页

默认为: DirectoryIndex index.html  index.html.var,系统会自动搜索第一个网页,找不到后再找第二个。所以它们有先后次序。

(7)EnableSendfile  On:是否允许Sendfile。其实就是当web请求文件时,内核直接把请求的内容提交给web,而不是再次转交给用户空间。此项大大提高了系统性能。建议开启。

还有很多选项,但是不常用,在此就不多做介绍。下面介绍虚拟主机段。

C、虚拟主机段
     在创建虚拟主机时,需把DocumentRoot注释掉。详细描述在“轻松创建虚拟主机”博文中。

二、安装MYSQL
        MYSQL的运行进程为mysqld,它监听在tcp协议的3306端口上。

1、下载MYSQL软件包。它分为客户端包和服务器端包。
        2、安装软件包

#yum -y install mysql mysql-server

3、启动mysql服务。

#service mysqld start

此时查看系统网络状态便可发现mysqld进程。
  

4、使用mysql命令查看数据。首次使用mysql命令会产生许多配置信息。之后便会进入命令行界面:
   
     此时便可使用管理数据库的相应命令进行管理。

5、MYSQL已安装成功。

三、安装php

1、下载php软件包。本例以php53.i386为例,另外还安装了两个扩展包php53-mbstring.i386和php53-mysql.i386。这两个包前者提供语言转换功能,后者则负责与MYSQL连接。

2、安装包

#yum -y install  php53.i386 php53-mysql.i386 php53-mbstring.i386

3、安装完后,重启web服务。

4、在/var/www/html目录下创建一个index.php页面。在页面中输入下面的代码:

  1. <?php
  2. phpinfo();
  3. ?>

5、测试
    

这是php的信息页面。此时说明php也安装成功。

6、安装包时我们还安装了一个与MYSQL连接的包,那么现在演示php如何与mysql连接。

在此修改上述的index.html网页。修改它为:

  1. <?php
  2. $link=mysql_connect('localhost','root','123456');
  3. if ($link)
  4. echo "Success...";
  5. else
  6. echo "Failure";
  7. mysql_close();
  8. ?>

测试网页:
   

结果表明连接成功。

至此,LAMP已成功建立。此时便可以在LAMP平台上安装相应的软件,如数据库管理软件phpMyAmin,日志管理软件Awstats等等。博文中也对这两种软件的安装做了详细的讲解,希望可以起到很好的参考作用。

转载于:https://blog.51cto.com/yuan00/924282

LAMP平台架构浅析相关推荐

  1. 大数据平台架构浅析——以讯飞大数据平台Odeon为例

    文章目录 大数据平台架构解析--以讯飞大数据平台Odeon为例 定义 功能 数据采集 数据开发 数据分析 数据编程 补充 大数据平台架构解析--以讯飞大数据平台Odeon为例 定义 Odeon大数据平 ...

  2. WEB平台架构之:LAMP(Linux+Apache+MySQL+PHP)

    WEB平台架构之:LAMP(Linux+Apache+MySQL+PHP)    从业界来看,最主流的web平台架构就当属LAMP了.LAMP架构可以说是一切web平台的基础架构,所有一切的所谓大型架 ...

  3. linux lamp架构部署,Centos7部署LAMP平台之架构之路

    部署lamp平台搭建 一.源码安装lamp 1.安装apache [root@localhost ~]# yum -y install gcc* apr-devel apr-util-devel pc ...

  4. 编译安装LAMP及分离式LAMP平台构建

    前言 LAMP网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl.PHP或者Python编程语言,所有组成产品均是开源软件,是国际上 ...

  5. LAMP平台部署及应用

    1.LAMP平台概述: LAMP架构是目前应用最为成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境. LAMP的含义:Linux操作系统.A ...

  6. 百度交易中台之账房系统架构浅析

    导读:百度交易中台作为集团移动生态战略的基础设施,面向收银交易与清分结算场景,为赋能业务提供高效交易生态搭建.目前支持百度体系内多个产品线,主要包含:小程序,地图打车,百家号,招财猫,好看视频等.本文 ...

  7. 构建LAMP平台及应用系统

    LANP架构指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境.LAMP是一个缩写词,具体包括linux操作系统.apache网站服务器.mysql数据库服务器.PHP( ...

  8. LAMP网站架构简介

    LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl.PHP或者Python编 ...

  9. 云计算学习笔记005---Hadoop HDFS和MapReduce 架构浅析

    Java技术qq交流群:JavaDream:251572072 Hadoop HDFS和MapReduce 架构浅析 前言 Hadoop是一个基于Java的分布式密集数据处理和数据分析的软件框架.Ha ...

最新文章

  1. 吴恩达《深度学习》第四门课(2)卷积神经网络:实例探究
  2. linux上使用strace查看C语言级别的php源码【一种方法】
  3. Java 工程师必须掌握的 JVM 类加载机制!
  4. 重载自增++和自减--运算符
  5. 自学python推荐书籍同时找哪些来实践-想学习Python爬虫,但是找不到电子书或者不知道找什么资料...
  6. go语言实现简易ftp客户端
  7. 【Java 虚拟机原理】堆区 | Java VisualVM 工具
  8. JavaScript类型判断
  9. Python中sort与sorted函数
  10. C++中全局函数和局部函数的关系
  11. 郭明錤:全新设计AirPods Pro2将于2022年末推出
  12. java parseexception_java date类parseException问题
  13. Linux下的文件共享全攻略系列之二:NFS快速配置教程与安全策略
  14. php操作excel表格的导入和导出
  15. 启明星数据库批量备份与还原工具
  16. java实现 GB35114 sip AuthorizationHeader遇到的一个小坑
  17. 卡方 matlab,用matlab算卡方值
  18. 网络号、主机号、子网号--例题
  19. Anroid Studio开发---日记本App
  20. 中医药大学计算机考试题,浙江中医药大学2013年级研究生《计算机应用》期末考试复习题...

热门文章

  1. linux pipe 文件,Linux系统常用指令、管道(pipe)、文件查找(find)
  2. java web tcp长连接超时时间_常用java web容器http长连接超时设置
  3. mysql 5.6 生产my.cnf_一个生产可用的mysql参数文件my.cnf
  4. poj 1724ROADS(bfs和dfs做法)
  5. Dijkstra算法优先队列实现与Bellman_Ford队列实现的理解
  6. python能和wincc一起用_搬家第二天-41.Wincc V7.3 利用Inputbox和Msgbox做权限管理和二次确认设计...
  7. python利用matplotlib做饼图_python利用matplotlib库绘制饼图的方法示例
  8. android 实例源码解释,Android Handler 原理分析及实例代码
  9. java编写一个集合类_Java集合类
  10. Qt图形界面编程入门(Qt的历史、Qt安装资源链接、Qt Creator简介)