Web基础、apache和nginx的知识及服务搭建

news2024/9/8 23:57:14

一、Web基础概念和常识

Web:为用户提供的⼀种在互联网上浏览信息的服务,Web 服务是动态的、可交互的、跨平台的和图形化的。

Web 服务为⽤户提供各种互联网服务,这些服务包括信息浏览服务,以及各种交互式服务,包括聊天、购物、学习等等内容。

Web 应⽤开发也经过了及代技术的不断发展,目前 Web 开发依然是最重要的开发内容之一。Web 基础的技术包括超⽂本标记语言(HTML)和 HTTP 协议,HTML 是一种呈现数据的方式(给人看的),而 HTTP 则是一组通信的标准(语法、语义、时许),可以简单的理解为 HTTP 携HTML。

1. web 应用:网站(广义上的PC,手机app)

2. 浏览器(Browser):也称⽤户代理,web客户端,主要有IE、

Edge、Chrome、Firefox、腾讯浏览器,360浏览器等。

3. web服务器(web server):也称HTTP服务器(HTTP

server),主要有 Nginx、Apache、Tomcat 等。

二、HTTP和HTTPS协议

1.HTTP协议       

        HTTP协议是超文本传输协议的缩写,英文是Hyper TextTransfer Protocol。它是从WEB服务器传输超文本标记语言(HTML) 到本地浏览器的传送协议。

1.HTTP原理

        HTTP是一个基于TCP/IP通信协议来传递数据的协议,传输的数据类型为HTML文件,图片文件查询结果等。HTTP协议一般用于B/S架构。浏览器作为HTTP客户端通过URL向HTTP服务端即web服务器发送所有请求,web服务器收到客户端请求后进行响应。

2.HTTP特点

1. http协议支持客户端/服务端模式,也是一种请求/响应模式的协议。

2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。

3. 灵活:HTTP 允许传输任意类型的数据对象。传输的类型由Content-Type 加以标记。除开可以响应字符串之外,还可以上传和下载二进制文件。

4. 无连接:限制每次连接只处理⼀个请求。服务器处理完请求,并收到客户的应答后,即断开连接,但是却不利于客户端与服务器保持会话连接,为了弥补这种不足,产生了两项记录 http 状态

的技术,一个叫做 Cookie,一个叫做 Session。

5. 无状态:无状态是指协议对于事务处理没有记忆,后续处理需要前⾯的信息,则必须重传。

3.URI 和 URL 的区别

(1)HTTP使用统一资源标识符(Uniform Resource Identifiers,URI)来传输数据和建立连接。

        URI:Uniform Resource Identifier 统一资源标识符

        URL:Uniform Resource Location 统一资源定位符

(2)URI 是用来标识⼀个具体的资源的,我们可以通过 URI 知道⼀个资源是什么,使用它就能够唯一地标记互联网上资源。

(3)URL 则是用来定位具体的资源的,标识了⼀一具体的资源位置。互联网上的每个文件都有一个唯一的。

(4)URL,也就是我们俗称的⽹址,它实际上是 URI 的⼀个子集。

(5)URI 不仅包括 URL,还包括 URN(统一资源名称),它们之间的关系如下:

2.https协议

HTTP一般是明文传输,很容易被攻击者窃取重要信息,鉴于此,HTTPS应运而生。

HTTPS 的全称为(HyperTextTransferProtocoloverSecureSocketLayer),HTTPS 和 HTTP 有很大的不同在于 HTTPS 是以安全为目标的。

HTTP通道,在HTTP 的基础上通过传输加密和身份认证保证了传输过程的安全性。

HTTPS 在 HTTP 的基础上增加了 SSL 层,也就是说HTTPS=HTTP+SSL。

HTTPS 安全通信的四大原则

(1)机密性,就是对数据的加密,在传输数据的过程当中,如果被人劫持了数据,那么这个加密的数据对方不能轻易获得。

(2)完整性,是指数据在发送到接收的过程当中没有被篡改,从而接收到的数据是一个完整的数据内容。

(3)身份认证,数据传输的过程当中对于身份的验证,确认对方是传送数据过来的⼈。可以解决冒充这样的风险。

(4)不可否认性,不能否认已经发生的行为。

三、Apache服务

1.apache概念

        最早的 web 服务程序,基于 http 协议提供网页浏览服务。

1.特点

模块化设置、开放源代码、跨平台应用、支持多种 web 编程语言、运行稳定。

2.工作模式

(1)Prefork:使⽤进程处理请求,在该模式中比较消耗内存,但稳定性高,如某个进程出现题,不会影响其他请求。

(2)Worker:属于多进程模式,每个进程生成多个进程;在该模式下消耗的资源比较小,适合高并发请求,但稳定性没有 Prefork 模式稳定。

(3)Event:该模式与 Worker 模式较为相似,不同之处在于在该模式下可以解决keepalive 长连接时占用线程资源导致浪费的问题。

(4)keep-alive 长连接:TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了带宽。实现长连接要客户端和服务端都支持长连接。

2.搭建apache服务器

1.安装并设置防火墙
[root@localhost ~]# yum -y install httpd   #安装服务
[root@localhost ~]# rpm -ql httpd   #查看配置文件
2.apache配置文件

查看配置文件:

[root@http ~]# ls /etc/httpd/
conf  conf.d  conf.modules.d  logs  modules  run

修改配置文件:

[root@http ~]# vim /etc/httpd/conf/httpd.conf
<!doctype html>
<html>
        <head>
                <meta charset="utf-8">
                <title>正方形</title>
                <style>
                        div{
                                background-color:red;
                                width:120px;
                                height:120px;
                        }
                </style>
        </head>
        <body>
                <div>正方形</div> 
        </body>
</html>


启动服务:

[root@http ~]# systemctl start httpd.service

 检查防火墙状态:查看防火墙是否启⽤,若启用则设置apache服务可通行规则。

[root@server2 ~]# systemctl status firewalld.service 

设置防火墙:

[root@http ~]# firewall-cmd --zone=public --add-service=http   
success

 重载防火墙规则:

[root@http ~]# firewall-cmd --reload  
success

查看当前区域下的防火墙所有规则:

[root@http ~]# firewall-cmd --list-all   

浏览器访问不到的情况,打开80端口再进行访问就可以啦。

[root@http ~]# firewall-cmd --add-port=80/tcp
success

3.浏览器访问

四、nginx服务

1.Nginx简介

1.Nginx(engine X):开源、轻量级、高性能的 HTTP 和反向代理服务器,可以代理 HTTP、IMAP/POP3/SMTP 和 TCP/UDP协议。

2.基本特点:占用内存少、并发能力强,采用用C 语言编写,在性能方面有一定保证。

3.反向代理:Nginx 可以用来做负载均衡及反向代理使用,目前使用最多的是负载均衡。

4.与 Nginx 同类的 Web 服务有 Apache、Tomcat 等。

5.官方网站:http://nginx.org/

2、Nginx 服务器特点

(1)模块化设计

Nginx 将模块分为核⼼模块、HTTP 模块、事件模块和邮件模块 四类。每个模块都有特定的职责,从⽽实现了整个 Web 服务器 的功能。

(2)低内存消耗,⾼并发

Nginx 使⽤ epoll and kqueue 作为开发⼯具,能够⽀持最⼤ 50000 个并发连接数的响应;不论是系统资源开销还是 CPU 使 ⽤效率都很优秀。

(3)事件驱动

nginx 采⽤异步⽅式处理请求。

同步:指在发送⽅发出消息后,需要等待接收到接收⽅发回的响 应,或者通过回调函数来接收到对⽅响应信息。

异步:指在发送⽅发出请求后,接收⽅不需要返回消息或者不等 待返回消息,直接提供响应请求机制。

(4)⾼可靠性,master 与 worker 架构

⼀个主进程和多个⼯作进程。⼯作进程是单线程的,且不需要特 殊授权即可运⾏;

master进程:主要⽤来监控worker进程⼯作状态进⾏相应重 启、停⽌等操作。

worker进程:进⾏具体提供服务,接受请求和处理请求。

(5)⽀持热更新配置、⽇志⽂件滚动、平滑升级

/usr/local/nginx/sbin/nginx -s reloadhtml⽬录中的⽂件发上修改之后,不需要nginx服务 可向 master 发送 USR1、QUIT 等信号,⽆需强制停⽌服务即 可完成热更新。

向 master 发送的 USR1,可实现⽇志⽂件滚动。

向 master 发送的 USR2,可实现平滑升级。

(6)丰富的扩展模块

可在编译安装 nginx 时指定拓展模块,例如:nginx-sticky。

module 模块(基于 cookie 来进⾏负载转发)。

3.nginx安装

1.源码下载安装

  下载地址:   https://nginx.org/download/nginx-1.26.1.tar.gz

​
[root@nginx ~]# wget https://nginx.org/download/nginx-1.26.1.tar.gz

2.安装依赖包
[root@nginx ~]# yum -y install gcc gcc-c++ make  lrzsz
[root@nginx ~]# yum -y install openssl-devel pcre-devel
 3.解压
[root@nginx ~]# tar -zxvf nginx-1.26.1.tar.gz
4.编译安装
[root@nginx ~]# cd nginx-1.26.1/
[root@nginx nginx-1.26.1]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-stream
[root@nginx nginx-1.26.1]# make && make install

“configure”,编译安装前的预配置。

--prefix=/usr/local/nginx:指定软件的安装路径,注意不是安装包⽬录,⽽是软件要安装在哪。

--user=nginx:程序⽤户为nginx。

--group=nginx:组为nginx。

--with-http_ssl_module:提供HTTPS⽀持,ssl证书模块。

--with-http_stub_status_module:获取nginx⼯作状态模块。

--with-http_realip_module:获取真实客户端IP。

--with-stream:启⽤TCP/UDP代理模块。

5.创建用户
[root@nginx nginx-1.26.1]# useradd -s /bin/nologin -M nginx
5.检查安装目录
[root@nginx nginx-1.26.1]# tree /usr/local/nginx/

 

[root@nginx nginx-1.26.1]# cd /usr/local/nginx/

6.启动nginx并查看
[root@nginx nginx]# ./sbin/nginx
[root@nginx nginx]# netstat -lnput | grep nginx

7.拒绝访问,开放端口或服务

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

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

相关文章

微服务--配置管理

现在依然还有几个问题需要解决&#xff1a; 网关路由在配置文件中写死了&#xff0c;如果变更必须重启微服务 某些业务配置在配置文件中写死了&#xff0c;每次修改都要重启服务 每个微服务都有很多重复的配置&#xff0c;维护成本高 这些问题都可以通过统一的配置管理器服…

DRAM组件级故障预测模型,如何提升系统可靠性?-2

一、DRAM原理与可靠性 在深入探讨DRAM系统的可靠性问题前&#xff0c;我们需要明确几个基本概念。首先&#xff0c;故障指的是可能导致系统错误的物理缺陷&#xff0c;而错误则是系统实际状态与期望状态之间的差异。故障可分为暂时性故障和永久性故障&#xff1a;前者由外部因…

谁说PDF编辑器都一样?这5款让你大开眼界!

如今&#xff0c;PDF文档已经成了咱们工作生活中必不可少的东西。无论是看学术报告、合同协议&#xff0c;还是日常阅读的电子书&#xff0c;都能在不同的设备上保持一致的格式&#xff0c;成了大家最爱用的文档格式之一。但是&#xff0c;面对这么多PDF编辑器&#xff0c;你是…

当我在星巴克连上家里的服务器,光猫桥接打通IPv6,你是值得的

我们的课程环境是构建在一个256GB内存&#xff0c;192核CPU的集群上&#xff0c;学员可以通过浏览器&#xff0c;输入地址访问。要在阿某云上租这样一个服务器&#xff0c;价格并不便宜。所以&#xff0c;这些服务器一直放在公司里&#xff0c;创业期间&#xff0c;公司也就是租…

Docker三大基础组件

Docker有三个重要的概念&#xff1a;仓库、镜像和容器 &#xff0c;它们是Docker的三大基础组件&#xff0c;这三个组件共同构成了Docker的核心架构&#xff0c;使得Docker能够实现对应用程序的便捷打包、分发和运行。 Docker使用客户端-服务器体系结构。Docker客户端与Docker守…

angular入门基础教程(十一)与服务端数据交互

前后端分离开发&#xff0c;少不了与后端进行数据接口的对接&#xff0c;在vue&#xff0c;react中我们要借助第三方的axios来进行数据请求。在ng中&#xff0c;为我们封装了了一层httpClient&#xff0c;我们直接使用即可 依赖注入 我们需要再次封装一次 import { HttpClie…

虚假的互联网信息?不妨从IT的角度理解【景观社会】

博主前言&#xff1a;“我思故我在”&#xff0c;笛卡尔的这一哲学命题&#xff0c;大抵上次还比较熟络的时光还是高中亦或复习考研政治的岁月里。这是一个光怪陆离的社会——或者说网络社会&#xff0c;形形色色的消息充斥在脑海之时&#xff0c;你是否还能认识真正的自己&…

3.2.微调

微调 ​ 对于一些样本数量有限的数据集&#xff0c;如果使用较大的模型&#xff0c;可能很快过拟合&#xff0c;较小的模型可能效果不好。这个问题的一个解决方案是收集更多数据&#xff0c;但其实在很多情况下这是很难做到的。 ​ 另一种方法就是迁移学习(transfer learning…

window长时间不关机,卡顿处理方法

window使用一短时间非常卡&#xff0c;快速处理办法如下&#xff1a; 1、windowR 输入%temp% 手动删除临时目录文件。 2、windowR输入cleanmgr 磁盘清理 3、恶意软件删除工具 删除流行恶意软件。

What Is RPC(Remote Procedure Call,远程过程调用)

RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;是一种计算机通信协议&#xff0c;它允许一个计算机程序通过网络调用另一个计算机程序中的子程序&#xff08;也就是远程过程&#xff09;&#xff0c;并获取返回值。RPC服务是分布式计算的重要基础&…

面向对象程序设计(C++)模版初阶

1. 函数模版 1.1 函数模版概念 函数模板代表了一个函数家族&#xff0c;该函数模板与类型无关&#xff0c;在使用时被参数化&#xff0c;根据实参类型产生函数的特定类型版本&#xff0c;可以类比函数参数&#xff0c;函数模版就是将函数参数替换为特定类型版本 1.2 函数模版格…

mlp与attention的计算时间复杂度分别为多少?PAtchtst为啥patch后为啥attention计算量降低?

感谢分享 看这篇博客的时候&#xff0c;因为patch后做了一个fc的映射&#xff0c;也是有计算的消耗嘛&#xff0c;好奇为什么说patchtst能够减小“注意力图的内存使用和计算复杂度减少了S倍&#xff0c;从而在计算资源有限的情况下允许模型查看更长的历史序列。“ 所以思考了一…

【时时三省】(C语言基础)循环语句while(2)

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ——csdn时时三省 getchar和scanf的作用 示例: int main ( ) &#xff5b; char password[20] ( 0 ) ; printf ( "请输入密码&#xff1a;> " )&#xff1b; scanf ( " &#xff05;s…

Redis:未授权访问

Redis Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的高性能键值对&#xff08;key-value&#xff09;数据库&#xff0c;支持多种类型的数据结构。 核心特性 内存存储&#xff1a;Redis将所有数据存储在内存中&#xff0c;能够提供极高的读写性能。 …

jumpserver web资源--远程应用发布机

1、环境 jumpserver:3.10.10 远程发布机&#xff1a;windows 2019 2、windows 2019准备 保证windows 正常登录&#xff0c;并且可以访问jumpserver 3、添加远程发布机 能正常连接就继续 可看到这里正常了 4、添加web资源 找到我们需要自动登录界面 获取相关元素选…

独立3D网络游戏《战域重甲》开发与上架经验分享

“ 小编阿麟&#xff1a;心之所向便是光&#xff0c;我们都是追光者!这位独立游戏开发者的产品能力已经不输给许多小团队&#xff0c;希望他的故事和经验分享&#xff0c;可以给走在同样道路上的朋友一些信心和帮助。 背景介绍 2023年年底的时候&#xff0c;我突然有一个很强的…

OpenGL3.3_C++_Windows(32)

demo SSAO SSAO 环境光照(Ambient Lighting)&#xff1a;光的散射&#xff0c;我们通过一个固定的常量作为环境光的模拟&#xff0c;但是这种固定的环境光并不能很好模拟散射&#xff0c;因为环境光不是一成不变的&#xff0c;环境光遮蔽&#xff1a;让&#xff08;褶皱、孔洞…

Qt Designer,仿作一个ui界面的练习(一):界面的基本布局

初学不要太复杂&#xff0c;先做一个结构简单的&#xff0c;大致规划一下功能分区&#xff0c;绘制草图&#xff1a; 最终的效果&#xff1a; 界面主要由顶边栏、侧边栏、内容区构成。顶边栏左边是logo&#xff0c;右边是时钟显示。侧边栏最上边是切换按钮&#xff0c;用以动画…

Notcoin 即将空投:你需要知道什么

Notcoin 于 2024 年 1 月推出&#xff0c;是 Telegram 上的一款边玩边赚游戏&#xff0c;用户可以通过点击硬币图标获得 Notcoin 代币 (NOT) 形式的奖励。NOT 建立在开放网络区块链&#xff08;称为“TON 区块链”&#xff09;上&#xff0c;由 Open Builders 创始人 Sasha Plo…

鸿蒙配置Version版本号,并获取其值

app.json5中配置版本号&#xff1a; 获取版本号&#xff1a; bundleManager.getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION).then((bundleInfo) > {let versionName bundleInfo.versionName; //应用版本号}).catch((error: BusinessE…