RHCE课程-RH253Linux服务器架设笔记五-APACHE服务器配置(1)

简介:
我们准备学习apache服务器,做apache需要DNS服务器,大家要把自己的DNS服务器调试好,排错很简单
1、使用named-check 命令检查配置文件
2、查看日志文件的提示
3、检查自己的网络还有主机环境设置是否正确
named-checkzone  域名   区域文件
image
WEB服务器的架设,在linux有一个很著名的架构叫lamp:linux+apache+mysql+php
我们主要说apache,但是有兴趣的,可以去鸟站找phpbb,是一个论坛的软件,基于lamp架构,挺简单,有兴趣就可以自己去安装来调试下
先简单介绍下http协议吧
WWW的目的就是使信息更易于获取,而不管它们的地理位置在哪里。当使用超文本作为WWW文档的标准格式后,人们开发了可以快速获取这些超文本文档的协议——HTTP协议,即超文本传输协议
HTTP是应用级的协议,主要用于分布式、协作的信息系统。HTTP协议是通用的、无状态的,其系统的建设和传输与数据无关。HTTP也是面向对象的协议,可以用于各种任务,包括名字服务、分布式对象管理、请求方法的扩展、命令等。
http和https分别使用80、443端口
在Internet上,HTTP通信往往发生在TCP/IP连接上,其默认的端口为80,也可以使用其他端口。
Web服务的实现采用客户/服务器模型
客户机运行WWW客户程序——浏览器,它提供良好、统一的用户界面。浏览器的作用是解释和显示Web页面,响应用户的输入请求,并通过HTTP协议将用户请求传递给Web服务器
Web服务器运行服务器程序,它最基本的功能是侦听和响应客户端的HTTP请求,向客户端发出请求处理结果信息。
Web服务通常可以分为两种:静态Web服务和动态Web服务。
这就是http的运行原理了
1.Web浏览器使用HTTP命令向一个特定的服务器发出Web页面请求。
2.若该服务器在特定端口(通常是TCP 80端口)处接收到Web页面请求后,就发送一个应答并在客户和服务器之间建立连接
3.服务器Web查找客户端所需文档,若Web服务器查找到所请求的文档,就会将所请求的文档传送给Web浏览器。若该文档不存在,则服务器会发送一个相应的错误提示文档给客户端。Web浏览器接收到文档后,就将它显示出来。
4、当客户端浏览完成后,就断开与服务器的连接。
image
linux下的web服务器,软件使用的apache大家应该知道吧,apache也是美国军方的一种大型直升机
开放源代码的Apache(阿帕奇)服务器起初由Illinois大学Urbana-Champaign的国家高级计算程序中心开发,后来Apache被开放源代码团体的成员不断地发展和加强。渐渐地,它开始在功能和速度上超越其他Web服务器。由于Apache服务器拥有牢靠可信的美誉,因此从1995年1月以来,Apache一直是Internet上最流行的Web服务器
后台进程:httpd 
脚本:/etc/rc.d/init.d/httpd 
使用端口:80(http),443(https) 
所需RPM包:httpd 
配置路径:/etc/httpd/* 
默认网站存放路径:/var/www/*
优点:免费,稳定,速度快
下面我们先安装apache
yum  install “httpd*” 或rpm安装、不过自己喜欢编译也可以
/config 
make  && make install 
image
安装好了,启动apache,有特殊要求的可以自己编译,但是我们现在用不了那么深
而且编译的不可以自动升级,升级软件只有找新版本的重新编译安装配置
image
我们学apache主要学会以下基本功能
httpd.conf文件的格式  
Web服务的基本配置  
创建虚拟目录 
设置目录权限 
用户认证 
虚拟主机的配置
 
先介绍下apache的常用目录
这个是apache的所有配置文件存放的目录
image
这个是网页文件存放目录,一般在html内
image
apache的主配置文件
image
请大家用自己熟悉的编辑器打开吧
httpd.conf配置文件主要由全局环境、主服务器配置和虚拟主机3个部分组成。每部分都有相应的配置语句,该文件所有配置语句的语法为“配置参数名称 参数值”的形式。
httpd.conf中每行包含一条语句,行末使用反斜杠“\”可以换行,但是反斜杠与下一行中间不能有任何其他字符(包括空白)
httpd.conf的配置语句除了选项的参数值以外,所有选项指令均不区分大小写,可以在每一行前用“#”号表示注释。 
全局配置的相关参数,全局的参数一般不用改哦
ServerType 
选择系统激活服务器的方式。可以是inetd或standalone
默认应该是独立的stationalone 
ServerRoot 
设定Apache 安装的绝对路径
image
TimeOut 
设定 服务器接收至完成的最长等待时间
image
KeepAlive 
设定服务器是否开启连续请求功能,真实服务器一般都要开启
  image
image
image
image
image
Port 
设定http服务的默认端口。
User/Group 
设定 服务器程序的执行者与属组,这个一般是apache
提示一点,如果RHCE考试的时候,题目让你修改存放网页文件的权限,比如是750,这样你一定要注意了,所有用户的读取权限里没有了,apache对网页文件的读取权限也没有了,网站也不能正常访问的,所以你需要修改组为apache或者使用acl给apache用户访问权限,修改为755可以,这个看题目要求,考试的测试网页是html的,就简单的字符,能访问就行了,你别去改全局的什么连续请求啊,最大闲置进程啊之类的,考试嘛,能达到效果就OK,不是做优化 
一般在apache里,都说用户,这个组没多大意思的,是建立用户的时候就建立默认组了,网页的所有组或者所有者改成apache
ps:
/dev/null 是编程使用 把错误输出导进去
zero是无限零资源设备,在测试lvm和quota的时候使用
/dev/null是黑洞,给他什么吃什么。/dev/zero是太阳取之不尽用之不竭。嘿嘿我们老师说的。很经典
o(∩_∩)o...
######################Michael分割线###########################
我们简单介绍了apache,下面我们就开始实战
image
打开firefox,输入自己的域名
image
如果能看见红色的redhat的测试页面,就证明你的安装没有问题,如果看不见,你就要从新安装,或者调试你的网络了,我们说过,网页文件默认是放在/var/www/html中的,我们现在就自己去写个网页,简单的,来测试下
image
然后重新访问你的服务器,看看有什么变化
image
这个是默认的情况,我从网页down个网页,我现在把他放到/var/www/html中去
打开主配置文件,搜索index.html
image
看见DirectoryIndex了么,这个位置就是定义主页文件的名字的,自己可以随意修改,但是一般网页开发都写成了index.html,index.htm default.html 等等,所以你也最好这样写
image
我添加了一个index.php ,方便一会我们测试apache支持php,如果找不到,系统会出现redhat的测试页面,你可以,试试
image
搜索/var/www/html
image
documentRoot 就是定义网站的默认网站存放目录,如果考试要让你修改默认网站目录的位置,你就需要修改这个位置
image
现在我们测试把默认网站目录改到root家目录下
第一步,修改DocumentRoot这个位置
第二步,修改目录的权限设置
image 
保存退出并重启httpd服务
image
启动失败了,我们把selinux暂时关闭了,测试看是不是selinux的原因,用setup 来关闭selinux
image
image
image
image
image
关闭后httpd服务就启动起来了
image
但是权限还是不对,直接再次搜索/var/www/html 找到就改成新的目录就可以了,因为/root目录的权限是750,所以apache用户没有访问权限,我们要给apache用户访问权限,简单点改成755就可以了
image
image
建个PHP页面哈~
image
image
现在就可以访问了,下面我们要解决的就是selinux的问题,我们现打开selinux
image
再次访问
image
又是权限拒绝了,我们就需要修改selinux的上下文了
使用chcon 命令来修改上下文
-R 是递归修改,连目录里面的一起修改
--reference  是拷贝 /var/www/html的上下文应用到/root/web下去
ls -Z是查看文件的上下文
image
修改上下文后,就又可以访问了
image
######################Michael分割线###########################
下面我们就讲虚拟机主机
1、基于名称的虚拟主机
查看你的DNS服务器,是否对你服务器做出了两个正向解析
image
我的有三个正向解析,说说基于名称的虚拟机主机吧,这个是现在很常用的技术,一个服务器放一个公司的网页不现实,一般都是放了几个公司的网站,但是服务器怎么区分用户访问网站呢?,这就是虚拟主机技术,虚拟机主机有基于域名和基于IP两种方法,一般使用基于域名的,应为现在IPV4的公网IP很珍贵的,如果一个网站一个IP,那么就会浪费掉很多IP,如果使用域名就不会有这种浪费
我们实现基于域名的虚拟机主机
步骤 
1、需要两个域名解析到你的服务器,我的是 
server.michael.com   192.168.8.188 
[url]www.michael.com[/url]      192.168.8.188
2、建立/var/www/server 目录,用于存放server.michael.com的网站
3、给/var/www/server 和/var/www/thml分别放入网站,内容要不一样,方便我们区分
image
5、修改配置文件
取消NameVirtualHost这行的注释,并写入你服务器的IP地址,这条的意思是启用基于名称的虚拟机主机
然后在最后写入虚拟机主机的内容
<>是主机通告,前后要对应 
serveradmin 是管理员邮箱 
documentroot  是网页目录 
servername   是域名 
下面两个是日志文件
image
由于我们两个虚拟主机,所以我们写两个,如果有多个,你就需要定义多个,完成后保存退出,重启服务后就可以测试了
image
image
image
######################Michael分割线###########################
下节课我们继续讲,基于IP地址的虚拟主机,如何提供网站下载,如何使用apache自带的basic认证,如何支持php和jsp,还有支持cgi
配置步骤 
1、添加一个虚拟机网卡,并配置一个IP地址
临时使用,重新启动网卡消失
image
2、基于上面的操作,修改配置文件
注释掉这行,取消基于域名的虚拟主机
image
下面只需要修改virtualhost 的IP地址,多了一个临时的虚拟网卡,这个虚拟网卡上也配置了IP地址
image
image
注意地址栏的IP地址不同哦
image
image
下一个功能,基于web页面的资源下载
使用别名来实现,当然别名也可以实现网站目录转换
下面我们来看看别名的配置
修改配置文件
image
搜索Alias,找到下面的位置
image
我们现设置一个别名对我们刚才那个网站的访问
image
/test 是别名名称
/root/web/site 是真实位置
注意真实位置的权限和selinux上下文一定要正确。注意,Directory是对你真是目录的权限设置,我们刚才修改默认家目录都修改过了,所以这里我们就不用修改了
保存退出测试
image
注意我的地址栏的写法
image
这个也是别名的一个功能,当然别名还能实现用户主页的功能
下面我们来实现网页的资源下载
1、添加别名
2、对/VAR/FTP/PUB目录设置权限
image
options选项必须要有Multiviews参数,然后保存退出,重启测试
image
image
就出现了貌似FTP的东西,可以提供资源下载
下一个功能,basic基本认证,基于用户名和密码
1、修改配置文件
基于我们刚才的down别名设置
image
提示一下 
<>里面是目录
Authtype 是认证类型 Basic apache自带的基本认证
Authname  认证名字,是提示你输入密码的对话框的提示语
Authuserfile  是存放认证用户的文件
require user  允许指定的一个或多个用户访问,就是后面跟的redking用户
如果认证文件里面还有其他用户,还是不能访问
require valid-user  的话,就是所有认证文件里面的用户都可以访问
require group 授权给一个组,这个参数很少用
下面我们开始创建认证用户文件
image
这样就创建了一个redhat用户,重新启动服务器,测试效果
image
可以访问
image
还有一种是更灵活的认证方式,这种认证需要修改配置文件,当然用户是没有权限修改配置文件了,他想使用认证怎么办?这个就使用基于目录的认证,把认证文件放在用户可以管理的主业目录内,这样用户就可以随意修改了
我们对/var/www/html目录进行设置
image
image
访问192.168.8.188就可以访问到/var/ww/html目录
image
下面我们在目录内放入认证文件
image
image
然后创建用户51cto
image
重新启动服务器,并测试
image
image
image
OK,测试成功,还有4个内容,我们下季在讲吧,cgi的支持,php的支持,jsp的支持,https的配置
######################Michael分割线###########################









本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/151561 ,如需转载请自行联系原作者
相关文章
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
1223 13
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
4095 0
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
1138 0
|
12月前
|
人工智能 数据处理 API
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
Apache Flink Agents 是由阿里云、Ververica、Confluent 与 LinkedIn 联合推出的开源子项目,旨在基于 Flink 构建可扩展、事件驱动的生产级 AI 智能体框架,实现数据与智能的实时融合。
1679 6
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
811 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
SQL 人工智能 数据挖掘
Apache Flink:从实时数据分析到实时AI
Apache Flink 是实时数据处理领域的核心技术,历经十年发展,已从学术项目成长为实时计算的事实标准。它在现代数据架构中发挥着关键作用,支持实时数据分析、湖仓集成及实时 AI 应用。随着 Flink 2.0 的发布,其在流式湖仓、AI 驱动决策等方面展现出强大潜力,正推动企业迈向智能化、实时化的新阶段。
1373 9
Apache Flink:从实时数据分析到实时AI
|
SQL 人工智能 API
Apache Flink 2.1.0: 面向实时 Data + AI 全面升级,开启智能流处理新纪元
Apache Flink 2.1.0 正式发布,标志着实时数据处理引擎向统一 Data + AI 平台迈进。新版本强化了实时 AI 能力,支持通过 Flink SQL 和 Table API 创建及调用 AI 模型,新增 Model DDL、ML_PREDICT 表值函数等功能,实现端到端的实时 AI 工作流。同时增强了 Flink SQL 的流处理能力,引入 Process Table Functions(PTFs)、Variant 数据类型,优化流式 Join 及状态管理,显著提升作业稳定性与资源利用率。
1056 0
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
1412 33
The Past, Present and Future of Apache Flink
|
人工智能 运维 Java
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
本文基于Apache Flink PMC成员宋辛童在Community Over Code Asia 2025的演讲,深入解析Flink Agents项目的技术背景、架构设计与应用场景。该项目聚焦事件驱动型AI智能体,结合Flink的实时处理能力,推动AI在工业场景中的工程化落地,涵盖智能运维、直播分析等典型应用,展现其在AI发展第四层次——智能体AI中的重要意义。
3746 27
Flink Agents:基于Apache Flink的事件驱动AI智能体框架

热门文章

最新文章