Linux的web服务器的部署和优化
http中访问请求中I/O结构
在HTTP协议中,I/O(输入/输出)结构主要涉及客户端与服务器之间的请求和响应交互。以下是HTTP请求和响应的基本结构及其关键组成部分:
HTTP请求结构
HTTP请求由请求行、请求头和请求体三部分组成
请求行:包含请求方法(如GET、POST)、请求的URI(如/index.html)和HTTP版本(如HTTP/1.1)。
请求头:包含客户端向服务器传递的附加信息,如Host、User-Agent、Accept等。
请求体:在POST或PUT请求中,请求体包含客户端发送给服务器的数据,如表单数据或文件内容。
HTTP响应结构
HTTP响应由状态行、响应头和响应体三部分组成。
状态行:包含HTTP版本(如HTTP/1.1)、状态码(如200)和状态消息(如OK)。
响应头:包含服务器返回的附加信息,如Content-Type、Content-Length等。
响应体:包含服务器返回的实际数据,如HTML内容、JSON数据等。
I/O操作
在HTTP通信中,I/O操作主要涉及网络套接字的读写。客户端通过套接字向服务器发送请求,服务器通过套接字返回响应。以下是一个简单的Python示例,展示如何使用socket
库进行HTTP请求和接收响应:
关键点
- 请求方法:GET、POST、PUT、DELETE等,用于指定客户端希望执行的操作。
- 状态码:如200(成功)、404(未找到)、500(服务器内部错误)等,用于表示请求的处理结果。
- 头信息:包含元数据,如内容类型、内容长度、缓存控制等,用于控制请求和响应的行为。
- 体内容:包含实际传输的数据,如HTML、JSON、XML等
nginx的安装与启用
#dnf install nginx -y
#systemctl enable --now nginx //开启nginx的守护进程
#firewall-cmd --permanent --add-service=http
#firewall-cmd --reload
#firewall-cmd --list-all
/usr/share/nginx/html--默认发布目录
/usr/share/nginx/html/index.html--默认发布文件
nginx的主配置文件及其修改
# vim /etc/nginx/nginx.conf
# nginx -s reload //重新加载主配置文件的修改
# firewall-cmd --permanent --add-port=8080/tcp
# firewall-cmd --reload
nginx发表文件
# echo i am a test_file > /usr/share/nginx/html/test.html
# vim /etc/nginx/nginx.conf
# nginx -t //检测配置文件中是否有错误
# nginx -s reload //重载修改的配置
nginx发表目录
创建目录作为新的发行目录并创建发行文件
nginx的访问控制
#dnf install httpd-tools -y
# htpasswd -cm /etc/nginx/.htpasswd fjw
# htpasswd -m /etc/nginx/.htpasswd yyy
# nginx -s reload
# curl 192.168.0.0 -u yyy:123
配置日志
Nginx 支持访问日志和错误日志的配置。
重启和重载 Nginx
在修改配置文件后,需要重启或重载 Nginx 以使更改生效。
检查配置文件语法
在重载或重启 Nginx 之前,建议检查配置文件的语法是否正确。
常用命令
以下是一些常用的 Nginx 命令
# 启动 Nginx
sudo systemctl start nginx
# 停止 Nginx
sudo systemctl stop nginx
# 查看 Nginx 状态
sudo systemctl status nginx
# 重载 Nginx
sudo nginx -s reload
# 检查配置文件语法
sudo nginx -t
相关文章:
Linux的web服务器的部署和优化
http中访问请求中I/O结构 在HTTP协议中,I/O(输入/输出)结构主要涉及客户端与服务器之间的请求和响应交互。以下是HTTP请求和响应的基本结构及其关键组成部分: HTTP请求结构 HTTP请求由请求行、请求头和请求体三部分组成 请求行…...

天线的PCB设计
目录 天线模块设计的重要性 天线模块的PCB设计 天线模块设计的重要性 当智能手表突然断连、无人机信号飘忽不定——你可能正在经历一场来自天线模块的"无声抗议"。这个隐藏在电子设备深处的关键组件,就像数字世界的隐形信使,用毫米级的精密结…...

C++笔记-set和map的使用(包含multiset和multimap的讲解)
1.序列式容器和关联式容器 前面我们已经接触过STL中的部分容器如:string、vector、list、deque、array、forward_list等,这些容器统称为序列式容器,因为逻辑结构为线性序列的数据结构,两个位置存储的值之间一般没有紧密的关联关系࿰…...
宝蓝德中间件部署war包时,配置的绝对路径读取错误。
文章目录 问题场景解决办法宝蓝德是什么??一、基础环境与依赖配置二、自动化部署工具链三、高可用性与集群配置四、安全与合规性措施五、产品线差异化部署六、典型部署流程示例七、运维与优化 原因1. 明确“当前工作目录”与“绝对路径”的关系2. 问题根…...

Linux `ifconfig` 指令深度解析与替代方案指南
Linux `ifconfig` 指令深度解析与替代方案指南 一、核心功能与现状1. 基础作用2. 版本适配二、基础语法与常用操作1. 标准语法2. 常用操作速查显示所有接口信息启用/禁用接口配置IPv4地址修改MAC地址(临时)三、高级配置技巧1. 虚拟接口创建2. MTU调整3. 多播配置4. ARP控制四…...

Python pandas 向excel追加数据,不覆盖之前的数据
最近突然看了一下pandas向excel追加数据的方法,发现有很多人出了一些馊主意; 比如用concat,append等方法,这种方法的会先将旧数据df_1读取到内存,再把新数据df_2与旧的合并,形成df_new,再覆盖写入,消耗和速…...

【金仓数据库征文】政府项目数据库迁移:从MySQL 5.7到KingbaseES的蜕变之路
摘要:本文详细阐述了政府项目中将 MySQL 5.7 数据库迁移至 KingbaseES 的全过程,涵盖迁移前的环境评估、数据梳理和工具准备,迁移实战中的数据源与目标库连接配置、迁移任务详细设定、执行迁移与过程监控,以及迁移后的质量验证、系…...

Go语言——goflow工作流使用
一、引入依赖 这个很坑,他不允许连接带密码的redis,只能使用不带密码的redis,要带密码的话得自己改一下源代码,无语 go get github.com/s8sg/goflow二、画出我们的工作流程 三、编写代码 package mainimport ("encoding/j…...

yarn npm pnpm
1 下载方式 npm 之前串行下载 现在并行下载 yarn 并行下载 加入缓存复用 pnpm 硬连接 避免重复下载,先检查本地是否存在,存在的话直接连接过去...

Block Styler——字符串控件
字符串控件的应用 参考官方帮助案例:(这个方式感觉更好,第二种方式也可以)E:\NX1980\UGOPEN\SampleNXOpenApplications\C\BlockStyler\ColoredBlock 普通格式: 读取: //方法一 string0->GetProperti…...

LangGraph(三)——添加记忆
目录 1. 创建MemorySaver检查指针2. 构建并编译Graph3. 与聊天机器人互动4. 问一个后续问题5. 检查State参考 1. 创建MemorySaver检查指针 创建MemorySaver检查指针: from langgraph.checkpoint.memory import MemorySavermemory MemorySaver()这是位于内存中的检…...

【无标题】I/O复用(epoll)三者区别▲
一、SOCKET-IO复用技术 定义:SOCKET - IO复用技术是一种高效处理多个套接字(socket)的手段,能让单个线程同时监听多个文件描述符(如套接字)上的I/O事件(像可读、可写、异常)&#x…...
通俗的理解MFC消息机制
1. 消息是什么? 想象你家的门铃响了(比如有人按门铃、敲门、或者有快递),这些都是“消息”。 在 MFC 中,消息就是系统或用户触发的各种事件,比如鼠标点击(WM_LBUTTONDOWN)、键盘输入…...

ClassLoader类加载机制的核心引擎
ClassLoader类加载机制的核心引擎 文章目录 ClassLoader类加载机制的核心引擎1. ClassLoader基础1.1 什么是ClassLoader?1.2 ClassLoader的层次结构1.3 类加载的过程 2. 源码解析与工作原理2.1 ClassLoader的核心方法2.2 双亲委派模型的工作原理2.3 打破双亲委派模型…...

tryhackme——Enumerating Active Directory
文章目录 一、凭据注入1.1 RUNAS1.2 SYSVOL1.3 IP和主机名 二、通过Microsoft Management Console枚举AD三、通过命令行net命令枚举四、通过powershell枚举 一、凭据注入 1.1 RUNAS 当获得AD凭证<用户名>:<密码>但无法登录域内机器时,runas.exe可帮助…...

【Linux学习笔记】系统文件IO之重定向原理分析
【Linux学习笔记】系统文件IO之重定向原理分析 🔥个人主页:大白的编程日记 🔥专栏:Linux学习笔记 文章目录 【Linux学习笔记】系统文件IO之重定向原理分析前言一. 系统文件I/01.1 一种传递标志位的方法1.2 hello.c写文件:1.3 he…...
【新教程】Linux服务器ssh启用两步验证
1 背景 服务器被恶意破解的事件层出不穷,一旦被破解就比较麻烦。不如提前通过简单的措施——增加两步验证,来大大增强服务器的安全性。本教程在Debian 12.5、Ubuntu 24.04等系统上测试通过。 2 详细过程 1、安装 libpam-google-authenticator sudo a…...

SpringBoot中使用MCP和通义千问来处理和分析数据-连接本地数据库并生成实体类
文章目录 前言一、正文1.1 项目结构1.2 项目环境1.3 完整代码1.3.1 spring-mcp-demo的pom文件1.3.2 generate-code-server的pom文件1.3.3 ChatClientConfig1.3.4 FileTemplateConfig1.3.5 ServiceProviderConfig1.3.6 GenerateCodeController1.3.7 Columns1.3.8 Tables1.3.9 Fi…...

实现滑动选择器从离散型的数组中选择
1.使用原生的input 详细代码如下: <template><div class"slider-container"><!-- 滑动条 --><inputtype"range"v-model.number"sliderIndex":min"0":max"customValues.length - 1"step&qu…...

基于Credit的流量控制
流量控制(Flow Control),也叫流控,它是控制组件之间发送和接收信息的过程。在总线中,流控的基本单位称为flit。 在标准同步接口中(比如AXI协议接口),握手信号如果直接采用寄存器打拍的方式容易导致信号在不同的方向上出现偏离。因…...

【金仓数据库征文】金仓数据库KingbaseES: 技术优势与实践指南(包含安装)
目录 前言 引言 一 : 关于KingbaseES,他有那些优势呢? 核心特性 典型应用场景 政务信息化 金融核心系统: 能源通信行业: 企业级信息系统: 二: 下载安装KingbaseES 三:目录一览表: 四:常用SQL语句 创建表: 修改表结构…...
LLaVA:开源多模态大语言模型深度解析
一、基本介绍 1.1 项目背景与定位 LLaVA(Large Language and Vision Assistant)是由Haotian Liu等人开发的开源多模态大语言模型,旨在实现GPT-4级别的视觉-语言交互能力。该项目通过视觉指令微调技术,将预训练的视觉编码器与语言模型深度融合,在多个多模态基准测试中达到…...

金丝猴食品:智能中枢AI-COP构建全链路数智化运营体系
“金丝猴奶糖”,这个曾藏在无数人童年口袋里的甜蜜符号,如今正经历一场数智焕新。当传统糖果遇上数字浪潮,这家承载着几代人味蕾记忆的企业,选择以数智化协同运营平台为“新配方”,将童年味道酿成智慧管理的醇香——让…...
泛型设计模式实践
学海无涯,志当存远。燃心砺志,奋进不辍。 愿诸君得此鸡汤,如沐春风,事业有成。 若觉此言甚善,烦请赐赞一枚,共励学途,同铸辉煌! 为解决在设计框架或库时遇到的类型安全问题ÿ…...

java的输入输出模板(ACM模式)
文章目录 1、前置准备2、普通输入输出API①、输入API②、输出API 3、快速输入输出API①、BufferedReader②、BufferedWriter 案例题目描述代码 面试有时候要acm模式,刷惯leetcode可能会手生不会acm模式,该文直接通过几个题来熟悉java的输入输出模板&…...

鸿蒙 所有API缩略图鉴
从HarmonyOS NEXT Developer Preview1(API 11)版本开始,HarmonyOS SDK以 Kit 维度提供丰富、完备的开放能力,涵盖应用框架、应用服务、系统、媒体、AI、图形在内的六大领域,共计30000个API...
【LangChain全景指南】构建下一代AI应用的开发框架
目录 🌟 前言🏗️ 技术背景与价值🚧 当前技术痛点🛠️ 解决方案概述👥 目标读者说明 🔍 一、技术原理剖析📊 核心概念图解💡 核心作用讲解🧩 关键技术模块说明⚖️ 技术选…...
垃圾对象回收
1.如何判断对象可以被回收 对象是否可以被回收通常由垃圾回收器决定。 垃圾回收器使用一种称为"可达性分析"的算法来确定对象是否可被回收。 可达性分析是指如果一个对象无法从任何GCRoots直接或间接访问到,它就被认为是不可达的,可以被垃圾回…...

【Docker系列】使用格式化输出与排序技巧
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
nvme Unable to change power state from D3cold to D0, device inaccessible
有个thinkpad l15 gen4笔记本,使用较少,有一块三星m2和东芝14t硬盘,想安装飞牛nas系统作为家庭照片库,制作飞牛启动盘,发现安装飞牛需要全盘格式化,电脑本身的系统还是需要保留的,故想到再安装一…...