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

一、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.mzph.cn/diannao/51704.shtml

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

相关文章

深入源码:解析SpotBugs (3) Detector

文章目录 OpcodeStackDetector常用套路调用栈visit code类检测方法检测代码行检测 前面的博客也提到过&#xff0c;Spotbugs 里面 Detector2 与 Detector&#xff0c;FindBugs2 与 FindBugs&#xff0c;GUI2与GUI&#xff0c;可以视为 Spotbugs 与 FindBugs 新老技术的碰撞&…

STM32单片机C语言:继电器控制220v灯泡亮灭

本文旨在详细阐述如何利用STM32单片机结合继电器模块&#xff0c;实现对220V灯泡亮灭的远程控制。我们将深入探讨继电器的工作原理&#xff0c;构建相应的硬件电路&#xff0c;并提供具体的程序实现步骤&#xff0c;在智能家居与自动化控制领域的应用的比较多。 一、继电器原理…

接口测试支持IDEA插件一键同步API、新增思维导图快速评审测试用例,MeterSphere开源持续测试工具v3.1.0版本发布

2024年7月29日&#xff0c;MeterSphere开源持续测试工具正式发布v3.1.0版本。 在这一版本中&#xff0c;接口测试方面&#xff0c;支持通过IDEA插件一键同步API至MeterSphere&#xff1b;测试管理方面&#xff0c;“测试用例”模块新增通过思维导图模式快捷评审测试用例。在“…

扫码登录方案

以哔哩哔哩扫码登录为例 二维码解码后内容为&#xff1a;https://passport.bilibili.com/h5-app/passport/login/scan?navhide1&qrcode_keye60869ce7f5235c7123175a7effc6f90&frommain-fe-header 扫码登陆&#xff0c;利用已登录设备授权未登录设备登录的方式 扫码…

使用JavaFx Fxml笔记

使用JavaFx Fxml实现账号密码登录 HelloApplication.java&#xff1a;package com.example.dr295cmonth7;import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.geometry.Insets; import javafx.scene.Parent; import javafx.scene.Scene; i…

【论文精读】 | 基于图表示的视频抑郁症识别的两阶段时间建模框架

文章目录 0、Description1、Introduction2、Related work2.1 Relationship between depression and facial behaviours2.2 Video-based automatic depression analysis2.3 Facial graph representation 3、The proposed two-stage approach3.1 Short-term depressive behaviour…

请你谈谈:vue的渲染机制(render)- 2举例说明问题

如何在 Vue 的 render 函数中使用 createElement 方法来创建虚拟节点&#xff08;VNode&#xff09;。这里是一个稍微整理后的示例&#xff0c;它直接对应于你提供的注释和代码片段&#xff0c;但作为一个完整的 render 函数的一部分&#xff0c;可能位于一个 Vue 组件的 scrip…

javascript(一)

一、基本语法 1.位置 (1)JavaScript脚本必须位于<script>与</script>之间 (2)<script>标签可以位于<body>或者<head>部分中 2.输出语句 (1)window.alter() 弹出警告框 (2)document.write() 可以将内容在网页中打印出来&#xff0c;同时也…

二维01背包 背包滚动数组 分割等和子集 DAY22

11.背包理论基础 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 背包问题有多种背包方式&#xff0c;常见的有&#xff1a;01背包、完全…

进程间通信方式--管道

每个进程的用户地址空间都是独立的&#xff0c;一般而言是不能互相访问的&#xff0c;但内核空间是每个进程都共享的&#xff0c;所以进程之间要通信必须通过内核。 管道 管道的linux命令&#xff1a;ps auxf | grep mysql 上面命令行里面的竖线就是一个管道&#xff0c;它的功…

新手vue学习问题汇总(自用)(长期更新)

1.export default export default 是 ES6 模块语法&#xff0c;用于导出模块的默认成员。在 Vue.js 中&#xff0c;通常用来导出一个组件对象&#xff0c;使其可以在其他文件中被导入并使用。 2.props props 是组件接收外部数据的方式。父组件可以通过向子组件传递 props 来…

紫杉醇生物合成机制研究进展-文献精读35

紫杉醇生物合成机制研究进展 摘要 紫杉醇是目前已发现的最具抗癌活性的天然广谱抗癌药物之一&#xff0c;其生产方式主要依赖于从珍稀植物红豆杉中进行分离提取以及化学半合成&#xff0c;因其含量稀少&#xff0c;生产能力受到严重的限制。随着红豆杉基因组的全解析和合成生…

如何在 Windows 上安装并配置 VNC 远程连接树莓派,并结合Cpolar实现公网远程访问

目录 ⛳️推荐 前言 1. 使用 Raspberry Pi Imager 安装 Raspberry Pi OS 2. Windows安装VNC远程树莓派 3. 使用VNC Viewer公网远程访问树莓派 3.1 安装Cpolar步骤 3.2 配置固定的公网地址 3.3 VNC远程连接测试 4. 固定远程连接公网地址 4.1 固定TCP地址测试 ⛳️推荐…

内网隧道学习笔记

1.基础&#xff1a; 一、端口转发和端口映射 1.端口转发是把一个端口的流量转发到另一个端口 2.端口映射是把一个端口映射到另一个端口上 二、http代理和socks代理 1.http带那里用http协议、主要工作在应用层&#xff0c;主要用来代理浏览网页。 2.socks代理用的是socks协议、…

编码器如何在stm32上使用?

编码器如何在stm32上使用 文章目录 编码器如何在stm32上使用1. 编码器是什么&#xff1f;2. 如何在stm32上使用编码器1. 编码器的基本原理2. STM32上的实现3. 代码实现 1. 编码器是什么&#xff1f; 编码器是一种传感器或设备&#xff0c;用于测量位置、角度或速度&#xff0c…

坐标系转换公式

坐标系转换2种情况&#xff1a; 一、XOY坐标系不动&#xff0c;点P(x, y) 沿顺时针方向旋转 θ \thetaθ&#xff0c;得在XOY坐标系的坐标为P(x′, y′) 设某点与原点连线和X轴夹角为b度&#xff0c;以原点为圆心&#xff0c;逆时针转过a度 , 原点与该点连线长度为R, [x,y]为…

电测量数据交换DLMSCOSEM组件第53部分:DLMSCOSEM应用层(上)

1.范围 本部分规定了DLMS/COSEM客户机和服务器的DLMS/COSEM应用层的结构、服务和协议。同时,定义规则规定DLMS/COSEM通信配置。 它定义了用于建立和释放应用程序连接的服务,以及用于访问GB/T17215.662中使用逻辑名称(LN)或短名称(SN)引用定义的COSEM接口对象的方法和属性…

先用先发!小样本故障诊断新思路!Transformer-SVM组合模型多特征分类预测/故障诊断(Matlab)

先用先发&#xff01;小样本故障诊断新思路&#xff01;Transformer-SVM组合模型多特征分类预测/故障诊断&#xff08;Matlab&#xff09; 目录 先用先发&#xff01;小样本故障诊断新思路&#xff01;Transformer-SVM组合模型多特征分类预测/故障诊断&#xff08;Matlab&#…

关于 OSPF LSA 序列号范围 0x80000001-0x7FFFFFFF 释疑正本清源

注&#xff1a;机翻&#xff0c;未校对。 正本&#xff1a;RFC 2328 OSPF Version 2 中相关解释 April 1998 12.1.6. LS sequence number 12.1.6. 序列号 The sequence number field is a signed 32-bit integer. It is used to detect old and duplicate LSAs. The space …

找工作准备刷题Day14 回溯算法 (卡尔41期训练营 7.29)

第一题&#xff1a;Leetcode376. 摆动序列 题目描述 解题思路 使用两个变量&#xff1a;preDiff 和 curDiff&#xff0c;分别记录 前一次相邻元素差值和 此处相邻元素值之差&#xff0c;只有当preDiff 和 curDiff 符号不同&#xff0c;摆动序列长度加一。 初始&#xff1a;长…