web服务器的相关配置

news2024/11/19 10:31:48

一:简单介绍web服务

1、什么是www

 www是world wide web的缩写,也就是全球信息广播的意思。通常说的上网就是使用www来查询用户所需要的信息。www可以结合文字、图形、影像以及声音等多媒体,并通过可以让鼠标单击超链接的方式将信息以Internet传递到世界各处去。

 与其他服务器类似,当你连接上www网站,该网站肯定会提供一些数据,而你的客户端则必须要使用可以解析这些数据的软件来处理,那就是浏览器。www服务器与客户端浏览器之间的连接图。

2、www所用的协议

 HTTP超文本传输协议(HyperText Transfer Protocal),是互联网上最广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。

 它是建立在TCP上一种的无状态连接,整个基本的工作流程是客户端发送一个HTTP请求,说明客户端想要访问的资源和请求的动作,服务端收到请求之后,服务端开始处理请求,并根据请求做出相应的动作访问服务器资源,最后通过发送HTTP响应把结果返回给客户端。其中一个请求的开始到一个响应的结束称为事务,当一个事物结束后还会在服务端添加一条日志条目。

3、WEB服务器

 指网站服务器,是指驻留与因特网上某种类型计算机的程序,可以向浏览器等WEB客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。

 目前最主流的三个WEB服务器是Apache和Microsoft和Internet-信息服务器(Internet Information Services,IIS)unix nginx。

4、主要数据

 服务器所提供的最主要数据是超文本标记语言(Hyper Text Markup Language,HTML)、多媒体文件(图片、影像、声音、文字等,都属于多媒体或称为超媒体),HTML只是一些纯文本数据,通过所谓的标记来规范所要显示的数据格式。

5、浏览器

 客户端收到服务器的数据之后需要软件解析服务器所提供的数据,最后将效果呈现在用户的屏幕上。那么著名的浏览器就有内建在Windows操作系统内的IE浏览器了,还有Firefox浏览器和Google的chrome浏览器。

二:www服务器的基本配置

服务器端:在linux上面实现网页服务器需要Apache这套服务器软件,httpd提供Apache主程序 http://httpd.apache.org/docs/2.4/

#在这里我关闭了防火墙

#安装httpd服务
yum install httpd -y
#启动服务
systemctl stop httpd
#设置开机自启
systemctl enable httpd

 安装之后简单看看httpd的配置文件吧

tree /etc/httpd/

 

配置文件

  1. 主要的配置文件 /etc/httpd/conf/httpd.conf。
  2. 额外的参数文件/etc/httpd/conf.d/*.conf。
  1. /etc/httpd/conf.d/zhuji.conf(注意,扩展名一定是.conf),而启动Apache时,这个文件就会被读入主要配置文件当中了。
  1. 默认的首页所在目录/var/www/html/,当输入网址时所显示的数据,就是放在这个目录当中的首页文件(默认为index.html)。
  2. 默认给一些可执行的CGI(网页程序)程序放置的目录/var/www/cgi-bin/,当输入网址/cgi-bin/时所显示的数据所在。
  3. 默认的Apache日志文件都放在/var/log/httpd/,对于流量比较大的网站来说,一个星期的日志文件的数据可以达到1GB左右

接下来我们看看主配置文件吧:

vim  /etc/httpd/conf/httpd.conf 

31   ServerRoot "/etc/httpd"                 #http服务的顶级目录为/etc/httpd
42 Listen 80      #监听在80端口,80为web服务器的默认端口
56 Include conf.modules.d/*.conf     #包括/etc/httpd/conf.modules.d/*.conf的所有文件
66 User apache    #服务的用户(ps -ef | grep httpd,先以root用户把/usr/sbin/httpd服务启动起来)。启动服务后转换的身份,在启动服务时通常以root身份,然后转换身份,这样增加系统安全
67 Group apache
86 ServerAdmin root@localhost      #你的邮箱,有事的时候给你发邮件
95 #ServerName www.example.com:80    ServerName 0.0.0.0:80

匹配任意IP地址,监听端口在80端口
注:默认是不需要指定的,服务器通过名字解析过程来获得自己的名字,但如果解析有问题(如反向解析不正确),或者没有DNS名字,也可以在这里指定ip地址,当这项不正确的时候服务器不能正常启动。解决办法就是启动该项把www.example.com:80修改为自己的域名或者直接修改为localhost

102 <Directory />    #目录为根,<>为起始标志,</>为结束标志
103     AllowOverride none #不允许这个目录下的访问控制文件来改变这里的配置,这也意味着不用查看这个目录下的访问控制文件。
104     Require all denied      #拒绝访问根
105 </Directory>   
     #和<Directory />是一组标签,目录控制容器
119 DocumentRoot "/var/www/html"          #网页文件存放的目录

124 <Directory "/var/www">
125     AllowOverride None
126     # Allow open access:
127     Require all granted
128 </Directory>
131 <Directory "/var/www/html">
144     Options Indexes FollowSymLinks   #索引,跟踪软链接
151     AllowOverride None
156     Require all granted
157 </Directory>
 
163 <IfModule dir_module>       #加载一个目录模块
164     DirectoryIndex index.html
165 </IfModule>
 
171 <Files ".ht*">       #不能访问
172     Require all denied
173 </Files>
182 ErrorLog "logs/error_log"
189 LogLevel warn
191 <IfModule log_config_module>  
    #日志配置模块 /var/log/httpd,日志模块:通过时间节点去记录(man date)
196     LogFormat "%h %l %u %t \"%r\" %>s %b \"%{    Referer}i\" \"%{User-Agent}i\"" combined
197     LogFormat "%h %l %u %t \"%r\" %>s %b" com    mon
198
199     <IfModule logio_module>
201       LogFormat "%h %l %u %t \"%r\" %>s %b \"    %{Referer}i\" \"%{User-Agent}i\" %I %O" combi    nedio
202     </IfModule>
217     CustomLog "logs/access_log" combined
218 </IfModule>
220 <IfModule alias_module>     #别名模块
247     ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
248
249 </IfModule>
cgi(通用网关接口)是web服务器运行时外部程序的规范,按cgi编写的程序可以扩展服务器的功能。cgi应用程序能与浏览器进行交互,还可通过数据库API与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据
255 <Directory "/var/www/cgi-bin">
256     AllowOverride None
257     Options None
258     Require all granted
259 </Directory>
261 <IfModule mime_module>    #多用途互联网邮件扩展模块
266     TypesConfig /etc/mime.types
283     AddType application/x-compress .Z
284     AddType application/x-gzip .gz .tgz
305     AddType text/html .shtml
306     AddOutputFilter INCLUDES .shtml
307 </IfModule>
mime多用途互联网邮件扩展类型,是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问时,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。 
316 AddDefaultCharset UTF-8  默认字符集
318 <IfModule mime_magic_module>
324     MIMEMagicFile conf/magic
325 </IfModule>
348 EnableSendfile on
353 IncludeOptional conf.d/*.conf

  网页文件存放的目录

 "/var/www/html"     

三:通过上面知识的学习,接下来我们简单感受下静态网站的搭建过程

1. 基于同一IP的不同端口访问不同的网站(可以通过域名去访问)

ip+port1 -> 对应一个域名
ip+port2 -> 对应一个域名
使用域名1我应该访问到 ip+port1对应的内容
使用域名2我应该访问到 ip+port2对应的内容

创建网站存放的目录

mkdir -p  /www/port/{90,91}

 测试网站内容:

 echo "This is for port  90"> /www/port/90/index.html
 echo "This is for port  91"> /www/port/91/index.html

 

 创建一个hosts.conf文件

(conf.d目录下是

  1. 额外的参数文件/etc/httpd/conf.d/*.conf。
  2. /etc/httpd/conf.d/hosts.conf(注意,扩展名一定是.conf),而启动Apache时,这个文件就会被读入主要配置文件当中了。

vim /etc/httpd/conf.d/hosts.conf 


#基于不同IP不用端口的配置
<Directory "/www/port">
        AllowOverride None
        Require all granted
</Directory>

#设置监听端口
Listen 192.168.26.20:90
Listen 192.168.26.21:91
<VirtualHost 192.168.26.20:90>
        DocumentRoot  "/www/port/90"
</VirtualHost>

<VirtualHost 192.168.26.21:91>
        DocumentRoot "/www/port/91"
</VirtualHost>

配置域名(本机测试就可以不用申请,自己创建即可)

在我们Windows下找hosts文件,修改hosts文件是需要管理员权限得,需要我们使用Windows自带得powershell或者第三方编程软件(vscode),配置IP与域名得映射关系(例如:192.168.26.20:90 www.xx.com )

 测试:

2、基于不同IP的同一端口访问各自目录下的网站(可以通过域名去访问)

创建网站存放的目录

mkdir -p /www/ip/{20,21}

 写下测试网站内容

echo "This page is for ip 192.168.26.20" > /www/ip/20/index.html
echo "This page is for ip 192.168.26.21" > /www/ip/10/index.html

 创建一个hosts.conf文件

(conf.d目录下是

  1. 额外的参数文件/etc/httpd/conf.d/*.conf。
  1. /etc/httpd/conf.d/hosts.conf(注意,扩展名一定是.conf),而启动Apache时,这个文件就会被读入主要配置文件当中了。

)

vim /etc/httpd/conf.d/hosts.conf 


#基于不同ip同一个端口号的配置
#赋予目录权限
<Directory "/www/ip">
        AllowOverride None
        Require all granted
</Directory>

<VirtualHost 192.168.26.20:80>
        DocumentRoot  "/www/ip/20"
</VirtualHost>

<VirtualHost 192.168.26.21:80>
        DocumentRoot  "/www/ip/21"
</VirtualHost>

测试:

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/149042.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字化时代,企业如何培养员工的数据思维意识

很多的企业&#xff0c;他们都有意识想通过大数据或者商业智能BI来推动一些数据信息化的项目建设&#xff0c;比如企业的财务分析、经营管理分析、供应链分析、运营、市场分析等等&#xff0c;这都是很好的表现。 但在实际跟进和深入沟通的时候就发现很多分析的想法是没有办法…

OpenCV(9)-图像轮廓

图像轮廓 图像轮廓概述 图像轮廓是具有相同颜色或强度的连续点的曲线 作用&#xff1a; 可以用于图形分析物体的识别与检测 注意&#xff1a; 为了检测的准确性&#xff0c;需要先对图像进行二值化或Canny操作画轮廓时会修改输入的图像 轮廓查找API&#xff1a; findConto…

FastDFS简介/架构/安装/代码

1简介/架构 1.1简单介绍 分布式文件系统&#xff0c;看名字就知道&#xff0c;它可以存储在不同的机器上。肯定也要有路由功能。 特点 备份容错&#xff0c;负载均衡&#xff0c;动态扩容 场景 0-500MB之间大小的文件存储&#xff08;图片&#xff0c;短视频&#xff0c;文…

LeetCode[703]数据流中的第K大元素

难度&#xff1a;简单题目&#xff1a;设计一个找到数据流中第 k大元素的类&#xff08;class&#xff09;。注意是排序后的第 k大元素&#xff0c;不是第 k个不同的元素。描述&#xff1a;请实现 KthLargest类&#xff1a;KthLargest(int k, int[] nums) 使用整数 k 和整数流 …

【北邮果园大三上】数据挖掘

数据挖掘 大数据 定义&#xff1a; 体积时效性种类值 数据挖掘模型 1.归纳已知 2.预测未来 1. 数据的质量处理和度量方法 1.1数据 1.1.1数据属性 属性类型: 标称(nominal)序数(ordinal)区间(interval)比率(ratio) 非对称的属性(asymmetric attribute): 对于非对称的…

airserver怎么下载使用?IOS设备无线传送到Mac电脑的屏幕上教程

AirSever是一种通用的镜像接收器&#xff0c;非常适合镜像iPhone或Android视频文件。 它可以将简单的大屏幕或投影仪变成通用的屏幕镜像接收器。 使用启用了AirSever的设备&#xff0c;您可以用户拥有iPhone&#xff0c;iPad&#xff0c;Mac&#xff0c;Android&#xff0c;Nex…

Proxy详解

Proxy Proxy(代理&#xff09;&#xff0c;首先理解代理是什么意思&#xff0c;才能更便于了解Proxy的作用。 Proxy是一个代理&#xff0c;可以这么理解&#xff0c;就相当于它是一个快递代理点&#xff0c;快递会运输到该代理点&#xff0c;我们取件只需要去对应的代理点取件…

2023年宝塔面板快速部署Rocket.Chat,安卓,PC,ios端使用

官方网站快速部署代码:Docker & Docker Compose - Rocket.Chat Docs 环境:centos 服务器必须大于2核2G,否则docker占用资源太多会起不起来 安装宝塔面板 一 . 宝塔面板安装docker 当然也可以手动安装:如果您还没有&#xff0c;请确保您已安装并运行Docker和Docker-comp…

Docker 数据卷

问题&#xff1a;通过镜像创建一个容器。容器一旦被销毁&#xff0c;则容器内的数据将一并被删除。但有些情况下&#xff0c;通过服务器上传的图片出会丢失。容器中的数据不是持久化状态的。 那有没有一种独立于容器、提供持久化并能服务于多个容器的东西呢&#xff1f; 什么是…

SpringCloud组件之Gateway网关详细教程

目录 一&#xff1a;概念 1.1&#xff1a;什么是微服务网关&#xff1f; 1.2: 为什么需要使用网关&#xff0c;网关的作用&#xff1f; 1.3网关的好处&#xff1f; 二&#xff1a;Gateway网关的快速入门 1.快速创建 2.网关路由的流程 3&#xff1a;Gateway断言工厂 &…

Java复习—运算符

运算符 运算符&#xff1a;对字面量或者变量进行操作的符号 表达式&#xff1a;用运算符把字面量或者变量连接起来&#xff0c;符合Java语法的式子就可以称为表达式。 算数运算符 符号作用加法作用-减法作用*乘法作用/除法法作用%取模、取余 在代码中&#xff0c;如果有小数…

Qt OpenGL(05)标准化设备坐标(NDC)

文章目录OpenGL中的坐标简介标准化设备坐标标准化设备坐标绘制 x y z 三个轴线完整代码顶点着色器片段着色器Widget.hWidget.cpp总结OpenGL中的坐标简介 OpenGL 基于绘制流水线模型&#xff0c;而且绘制流水线的第一个步骤是对顶点进行一 系列的操作, 其中大部分属于几何操作。…

3-2内存管理-虚拟内存

文章目录一.虚拟内存的基本概念二.请求分页管理方式&#xff08;一&#xff09;页表机制&#xff08;二&#xff09;缺页中断机构&#xff08;三&#xff09;地址变换机构三.页面置换算法&#xff08;一&#xff09;最佳置换算法OPT&#xff08;二&#xff09;先进先出页面置换…

flowable 简介

flowable 简介目录概述需求&#xff1a;设计思路实现思路分析1.管理2.二、初识Flowable五大引擎3.2.通过编写程序的方式来构造ProcessEngineConfiguration对象4.流程引擎API架构图5.flowable 表结构说明参考资料和推荐阅读Survive by day and develop by night. talk for impor…

Leetcode_单周赛_327

6283. 正整数和负整数的最大计数 代码 直接遍历统计即可 class Solution {public int maximumCount(int[] nums) {int a 0, b 0;for (int i 0; i < nums.length; i) {if (nums[i] > 0) a;else if (nums[i] < 0) b;}return Math.max(a, b);} }6285. 执行 K 次操作…

Python代码实现:坐标轮换法求解多维最优化问题

文章目录多维最优化问题坐标轮换法原理代码实现坐标轮换法坐标轮换法优缺点多维最优化问题 此前介绍的黄金分割法和切线法都是针对一维最优化问题的解决方案。本文开始&#xff0c;我们将最优化问题从一维扩展到多维&#xff0c;暂时仍考虑无约束的优化场景。 坐标轮换法原理…

ArrayList | 简单的洗牌算法

一个洗牌程序需要包含&#xff1a; 创建一副扑克牌&#xff08;除去大小王剩下52张&#xff0c;每种花色13张&#xff09;。洗牌&#xff0c;打乱牌的顺序。揭牌&#xff0c;每位玩家轮流揭牌&#xff0c;从洗完后的牌组中获得自己的牌。因此&#xff0c;我们可以依照以下思路来…

R 语言 4.2.2安装 WGCNA

文章目录1 WGCNA库介绍2 安装踩坑还得是官方文档这样安装我出现的问题参考AppendixA. 安装RB. 配置环境C. 修改镜像1 WGCNA库介绍 WGCNA是用于加权相关网络分析的R包&#xff0c; 相关网络越来越多地用于生物信息学应用 加权基因共表达网络分析是一种系统生物学方法&#xff0…

按键控制电源通断,实现各种设备/电脑开关机低功耗IC

前言 今天记录一下一些硬件开关电的低功耗控制ic&#xff0c;代替物理机械开关&#xff0c;后续有新的更好用的芯片会继续更新此博。 环境 every machine 参考文档 正文 一版我们选择ic&#xff0c;除了功能之外还要看一些性能&#xff0c;这里我暂时录入的功能就是一个按…

SpringCloud从入门到精通(九)

bus bus-概述 • Spring Cloud Bus 是用轻量的消息中间件将分布式的节点连接起来&#xff0c;可以用于广播配置文件的更改或 者服务的监控管理。关键的思想就是&#xff0c;消息总线可以为微服务做监控&#xff0c;也可以实现应用程序之间相通信。 • Spring Cloud Bus 可选的…