LAMP平台架构浅析
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页面。在页面中输入下面的代码:
- <?php
- phpinfo();
- ?>
5、测试
这是php的信息页面。此时说明php也安装成功。
6、安装包时我们还安装了一个与MYSQL连接的包,那么现在演示php如何与mysql连接。
在此修改上述的index.html网页。修改它为:
- <?php
- $link=mysql_connect('localhost','root','123456');
- if ($link)
- echo "Success...";
- else
- echo "Failure";
- mysql_close();
- ?>
测试网页:
结果表明连接成功。
至此,LAMP已成功建立。此时便可以在LAMP平台上安装相应的软件,如数据库管理软件phpMyAmin,日志管理软件Awstats等等。博文中也对这两种软件的安装做了详细的讲解,希望可以起到很好的参考作用。
转载于:https://blog.51cto.com/yuan00/924282
LAMP平台架构浅析相关推荐
- 大数据平台架构浅析——以讯飞大数据平台Odeon为例
文章目录 大数据平台架构解析--以讯飞大数据平台Odeon为例 定义 功能 数据采集 数据开发 数据分析 数据编程 补充 大数据平台架构解析--以讯飞大数据平台Odeon为例 定义 Odeon大数据平 ...
- WEB平台架构之:LAMP(Linux+Apache+MySQL+PHP)
WEB平台架构之:LAMP(Linux+Apache+MySQL+PHP) 从业界来看,最主流的web平台架构就当属LAMP了.LAMP架构可以说是一切web平台的基础架构,所有一切的所谓大型架 ...
- linux lamp架构部署,Centos7部署LAMP平台之架构之路
部署lamp平台搭建 一.源码安装lamp 1.安装apache [root@localhost ~]# yum -y install gcc* apr-devel apr-util-devel pc ...
- 编译安装LAMP及分离式LAMP平台构建
前言 LAMP网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl.PHP或者Python编程语言,所有组成产品均是开源软件,是国际上 ...
- LAMP平台部署及应用
1.LAMP平台概述: LAMP架构是目前应用最为成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境. LAMP的含义:Linux操作系统.A ...
- 百度交易中台之账房系统架构浅析
导读:百度交易中台作为集团移动生态战略的基础设施,面向收银交易与清分结算场景,为赋能业务提供高效交易生态搭建.目前支持百度体系内多个产品线,主要包含:小程序,地图打车,百家号,招财猫,好看视频等.本文 ...
- 构建LAMP平台及应用系统
LANP架构指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境.LAMP是一个缩写词,具体包括linux操作系统.apache网站服务器.mysql数据库服务器.PHP( ...
- LAMP网站架构简介
LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl.PHP或者Python编 ...
- 云计算学习笔记005---Hadoop HDFS和MapReduce 架构浅析
Java技术qq交流群:JavaDream:251572072 Hadoop HDFS和MapReduce 架构浅析 前言 Hadoop是一个基于Java的分布式密集数据处理和数据分析的软件框架.Ha ...
最新文章
- 吴恩达《深度学习》第四门课(2)卷积神经网络:实例探究
- linux上使用strace查看C语言级别的php源码【一种方法】
- Java 工程师必须掌握的 JVM 类加载机制!
- 重载自增++和自减--运算符
- 自学python推荐书籍同时找哪些来实践-想学习Python爬虫,但是找不到电子书或者不知道找什么资料...
- go语言实现简易ftp客户端
- 【Java 虚拟机原理】堆区 | Java VisualVM 工具
- JavaScript类型判断
- Python中sort与sorted函数
- C++中全局函数和局部函数的关系
- 郭明錤:全新设计AirPods Pro2将于2022年末推出
- java parseexception_java date类parseException问题
- Linux下的文件共享全攻略系列之二:NFS快速配置教程与安全策略
- php操作excel表格的导入和导出
- 启明星数据库批量备份与还原工具
- java实现 GB35114 sip AuthorizationHeader遇到的一个小坑
- 卡方 matlab,用matlab算卡方值
- 网络号、主机号、子网号--例题
- Anroid Studio开发---日记本App
- 中医药大学计算机考试题,浙江中医药大学2013年级研究生《计算机应用》期末考试复习题...
热门文章
- linux pipe 文件,Linux系统常用指令、管道(pipe)、文件查找(find)
- java web tcp长连接超时时间_常用java web容器http长连接超时设置
- mysql 5.6 生产my.cnf_一个生产可用的mysql参数文件my.cnf
- poj 1724ROADS(bfs和dfs做法)
- Dijkstra算法优先队列实现与Bellman_Ford队列实现的理解
- python能和wincc一起用_搬家第二天-41.Wincc V7.3 利用Inputbox和Msgbox做权限管理和二次确认设计...
- python利用matplotlib做饼图_python利用matplotlib库绘制饼图的方法示例
- android 实例源码解释,Android Handler 原理分析及实例代码
- java编写一个集合类_Java集合类
- Qt图形界面编程入门(Qt的历史、Qt安装资源链接、Qt Creator简介)