Linux系统服务——【web,http协议,apache服务和nginx服务】(sixteen day)

news2025/1/11 21:59:35

一、web基础以及http协议

1、web基本概念和常识

前端开发一般用uniapp.

1、Web:为用户提供的一种在互联网上浏览信息的服务,Web 服务是动态的、可交互的、跨平台的和图形化的。
2、Web 服务为用户提供各种互联网服务,这些服务包括信息浏览服务,以及各种交互式服务,包括聊天、购物、学习等等内容。
3、Web 应用开发也经过了几代技术的不断发展,目前Web 开发依然是最重要的开发内容之一。Web 基础的技术包括超文本标记语言(HTML)和 HTTP 协议,HTML是一种呈现数据的方式(给人看的),而 HTTP 则是一组通信的标准(语法、语义、时许),可以简单的理解为 HTTP 携带 HTML。

————————————————————————————————————————

1、web 应用:网站(广义上的PC,手机app)
2、浏览器(Browser):也称用户代理,web客户端,主要有IEEdge、Chrome、Firefox、腾讯浏览器,360浏览器等

3、web服务器(webserver):也称HTTP服务器(HTTPserver),要有 Nginx、Apache、Tomcat 等。

2、网站基础

(1)域名

域名是⼀个IP地址的“⾯具” ,⽬的是便于记忆和访问⼀个或⼀ 组服务器的地址(⽹站,电⼦邮件,FTP 等)
(2)域名解析
本地HOSTS解析
DNS服务器解析

(3)网站的基本概念

⽹站、⽹⻚、主⻚;
HTTP、URL、HTML、超链接
(4)web网站
web1.0(以编辑为特征)
web2.0(侧重⽤户交互)

yum -y install httpd

systemctl start httpd

systemctl stop firewalld

echo "我是静态的html文件" > index.html

静态资源  根据开发者保存的项目资源目录中的路径去访问静态的资源 html  图片 js css 音乐  视频

静态服务和动态服务

生成一个大文件

二、http协议

HTTP协议是超⽂本传输协议的缩写,英⽂是Hyper Text Transfer 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.无状态:无状态是指协议对于事务处理没有记忆,后续处理需要前面的信息,则必须重传。

dd  if=/dev/zero of=/var/www/html/a.txt bs=30M count=1   #创建一个文件,给定文件大小为30M

3、URI 和 URL 的区别

(1)HTTP使用统一资源标识符(Uniform Resource ldentifiersURI)来传输数据和建立连接。
          URl:Uniform Resource ldentifier 统一资源标识符
          URL:Uniform Resource Location 统一资源定位符
(2)URI是用来标识一个具体的资源的,我们可以通过 URI知道一个资源是什么,使用它就能够唯一地标记互联网上资源
(3)URL 则是用来定位具体的资源的,标识了一个具体的资源位置。互联网上的每个文件都有一个唯一的。
(4)URL,也就是我们俗称的网址,它实际上是 URI的一个子集。
(5)URI不仅包括 URL,还包括 URN(统一资源名称),它们之间的关系如下:

三、HTTPS协议

HTTP⼀般是明⽂传输,很容易被攻击者窃取重要信息,鉴于 此,HTTPS应运⽽⽣。
HTTPS 的全称为 (HyperTextTransferProtocoloverSecureSocketLayer),
HTTPS 和 HTTP 有很⼤的不同在于 HTTPS 是以安全为⽬标的 HTTP通道,在HTTP 的基础上过传输加密和身份认证保证了 传输过程的安全性。
HTTPS 在 HTTP 的基础上增加了 SSL 层,也就是说 HTTPS=HTTP+SSL。

1、HTTP使⽤明⽂传播,有三⼤⻛险

(1)窃听⻛险(eavesdropping):第三⽅可以获知通信内容。
(2)篡改⻛险(tampering):第三⽅可以修改通信内容。
(3)冒充⻛险(pretending):第三⽅可以冒充他⼈身份参与通信。

2、SSL/TLS协议是为了解决这三⼤⻛险⽽设计的,希望达到

(1)所有信息都是加密传播,第三⽅⽆法窃听。
(2)具有校验机制,⼀旦被篡改,通信双⽅会⽴刻发现。
(3)配备身份证书,防⽌⽌身份被冒充。

3、https安全通信的四大原则

(1)机密性
就是对数据的加密,在传输数据的过程当中,如果被⼈劫持了数
据,那么这个加密的数据对⽅不能轻易获得。
(2)完整性
是指数据在发送到接收的过程当中没有被篡改,从⽽接收到的数据
是⼀个完整的数据内容。
(3)身份认证
数据传输的过程当中对于身份的验证,确认对⽅是传送数据过来的
⼈。可以解决冒充这样的⻛险。
(4)不可否认性
不能否认已经发⽣的⾏为。⽐如刚才举例双⽅借钱需要有借据并且
签名按⼿印,如此⼀来就不能抵赖。

四、apache服务

查看华为云主机的所有的打开的端口

systemctl start firewalld

firewall-cmd --list-ports

回到本地虚拟机

systemctl start firewalld

可以停用防火墙,也可以指定端口打开

setenforce 0

firewall-cmd --zone=public --add-port=80 --permanent

systemctl start httpd

查看防火墙的打开的端口

firewall-cmd --list-all

shutdown

apache服务器的搭建

firewall-cmd --list-ports    #查看主机的所有打开端口

yum -y install httpd

rpm -qa |grep httpd    #查看安装情况以及安装的资源文件
rpm -ql httpd      #查看安装资源文件
ls /etc/httpd
vim /etc/httpd/conf/httpd.conf 
ls /var/www/html      #查看配置文件
systemctl start httpd    #启动http服务
#查看端口
netstat -lnput|grep http
#检查防火墙
systemctl status firewalld
#可以单独的打开端口
firewall-cmd --zone=public --add-service=http
#打开服务器不会马上生效,需要重启或者重载服务信息
firewall-cmd --reload
firewall-cmd --list-all
firewall-cmd --add-port=80/tcp --zone=public --permanent    #一定要加
firewall-cmd --reload

cd /var/www/html

vim index.html

<!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>

物理机浏览器输入192.168.1.33/index.html

静态文件如果无法在浏览器上访问,就一定无法加载在页面上

五、nginx

(一)nginx服务

1、nginx服务器的特点

(1)模块化设计

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

(3)事件驱动

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

(5)支持热更新配置、日志文件滚动、平滑升级

(6)丰富的扩展模块

2、nginx与apache的区别
(1)架构
Apache 采⽤多进程架构,每个请求都由⼀个独⽴的进程处理; ⽽Nginx采⽤异步事件驱动的架构,可以处理更多的并发连接。
(2)性能
由于Nginx的架构设计,它可以处理更多的并发连接,⽽且在⾼ 负载情况下表现更加稳定和可靠。因此,Nginx通常被认为是⽐ Apache更⾼效的Web服务器。
(3)配置
Apache 的配置⽂件⽐较复杂,需要⼀定的学习和经验才能正确 配置;⽽ Nginx 的配置⽂件⽐较简洁和可读性强,更容易理解 和配置。
(4)功能
ngin x有许多模块可以扩展其功能,例如 mod_rewrite ⽤于 URL 重写,mod_ssl⽤于 SSL 加密等;⽽apach 的功能⽐较简 单,但是可以通过第三⽅模块扩展其功能。
3、源码编译安装

(1)下载源码包

wget https://nginx.org/download/nginx-1.26.1.tar.gz
ls 
nginx-1.26.1.tar.gz
tar -zxvf nginx-1.26.1.tar.gz

安装依赖软件

yum -y install gcc gcc-c++
yum -y install make
yum -y install openssl-devel
yum -y install pcre-devel

(2)编译安装

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-stream

./configure:“./”再需要解释就别学运维了,“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代理模块。省略预配置过程

make

make install

useradd -s /bin/nologin -M nginx      #没有nginx用户不能启动
检查目录

tree /usr/local/nginx

开放端口或者服务80

firewall-cmd --zone=public --add-port=80/tcp --permanent

重载防火墙

firewall-cmd --reload

4、启动和关闭nginx服务

ln -s /usr/local/nginx/sbin/nginx  /usr/bin
nginx
nginx -s stop
netstat -lnput | grep nginx
nginx
netstat -lnput | grep nginx
ls -l  /usr/bin/nginxl
ls -l  /usr/bin/nginx
之所以指令能在命令行使用,是因为在$PATH目录中能找到这个可执行文件或者是这个可执行文件的连接文件

5、用脚本启动nginx

vim ~./nginx.sh

#!/bin/bash
/usr/local/sbin/nginx &> /dev/null
netstat -lnput|grep nginx
if [ $? -ne 0  ];then
      echo "当前nginx正在执行,或者是80被占用"
fi

bash ~./nginx.sh
当前nginx正在执行,或者是80被占用
或者

bash ~/nginx.sh
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      16432/nginx: master 
 

6、用systemctl启动nginx

vim /usr/lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=Flase
[Install]
WantedBy=multi-user.target

重载systemctl的配置文件

systemctl daemon-reload

systemctl stop nginx
systemctl restart nginx

(二)nginx企业实战

添加监控模块

vim /usr/local/nginx/conf/nginx.conf

:set number

:43,46 co 47

 48         location /status{
 49            stub_status on;
 50            access_log off;
 51         }

systemctl reload nginx

物理机浏览器访问:192.168.1.44/status

Active connections: 2    #活动的连接数
server accepts handled requests  #累计接受的连接数   累计处理的连接数   累计请求的连接数
 4 4 3  
Reading: 0 Writing: 1 Waiting: 1    #正在读取,写入和等待的连接数

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

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

相关文章

关于使用pagehelper分页插件 进行mybatis 一对多嵌套查询时 查询数量太多 无法达到你想展示的效果的问题 --已解决

1.问题 先来描述一下问题 我有一个商品表 里面嵌套 1.1如下是我的数据库 一个商品对应两个口味对应三个商品轮播图&#xff0b;两个商品描述图 那可不是1*2*2*3 12 就是分页里面的pageSize 为12 时才能显示完这个商品的完整数据 这是我的sql语句 resultMap映射 2.正确做…

【香橙派系列教程】(二)刷机和系统启动

&#xff08;二&#xff09;刷机和系统启动 文章目录 &#xff08;二&#xff09;刷机和系统启动1.刷机2.基于 Windows PC 将 Linux 镜像烧写到 TF 卡的方法3.Debian 和 Ubuntu 系统使用说明4.串口登录系统5.修改登陆密码6.修改网络配置7.SSH登录开发板8.修改开发板内核启动日志…

学习008-02-04-05 Make a List View Editable(使列表视图可编辑)

Make a List View Editable&#xff08;使列表视图可编辑&#xff09; This lesson explains how to make a List View editable. 本课介绍如何使列表视图可编辑。 The instructions below show how to create new objects of the DemoTask type directly in the Task List V…

MSPM0G3507之电赛小车

一、前言 本文没什么技术分享&#xff0c;纯聊天。以下内容均为笔者的浅薄理解&#xff0c;有不对的地方还请多多包涵。 二、相关配置 主控单元&#xff1a;MSPM0G3507SPTR&#xff08;48角&#xff09; 编译环境&#xff1a;Keil5.33、5.39&#xff08;推荐&#xff09;都可 …

一分钟小课堂!电脑怎么录屏?4款热门软件实操指南

在这个信息超多的时代里&#xff0c;学会电脑怎么录屏可真是一门挺有用的技能。不管是你想做教学视频、录下游戏里好玩的瞬间&#xff0c;还是展示一下工作上的步骤&#xff0c;掌握录屏的方法都能让你的分享更直观、更有效率。今天&#xff0c;咱们就来聊聊四款很火的录屏大师…

vue3-环境变量-JavaScript-axio-基础使用-lzstring-字符串压缩-python

文章目录 1.Vue3环境变量1.1.简介1.2.全局变量的引用1.3.package.json文件 2.axio2.1.promise2.2.安装2.3.配置2.3.1.全局 axios 默认值2.3.2.响应信息格式 2.4.Axios的拦截器2.4.1.请求拦截器2.4.2.响应拦截器2.4.3.移除拦截器2.4.4.自定义实例添加拦截器 3.lz-string3.1.java…

Tantivy使用Rust 开发的全文搜索引擎库

一、概述 Tantivy是一个全文搜索引擎库&#xff0c;灵感来自Apache Lucene&#xff0c;用Rust编写。 如果你正在寻找Elasticsearch或Apache Solr的替代品&#xff0c;请查看我们基于Tantivy构建的分布式搜索引擎Quiuckwit。 Tantivy更接近Apache Lucene&#xff0c;而不是E…

仅需一分钟,使用极空间部署一个强大的开源问卷考试系统『SurveyKing』

仅需一分钟&#xff0c;使用极空间部署一个强大的开源问卷考试系统『SurveyKing』 哈喽小伙伴们好&#xff0c;我是Stark-C~ 我们生活中估计应该都收到了不少的问卷调查吧&#xff1f;很多商家或者运营商都会通过问卷调查的方式了解客户满意度&#xff0c;或者高市场调研&…

数据中台建设之数据汇聚与数据交换

目录 一、数据汇聚 1.1 概述 1.2 汇聚数据类型 1.2.1 结构化数据 1.2.2 半结构化数据 1.2.3 非结构化数据 1.3 汇聚数据模式 1.3.1 概述 1.3.2 离线 1.3.3 实时 1.4 汇聚数据方法 1.4.1 概述 1.4.2 ETL 1.4.3 ELT 1.5 汇聚数据工具 1.5.1 概述 1.5.2 Flink CDC…

Java人力资源招聘社会校招类型招聘系统PC端

&#x1f50d;【揭秘】人力资源新利器&#xff01;社会校招一站式PC端招聘系统全攻略&#x1f680; &#x1f308; 开篇引言&#xff1a;招聘新纪元&#xff0c;效率为王&#xff01; Hey小伙伴们&#xff0c;你是否还在为繁琐的招聘流程头疼不已&#xff1f;&#x1f92f; 面…

Spark累加器(Accumulator)

1.累加器类型&#xff1a; 数值累加器&#xff1a;用于计算总和、计数等。布尔累加器&#xff1a;用于计算满足特定条件的次数。自定义累加器&#xff1a;允许定义复杂的聚合逻辑和数据结构。集合累加器&#xff1a;用于计算唯一元素的数量&#xff0c;处理去重操作。 在 Spar…

Qt Designer,仿作一个ui界面的练习(四):编写代码

一、新建项目&#xff0c;目录结构如图&#xff1a; PYS下存放脚本&#xff0c;SRC下存放资源文件&#xff0c;UIS下存放组态画面文件。 在每个子目录下都有__init__.py文件&#xff0c;系统会自动将其识别为软件包。 其中一个UIS.__init__.py文件的内容&#xff1a; # impo…

手撕数据结构02--二分搜索(附源码)

一、理论基础 二分搜索&#xff0c;也称折半搜索、对数搜索&#xff0c;是一种在有序数组中查找某一特定元素的搜索算法。 二分搜索是一种高效的查找算法&#xff0c;适用于在已排序的数组中查找特定元素。它的基本思想是通过不断将搜索区间对半分割&#xff0c;从而快速缩小…

ROOM数据快速入门

ROOM数据库快速入门 文章目录 ROOM数据库快速入门第一章 准备工作第01节 引入库第02节 布局文件第03节 activity类第04节 效果图 第二章 数据类第01节 实体类&#xff08;表&#xff09;第02节 数据访问类&#xff08;DAO&#xff09;第03节 数据Service层第04节 RoomDataBase …

达梦数据库DPI 实现两个数据库数据互通

链接字符串是目标访问链接 目标访问用户名 口令实现 31 里访问33库的数据 如果在31上建立视图访问33的某个表 AS SELECT SZZJ.sys_user.id FROM SZZJ.sys_userszzj31_szzj33;

护眼灯哪些牌子好?五款专业护眼灯品牌排行推荐

普通台灯长时间使用下来&#xff0c;眼睛疲劳、酸涩。但当作业或者工作没有做完的时候&#xff0c;还得硬着头皮撑着。大家是不是经常为这种事情发愁&#xff1f;于是&#xff0c;护眼台灯被设计出来了&#xff0c;但市面上出现的护眼台灯种类多&#xff0c;质量也是难以保证&a…

开发进度网站带后台源码

【源码介绍】 后台地址是&#xff1a;admin.php 后台没有账号密码 这个没有数据库 有能力的可以自己改 【搭建教程】 1.源码上传至虚拟机或者服务器 2.绑定域名和目录 3.访问域名安装&#xff0c; 4.安装完成后就行了 注&#xff1a;资源均网络搬运 仅供测试学习使用&#xff…

【数据结构与算法】队列(顺序存储)

队列 一.队列的原理二.队列的结构三.队列初始化四.判断队列是否满或空1.是否为满2.是否为空 五.入队操作六.队列的遍历七.出队操作1.前移2.后指 八.其他小接口1.获取队列首元素2.获取队列长度3.清除队列 酒.总结 一.队列的原理 队列也是一种线性结构,只不过是一种受限制的线性…

微服务面试-分布式 注册中心 远程调用 保护

标红的原理还是不太熟悉 重新看 分布式事务 CAP理论 Consistency&#xff08;一致性&#xff09; Availability&#xff08;可用性&#xff09; Partition tolerance &#xff08;分区容错性&#xff09; BASE 理论 就是做取舍 cap三选二 AT模式脏写 TCC模式 注册中…

25考研数据结构复习·6.4图的应用

最小生成树 Prim算法 从某一顶点开始构建生成树&#xff1b;每次将代价最小的新顶点纳入生成树&#xff0c;知道所有顶点都纳入为止。 时间复杂度O(|V|^2) 适合用于边稠密图 实现思想 从V0开始&#xff0c;总共需要n-1轮处理 每一轮处理&#xff1a;循环遍历所有结点&…