1、LAMP的简介
LAMP架构是目前成熟的企业网站应用模式之一,
LAMP——指的是协同工作的一整套系统和相关软件,
它能够提供Web站点服务及其应用开发环境。
注:LAMP具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、
PHP网页编程语言。
在构建LAMP平台时,各组件的安装顺序依次为Linux、Apache、MySQL、PHP(PHP的安装一般放置在最后,负责沟通Web服务器和数据库系统以协同工作)
2、Apache网站服务基础
Apache服务可以运行在Linux、Unix、Windows等多种操作系统平台中。
2.1 Apache的主要特点:
(1)开放源代码
(2)跨平台应用
(3)支持各种Web编程语言(可支持Perl、PHP、Python、Javad等)
(4)模块化设计
(5)良好的安全性
2.2 安装httpd服务器
在配置Apache网站服务之前,需要正确安装好httpd服务器软件。
注:httpd服务器的安装可以选用rpm安装、源码编译安装这两种方式。
在实际的生产环境中,使用源码编译安装的方式更加普遍。
(1)准备工作
先关闭防火墙,并且设置防火墙开机自启。
为了避免端口冲突、程序冲突等现象,建议先检查是否用rpm方式安装有httpd,
如果有,卸载使用RPM 方式安装的 httpd,并且编译安装之前需要先安装依赖软件。
(2)配置
注:--prefix 制定程序的安装目录;
--enable-so 启用动态加载模块DSO的支持,使httpd具备进一步扩展功能的能力;
--enable-rewrite 启用网页地址重写功能(用于网站优化)
--enable-charset-lite 启动字符集支持,以便支持使用各种字符集编码的网页;
--enable-cgi 启用cgi脚本支持,扩展网站的应用访问能力
补充:DSO是DynamicSharedObjects(动态共享目标)的缩写,它是现代Unix派生出来的操作系统都存在着的一种动态连接机制。它提供了一种在运行时将特殊格式的代码,在程序运行需要时,将需要的部分从外存调入内存执行的方法。
(3)编译及安装
(4)确认安装结果
(5)优化执行路径
(6)添加httpd系统服务
注:对于第三行的代码Before/After,
要是一个服务 Before 另一个服务,那么在并行启动时(Systemd 总是用进程 0 并行启动所有东西,然后通过这两个标记来二次等待排序),那另一个服务这时就会等这个服务先启动并返回状态,注意是先启动而不是启动成功,因为失败也是一种状态,一定要成功才启动另一个服务是通过依赖关系定义的。反之 After 亦然。After=network.target 指的是后于network服务启动。
对于第5行代码,服务的启动方式,有fork方式和simple方式forking的方式在启动程序后会调用 fork() 函数,把必要的通信频道都设置好之后父进程退出,留下守护的子进程。
WantedBy=multi-user.target 指定运行级别。
2.3 对httpd服务器进行基本的配置:
(1)先确定网站名称、IP地址
(2)配置httpd服务
找到SeverName那一行,按下图中进行修改:
然后退出vim编辑器,并执行下图中的命令:
(3)启动httpd服务
(4)部署网页文档
(5)在客户机上访问Web站点
来到102主机上,先打开它的hosts文件,然后添加域名,如下图:
然后退出vim编辑器,并用curl命令访问一下:
注:然后我们可以回到101主机上(即作服务器的那个主机上),查看一下Web站点的访问情况:
2.4 构建虚拟Web主机
2.4.1 基于域名的虚拟主机
(1)首先为虚拟主机提供域名解析(两个域名)
来到101(作服务器的主机上),打开它的hosts文件,然后按下图添加信息:
(2)为虚拟主机准备网页文档(两个网站,所以应该准备两个网页文档)
首先为存放网页文档的地方,创建目录:
然后准备两个网页的输出内容:
(3)添加虚拟主机上的配置(在101主机上实现)
先打开虚拟主机101的配置文件,然后按下图添加信息:
然后再打开httpd服务的配置文件,找到其中的Include conf/extra/httpd-vhosts.conf那一行,并把它前面的注释符去掉:
然后退出vim编辑器,重启一下httpd服务:
(4)在客户机102上访问虚拟Web主机
先用vim编辑器,在102主机的hosts文件里,添加这两个域名及其所对应的IP地址:
然后用curl访问一下这两个域名:
上图显示表明,构建的基于域名的虚拟主机是成功的。
2.4.2 基于IP地址的虚拟主机
(1)先为主机设置多个IP地址
注:上图中,拷贝那条命令,意味着给ens33这个实际的网卡接口再创建两个虚拟的子接口ens33:0和ens33:1
然后用vim编辑器分别去改ens33:0和ens33:1的IP:
然后关闭vim编辑器,重启一下网络:
这样一来,就为改101主机创建了多个IP地址。
(2)修改配置文件
在101主机上,
在打开的文件末尾,添加这些框起来的内容,把后面无关的内容给删掉:
接下来,就可以去客户机102上进行测了:
然后,用刚刚设好的IP地址去测:
上图中结果显示正常,标识基于IP地址构建的虚拟主机已完成。
2.4.3 基于端口的虚拟主机
(1)添加虚拟主机上的配置(在101主机上实现)
先用vim编辑器打开虚拟主机的配置文件:
然后再文件里,按下图中的修改:
然后重启一下httpd服务,并查看一下httpd服务的运行状态:
接着就可以在客户端102主机上进行测试了:
上图表示测试成功,即基于端口的虚拟主机已构建完成。