Web网站服务器
目录
一、什么是Apache?
二、虚拟目录是什么?
三、Apcahe相关配置文件
四、httpd.conf主配置文件的常用配置参数
五、Web网站配置案例
5.1搭建基于用户的个人主页网站
5.2、配置虚拟目录
5.3、配置虚拟主机
5.3.1搭建两个基于IP地址的虚拟主机
5.3.2搭建两个基于域名的站点
5.3.3搭建两个基于端口号的站点
5.4、账号认证访问网站
5.5、搭建https安全网站
一、什么是Apache?
Apache是开放源代码的Web服务器软件,通俗将就是一个用于搭建网站的服务软件。类似的还有微软的IIS、IBM webSphere、Tomcat。
有两个版本:
- http:超文本传输协议,通过线路以明文形式发送,默认使用80端口/TCP。
- https:经TLS/SSL安全加密的超文本传输协议,默认使用443端口/TCP。
二、虚拟目录是什么?
虚拟目录是一个位于Apache服务器网页文件主目录之外的目录。每个虚拟目录对应一个真实的存放网页文件的物理路径目录,用户通过访问虚拟目录的名字就可以访问到真实目录下的网页文件,而无需在输入真实的网页文件路径。可以针对虚拟目录设置不同的访问权限。
三、Apcahe相关配置文件
/etc/httpd ----------Apache服务主要数据文件存放的根目录
/etc/httpd/conf/httpd.conf -------主配置文件
/etc/httpd/conf.d --------虚拟主机的配置文件所在目录
/etc/httpd/conf.d/userdir.conf----------个人web站点的配置文件
/etc/httpd/logs--------日志文件目录
/var/www/html--------用户浏览网站时网页文件默认所在目录
四、httpd.conf主配置文件的常用配置参数
1、ServerName -----网站服务器的域名和端口号,服务器根据用户提供的此值来确定是否访问的是自己。
2、ServerRoot-------设置服务器的根目录,用于存储web服务器的匹配数据文件。
3、Listen-------监听的端口号
4、DocumentRoot-------默认网站提供html文档的根目录。
5、Directory-------用于设置web服务器文件目录的访问权限和访问方式
6、DirectoryIndex------指定网站首页的默认文件
7、VirtualHost-------搭建基于虚拟主机多个站点时所用的配置参数设置
8、ServerAdmin-------设置web服务器管理员邮箱地址,当用户访问网站出错时将显示管理员邮箱地址
9、Time out--------设置web网站接收或发送数据时的超时时间。
10、Error Log-------指定Apcahe服务器错误日志存放的文件路径
11、Custom Log-----指定Apache服务器访问日志文件路径
12、Include-------指定所要包含的其它配置文件所在路径
五、Web网站配置案例
5.1搭建基于用户的个人主页网站
*服务端和客户端需保持网络互通,客户端正确解析服务器的域名所对应IP地址
Server端:
1、安装httpd服务软件
2、创建用于个人主页的账户
3、进入用户家目录创建一个用于存储个人网页文件的主目录public_html,并允许其它人有执行访问权限
4、在用户个人主目录内创建一个用于用户访问的网页文件
5、修改httpd个人站点配置文件
6、防火墙放行httpd服务,设置selinux布尔值的相应参数来允许网络用户访问个人用户的家目录。
7、开启httpd服务,并设置开机自启
Client端:
8、访问服务器个人主页进行测试
5.2、配置虚拟目录
描述:创建一个名为/myweb的虚拟目录其对应的真实目录物理路径为/usr/web。
Server端:
1、创建/usr/web真实目录和其用户访问所需的网页文件。
2、修改/etc/httpd/conf/httpd.conf主配置文件相关参数。
3、防火墙放行http服务,并修改虚拟目录所对应的物理目录的安全上下文。
4、重启httpd服务使其配置立即生效
Client端:
5、使用客户端访问虚拟目录进行测试
5.3、配置虚拟主机
概述:虚拟主机允许在一台web服务器上搭建多个web站点,用户访问时各web站点可以通过IP地址、域名或端口号来进行区分访问不同站点。
5.3.1搭建两个基于IP地址的虚拟主机
Server端:
1、给网卡添加两个IPv4的地址,用于后面分别绑定两个站点做区分。
2、分别创建两个站点的网页文件主目录和其要访问的网页文件。
3、在httpd的主配置文件/etc/httpd/conf/httpd.conf中添加虚拟主机相关参数并赋值。
4、防火墙放行http服务,保证创建的网页文件主目录selinux的安全上下文正确。
5、重启httpd服务使其配置文件立即生效。
6、客户端通过基于不同的IP地址访问网站进行测试。
5.3.2搭建两个基于域名的站点
Server端:
1、创建两个站点所需的网页文件和其主目录。
2、在主配置文件/etc/httpd/conf/httpd.conf 中添加虚拟主机一下相关参数。
3、防护墙放行http服务,保证所创建的两个站点目录文件的安全上下文正确。
4、重启httpd服务使配置文件立即生效。
Client端:
6、保证客户端正确配置DNS所对应网站使用的IP地址解析,此处客户端使用本地解析。
7、客户端分别访问web1.shanyue.com和web2.shanyue.com进行站点测试。
5.3.3搭建两个基于端口号的站点
Server端:
1、创建两个用于测试的站点所使用的网页文件和其所在的主目录
2、修改/etc/httpd/conf/httpd.conf 主配置文件中的虚拟主机所使用的相关参数,并设置其http服务监听的端口号。
3、防火墙放行两个网站绑定的8080和8081端口。
4、由于修改了http服务默认监听的端口号,此时selinux会认为新修改的端口号不是http服务规定所使用的端口号。因此需要修改新设置的端口号标签类型,使http服务认为此新设置的端口号是合法的。否则修改配置文件重启http服务时会报配置文件语法错误。
*注意:此处由于8081和8082端已被占用定义无法对其进行删除重新添加,但此过程是对的,可以换用其它监听端口测试。此处实验就临时把selinux安全策略设置为允许宽松模式,来跳过http的站点监听端口检测语法检测。
5、重启http服务使其重读http的配置文件,让配置立即生效。
Client端:
6、在客户端分别使用不同的端口号访问刚搭建的站点看其是否搭建成功。
5.4、账号认证访问网站
Server端:
1、创建客户端访问网站时,所需输入的账户和其密码。
2、修改账户密码文件的selinux标签属性。
说明:用户访问网站默认使用web服务器账户是apache账户、因此需保证apache用户有访问此密码文件路径目录的r读和x访问权限,依此来验证客户端访问网站输入的密码是否正确(密码文件可以保存到非站点物理目录下)。
3、开启网站的用户访问密码认证。
4、重启httpd服务使其配置立即生效
Client端:
1、访问web服务器开启用户账户认证的站点,进行测试。
5.5、搭建https安全网站
注意:经TLS/SSL安全加密的超文本传输协议,默认情况下使用端口443/TCP
Server端:
1、安装httpd服务软件、和用于https加密的mod_ssl软件。
2、搭建CA服务器,用于为web站点签发证书。首先创建CA服务所需的目录结构。
3、为CA服务器和web服务器生成一把私钥。
4、修改CA服务配置文件/etc/pki/tls/openssl.cnf参数,允许向CA服务器申请证书的客户可以任意定义申请证书的相关参数。
6、为CA服务机构创建自签的根证书。以后访问此机构颁发的证书网站的客户端可以通过在本地导入CA根证书来信任网站证书。
7、为要搭建的web站点向CA申请数字证书。首先在web服务器上创建证书申请模板文件。然后在发送给CA服务器,由于本实验CA和web服务在一台服务器上,因此模板无需发送给CA服务器。
8、创建CA服务器颁发证书所需文件
9、CA签发web站点提交的证书申请
10、修改https的/etc/httpd/conf.d/ssl.conf 主配置文件相关参数来使将搭建的网站绑定从CA哪里获得的证书,并指定web站点用于解密的私钥文件。
11、把证书文件、秘钥文件和根CA文件分别拷贝到ssl.conf配置文件里的对应路径下面。
12、防火墙放行https服务
13、在httpd服务默认的网页主目录下创建个用于客户端https访问的网页文件。
14、重启httpd服务使其配置文件立即生效
Client端:
1、正确配置web网站域名的DNS解析,此实验采用DNS本地解析。域名最好使用CA颁发给Web服务器证书中的通用域名,以此来让客户端正确解析网站的证书。
2、将网站证书颁发机构CA的根证书内容导入到linux受信任的根证书颁发机构区域文件内来信任站点证书(说明:Linux系统中大部分浏览工具的信任根CA都在此文件内指定。但对于firefox浏览器需要另外导入根CA证书)。
3、客户端以https的方式访问web网站进行测试。通过curl命令可以正常访问站点)。
4、客户端通过firefox图形化浏览器访问https站点进行测试。
5、firefox浏览器导入证书颁发机构的根CA,以此来信任访问的网站出示的证书。
firefox导入根CA证书成功,在次访问https站点不在报错。
@声明:“山月润无声”博主知识水平有限,以上文章如有不妥之处,欢迎广大IT爱好者指正,小弟定当虚心受教!
相关文章:

Web网站服务器
目录 一、什么是Apache? 二、虚拟目录是什么? 三、Apcahe相关配置文件 四、httpd.conf主配置文件的常用配置参数 五、Web网站配置案例 5.1搭建基于用户的个人主页网站 5.2、配置虚拟目录 5.3、配置虚拟主机 5.3.1搭建两个基于IP地址的虚拟主机 5.3.2搭建两个基于域…...

Docker consul 容器服务自动发现和更新
目录 一、什么是服务注册与发现 二、Docker-consul集群 1.Docker-consul consul提供的一些关键特性 2.registrator 3.Consul-template 三、Docker-consul实现过程 以配置nginx负载均衡为例 先配置consul-agent ,有两种模式server和client 四、Docker-cons…...

CentOS 8 执行yum命令报错:Failed to set locale, defaulting to C.UTF-8
今天Docker新搞了一个CentOS镜像,在运行基于该镜像的容器,执行yum命令时,遇到了如下报错: [rootGC Administrator]# yum install -y yum-utils Failed to set locale, defaulting to C.UTF-8 CentOS Linux 8 - AppStream …...

8. 损失函数与反向传播
8.1 损失函数 ① Loss损失函数一方面计算实际输出和目标之间的差距。 ② Loss损失函数另一方面为我们更新输出提供一定的依据。 8.2 L1loss损失函数 ① L1loss数学公式如下图所示,例子如下下图所示。 import torch from torch.nn import L1Loss inputs torch.tens…...

Angular安全专辑之四 —— 避免服务端可能的资源耗尽(NodeJS)
express-rate-limit是一个简单实用的npm包,用于在Express应用程序中实现速率限制。它可以帮助防止DDoS攻击和暴力破解,同时还允许对API端点进行流控。 express-rate-limit及其主要功能 express-rate-limit是Express框架的一个流行中间件,它允许根据IP地址或其他标准轻松地对请求…...

Servlet学习总结(Request请求与转发,Response响应,Servlet生命周期、体系结构、执行流程等...)
Override 是Java中的注解(Annotation),它用于告诉编译器该方法是覆盖(重写)父类中的方法。当我们使用Override注解时,编译器会检查当前方法是否正确地覆盖了父类中的方法,如果没有覆盖成功&…...

雅思写作 三小时浓缩学习顾家北 笔记总结(二)
目录 饥饿网一百句翻译 Using government funds for pollution cleanup work can create a comfortable environment. "Allocating government funds to pollution cleanup work can contribute to the creation of a comfortable environment." Some advertise…...

Element Plus 日期选择器的使用和属性
element plus 日期选择器如果如果没有进行处理 他会返回原有的属性值data格式 如果想要获取选中的日期时间就需要通过以下的代码来实现选中的值 format"YYYY/MM/DD" value-format"YYYY-MM-DD" <el-date-pickerv-model"formInline.date" type&…...

中国五百强企业用泛微为合同加速,提升数字化办公水平
华谊集团借力泛微,融合企业微信、SAP、WPS、电子签章等多种系统,构建了业务集成、场景驱动的全程数字化合同管理平台。 上海华谊(集团)公司是由上海市政府国有资产监督管理委员会授权,通过资产重组建立的大型化工企业…...

Vue3 QRCode生成
一. 依赖安装 npm install vue-qr --save 二. 引用与使用 引用 <script> // import vueqr from vue-qr vue2的引入 import vueqr from vue-qr/src/packages/vue-qr.vue // vue3的引入 export default {components: {vueqr} } </script> 使用 <template>&…...

2023年8月随笔之有顾忌了
1. 回头看 日更坚持了243天。 读《发布!设计与部署稳定的分布式系统》终于更新完成 选读《SQL经典实例》也更新完成 读《高性能MySQL(第4版)》开更,但目前暂缓 读《SQL学习指南(第3版)》开更并持续更新…...

正中优配:红筹股是啥意思?
随着我国经济的高速开展,越来越多的人开始参加到股票出资中。其中,红筹股作为一种特别类型的股票,备受一些出资者的关注,但对于一般出资者来说,红筹股详细含义还不是特别清楚。本文将从多个角度探讨红筹股的含义、特征…...

《Linux从练气到飞升》No.19 进程等待
🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的…...

OpenCV
文章目录 OpenCV学习报告读取图片和网络摄像头1.1 图片读取1.2 视频读取1.1.1 读取视频文件1.1.2读取网络摄像头 OpenCV基础功能调整、裁剪图像3.1 调整图像大小3.2 裁剪图像 图像上绘制形状和文本4.1 图像上绘制形状4.2图像上写文字 透视变换图像拼接颜色检测轮廓检测人脸检测…...

hadoop解决数据倾斜的方法
分析&回答 1,如果预聚合不影响最终结果,可以使用conbine,提前对数据聚合,减少数据量。使用combinner合并,combinner是在map阶段,reduce之前的一个中间阶段,在这个阶段可以选择性的把大量的相同key数据先进行一个合并,可以看做…...

打造坚不可摧的代码堡垒 - 搭建GitLab私有仓库完全指南
在现代软件开发中,版本控制是一个不可或缺的环节。GitLab是一个流行的版本控制平台,允许开发团队协同工作并管理他们的代码。在某些情况下,您可能希望将您的代码托管在一个私有仓库中,以确保代码的安全性和机密性。在本文中&#…...

linux把文件压缩/解压成.tar.gz/tar/tgz等格式的命令大全
linux把文件压缩/解压成.tar.gz/tar/tgz等格式的命令大全 linux压缩命令常用的有:tar,tgz,gzip,zip,rar 一,tar(一) tar压缩命令#说明:#举例: (二…...

用户角色权限demo后续出现问题和解决
将demo账号给到理解和蒋老师,测试的时候将登录人账号改了,结果登录不了了,后续还需要分配权限无法更改他人的账号和密码 将用户和权限重新分配(数据库更改,不要学我) 试着登录还是报一样的错,但…...

SpringBoot在IDEA里实现热部署
使用步骤 1.引入依赖 <!--devtools热部署--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional><scope>true</scope><versi…...

浅谈Linux中的mkdir -p
mkdir 是一个用于创建目录(目录树)的 Unix 和 Linux 命令。-p 选项允许创建一个目录和它不存在的父目录。换句话说,-p 选项确保了指定的整个目录路径都会被创建。 基础用法 如果你只是运行 mkdir new_directory,这个命令会尝试在…...

设计模式—职责链模式(Chain of Responsibility)
目录 思维导图 什么是职责链模式? 有什么优点呢? 有什么缺点呢? 什么场景使用呢? 代码展示 ①、职责链模式 ②、加薪代码重构 思维导图 什么是职责链模式? 使多个对象都有机会处理请求,从而避免请…...

vue小测试之拖拽、自定义事件
在开始之前我去复习了一下,clientX、clientY、pageX、pageY的区别,对于不熟悉offsetLeft和offsetTop的也可以在这里去复习一下。 vue拖拽指令之offsetX、clientX、pageX、screenX_wade3po的博客-CSDN博客_vue offset 客户区坐标位置(clientX&…...

时序预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机时间序列预测(多指标评价)
时序预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机时间序列预测(多指标评价) 目录 时序预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机时间序列预测(多指标评价)效果一览基本描述程序设计参考资料 效果一览 基本描述 MATLAB实现DBN-SVM深度置信网络结合支持向量机…...

Python中异步编程是什么意思? - 易智编译EaseEditing
异步编程是一种编程模式,用于处理可能会导致程序等待的操作,例如网络请求、文件读写或长时间的计算任务,而不会阻塞整个程序的执行。 在传统的同步编程中,当程序执行一个耗时的操作时,它会等待该操作完成,…...

【JS真好玩】自动打字机效果
目录 一、前言二、布局分析三、总体样式四、中间部分五、底部5.1 div5.2 label5.3 input 六、JS让它动起来6.1定时器6.2 字符串处理6.2.1 slice6.2.2 splice6.3.3 split 七、总结 一、前言 大家好,今天实现一个自动打字机效果,旨在实现一些网上很小的de…...

宠物赛道,用AI定制宠物头像搞钱项目教程
今天给大家介绍一个非常有趣,而粉丝价值又极高,用AI去定制宠物头像或合照的AI项目。 接触过宠物行业应该知道,获取1位铲屎官到私域,这类用户的价值是极高的,一个宠物粉,是连铲个屎都要花钱的,每…...

基于vue和element的脚手架【vue-element-admin 和vue-element-plus-admin 】
vue-element-admin vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现 介绍 | vue-element-adminA magical vue adminhttps://panjiachen.github.io/vue-element-admin-site/zh/guide/ vue-element-plus-admin vue-element-plus-admin 是一…...

推荐Java开发常用的工具类库google guava
Guava Guava是一个Google开源的Java核心库,它提供了许多实用的工具和辅助类,使Java开发更加简洁、高效、可靠。目前和hutool一起,是业界常用的工具类库。shigen也比较喜欢使用,在这里列举一下常用的工具类库和使用的案例。 参考…...

stencilJs学习之构建 Drawer 组件
前言 在之前的学习中,我们已经掌握了 stencilJs 中的一些核心概念和基础知识,如装饰器 Prop、State、Event、Listen、Method、Component 以及生命周期方法。这些知识是构建复杂组件和应用的基础,而抽屉组件是一个很好的示例,能够…...

hbase 国内镜像 极速下载
文章目录 国内镜像汇总-极速下载【JavaPub版】 lucene国内镜像 https://mirrors.cloud.tencent.com/apache/hbase/ 国内镜像汇总-极速下载【JavaPub版】...