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

一、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.mzph.cn/pingmian/51601.shtml

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

相关文章

Windows 11 实现移动热点自启动

原文链接&#xff1a;https://blog.iyatt.com/?p16784 背景 公司的 WiFi 用起来很卡&#xff0c;但是电脑有线使用网络又是正常的&#xff0c;另外我用的那台台式机是有无线网卡的&#xff0c;平时就是用电脑开热点给手机用&#xff0c;但是每次开机都要自己手动启动就麻烦&…

【云原生】Kubernetes中crictl的详细用法教程与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

心动小站Ⅸ--Nvidia一种夸张的增长

当有灭绝级别的威胁时&#xff0c;你希望它如何出现在头版&#xff1f;华尔街日报或 CNN 的新闻中说它即将发生&#xff1f; 大多数新闻都是在灾难发生后才传到你耳中的。谈到人工智能&#xff0c;我们已经收到了很多警告&#xff0c;这些警告来自各个领域的专家&#xff0c;比…

下面关于枚举的描述正确的一项是?

A. 枚举中定义的每一个枚举项其类型都是String&#xff1b; B. 在Java中可以直接继承java.util.Enum类实现枚举类的定义&#xff1b; C. 利用枚举类中的values()方法可以取得全部的枚举项&#xff1b; D. 枚举中定义的构造方法只能够使用private权限声明&#xff1b; 答案选择…

鸿蒙(API 12 Beta2版)NDK开发【Node-API简介】

Node-API简介 场景介绍 HarmonyOS Node-API是基于Node.js 8.x LTS的[Node-API]规范扩展开发的机制&#xff0c;为开发者提供了ArkTS/JS与C/C模块之间的交互能力。它提供了一组稳定的、跨平台的API&#xff0c;可以在不同的操作系统上使用。 本文中如无特别说明&#xff0c;后…

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

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

CTF Web SQL注入 10000字详解

这里写目录标题 涉及的数据库知识unionorder bydatabase()information_schemalimit--空格注释replaceinto outfilelikeGROUP BYHAVINGGROUP BY、HAVING、WHERE之间的关系regexp 原理信息收集操作系统数据库判断注入点注入点类型POST注入数字型注入字符型注入搜索型注入Insert/u…

数学中的连分式、无穷连根式、平方根

连分式 连分式&#xff08;continued fraction&#xff09;由和与倒数的多层嵌套构成&#xff0c;可以是有限的&#xff0c;也可以是无限的。 表达式&#xff1a;或 import mathdef fraction_to_continued_fraction(numerator, denominator, max_terms):"""计算…

【无标题】web+http协议+nginx搭建+nginx反向代理(环境准备)

一&#xff0e;Web 为用户提供互联网上浏览信息的服务&#xff0c;web服务是动态的&#xff0c;可交互的。 1.安装httpd yum -y install httpd 2.启动 systemctl start httpd 3.关闭防火墙 systemctl stop firewalld [rootrs html]# echo "我手机号是" > …

如何在 cPanel 上更改主共享 IP 地址

cPanel & WHM的主共享IP地址是服务器上新建虚拟主机账户时的默认IP地址。这使得主机服务商能够轻松创建新账户&#xff0c;并简化原本复杂且耗时的域名和网络服务器配置过程。但如果你想更改cPanel服务器的主共享IP地址&#xff0c;该怎么办呢&#xff1f; 本文将概述更改服…

PHP经销商订货管理系统小程序源码

经销商订货管理系统&#xff1a;重塑供应链效率的利器 &#x1f680; 开篇&#xff1a;解锁供应链管理的新纪元 在竞争激烈的商业环境中&#xff0c;经销商作为供应链的关键一环&#xff0c;其订货效率直接影响到整个供应链的流畅度和响应速度。传统的订货方式往往繁琐、易出…

精品PPT | 云原生大数据平台构建及落地实践.pptx

1、监控和可观测性的关系及渊源 2、当前阶段落地可观测性的挑战在哪里 3、落地好一个可观测系统的三大要素 4、面向故障处理过程的可观测性体系建设案例 5、思考&#xff1a;人工智能2.0对可观测性技术和产品演进的影响

YOLO入门教程(一)——训练自己的模型【含教程源码 + 故障排查】

目录 引言前期准备Step1 打标训练Step2 格式转换Step3 整理训练集Step4 训练数据集4.1创建yaml文件4.2训练4.3故障排查4.3.1OpenCV版本故障&#xff0c;把OpenCV版本升级到4.0以上4.3.2NumPy版本故障&#xff0c;把NumPy降低版本到1.26.44.3.3没有安装ultralytics模块4.3.4Aria…

Web 安全:Memcached 未授权访问漏洞.(11211端口)

Web 安全&#xff1a;Memcached 未授权访问漏洞 Memcached 是一套常用的 key-value 缓存系统&#xff0c;由于它本身没有权限控制模块&#xff0c;所以对公网开放的 Memcache 服务很容易被攻击者扫描发现。然而 Memcached 的默认配置&#xff0c;11211 端口 不需要密码即可访问…

ROUND() Function in SQL(四舍五入)

ROUND() Function in SQL ROUND() 函数用于将数值四舍五入到指定的小数位数或者整数位数。 不同的数据库系统可能会有一些细微的语法差异&#xff0c;但基本功能都是一致的。 1. 基本语法 ROUND(number, decimal_places)number: 要进行四舍五入的数值。decimal_places: 可选参…

Spring事件监听的核心机制及其原理

Spring事件监听 Spring的事件监听机制主要由三大核心部分组成即事件&#xff0c;监听器和播放器三部分组成。 事件的发布是通过spring当中的pulishEvent方法实现。事件监听实现是通过监听器监听了对应事件的监听器来实现的。 事件监听的作用&#xff1a;为系统业务之间进行一…

1、AI测试辅助-提示词优化

AI测试辅助-提示词优化 一、基本规则二、提示词优化技巧&#xff1a;2.1 Prompt 逆向工程2.2 提示词框架2.2.1 CO-STAR 框架 2.3 提示词生成器 三、总结 一、基本规则 写提示词有个通用的基本规则&#xff0c;遵循这个规则基本上能解决大部分的问答&#xff1a; 角色任务要求 …

2024经济师考试报名『注册流程』图解!

⏰报名时间&#xff1a;8月12日—9月11日 ☑️报名注册流程 1、经济师考试报名注册网站&#xff1a;中国人事考试网. 2、点击考生登录栏目中的【新用户注册】按钮&#xff0c;进行注册。 3、进入用户注册界面&#xff0c;填写注册信息。 4、填写完毕确认无误后点击【提交】&…

thinkPHP开发的彩漂网站源码,含pc端和手机端

源码简介 后台thinkPHP架构,页面程序双分离,Mysql数据库严谨数据结构、多重数据审核机制、出票机制和监控机制,html5前端技术适用移动端,后台逻辑更多以server接口可快捷实现对接pc和ap,下载会有少量图片素材丢失,附件有下载说明前端demo账户密码和后台管理地址管理员账户密码…