运维
文章平均质量分 94
Linux、Nginx、docker等部署小结
shark-chili
这个作者很懒,什么都没留下…
展开
-
记一次CPU 100%的问题排查过程
某些上午吃完早餐准备开始一天的工作,突然收到阿里云的短信警告,说明服务器存在恶意脚本,消息如下:当时不以为意,直到我们进行docker镜像打包时发现了不对劲,ssh始终登录不上,镜像打包也久久不能完成,大概率推断服务器出事了。登录阿里云查看CPU。原创 2022-03-19 14:33:06 · 2619 阅读 · 0 评论 -
基于docker容器化部署微服务
在笔者系列文章中微服务配置隔离已经完成服务之间的配置隔离,服务整体来说是已经通了。为了方便后续测试已经环境统一,笔者本章节会对服务进行容器化部署。由于服务器性能问题,本次部署采用maven完成镜像构建,结合完成容器的创建。原创 2023-12-13 08:35:55 · 2149 阅读 · 0 评论 -
关于nginx连接被重置引发的网络协议工作解析
这时笔者再次使用浏览器访问ip:3000后,发现问题所在,如下图所示,在服务器抓包记录中,我们看到浏览器请求的包,却没有看到服务器对客户端发的ack确认包,说明我们的请求包可能被服务器丢掉了。随查看nginx的access.log,发现并没有本机浏览器访问服务器的记录。一再确认上述问题无误后,使用curl命令在服务器尝试访问对应网站地址。笔者在配置nginx对某个网站的代理时,在浏览器访问对应地址报连接被重置的错误。由于笔者访问的是服务器3000端口,于是就开一个tcpdump抓3000端口的包。原创 2022-03-25 01:58:46 · 3213 阅读 · 1 评论 -
一文快速掌握docker的理念和基本使用
我们都知道docker的隔离性,网络也是个隔离性的一部分,Linux使用了命名空间来进行资源的隔离,比如就是用来隔离进程的,是用来隔离文件系统的,是用来隔离网络的.每一个都提供了一个独立的网络环境,包括网卡路由iptable规则等等,都是与以其它的隔离的.docker容器在默认情况下,一般会分配一个独立的,也就是网络类型中的Bridge模式(可以理解为虚拟机的那种桥接模式)。因为Bridge使用的独立的,这就我们需要使用桥接的方式的服务器和docker。原创 2024-03-18 08:30:00 · 4624 阅读 · 0 评论 -
使用docker编排容器
首先用docker拉一个nginx镜像拉取完成后,编辑一个Dockerfile文件命令如下所示,FROM后面跟的你的基础镜像,而run则是表示你构建镜像时需要执行的指令,下面的指令意思就构建一个自定义的nginx镜像,最后知名nginx启动后的欢迎界面,路径为当前系统的绝对路径FROM nginx在Dockerfile的目录下运行如下命令,可以看到命令最后面有个点,这个点就是用于参数传递,表示当前路径Dockerfile键入如下命令即可看到我们的自定义的镜像构建完成了。原创 2023-12-12 20:45:12 · 3399 阅读 · 1 评论 -
Nginx应用进阶HTTP核心模块配置小结
在上篇文章Nginx基础入门总结我们完成了nginx基础配置入门,这篇文章我们来探讨一些比较进阶的配置。并发连接数限制。根据请求参数做跳转。根据请求参数做限制。各种限流定制化配置。黑白名单配置。该模块的各种配置和限制都是针对connection模块,该模块默认情况下nginx已编译进去了,它常用于限制单位时间段内并发连接限制,而且该模块使用的是共享内存,对所有worker子进程都生效。原创 2022-03-23 09:33:15 · 1637 阅读 · 1 评论 -
Linux服务器性能优化小结
服务器平均负载指的是,某段时间里面,那些处于可运行态或者不可中断状态的进程的平均数。可运行态:见下图,操作系统线程状态中,处于RUNNING或者READY状态的进程就是可运行态。不可中断状态:下图中因为I/O而导致处于WAITING状态的进程。那么他们为什么称为不可中断态呢?原因其实也很简单,IO操作时常将一些数据写回本地,若此时将这个IO操作打断,这就很可能磁盘数据和进程数据不一致的情况。top:查看CPU使用率、平均负载、僵尸进程等。vmstate。原创 2023-12-18 14:32:42 · 3660 阅读 · 2 评论 -
Linux文件管理技术实践
shell是用于和Linux内核进行交互的一个程序,他的功能和window系统下的cmd是一样的。而且shell的种类也有很多常见的有c shell、bash shell、Korn shell等等。而本文就是使用Linux最常见的bash shell对Linux常见指令展开探讨。原创 2024-01-25 23:04:54 · 2416 阅读 · 1 评论 -
Linux常用网络指令
ifconfig常用于修改网络配置以及查看网络参数的指令基础示例临时修改某接口ip,如下所示,将lo环回口ip地址改为127.0.0.2,注意我们没有增加子网掩码、广播地址等配置,所以这些参数值都是由系统自动计算得出的修改环回口地址,子网掩码,mtu值仅仅修改以太网最大mtu的值基于lo口,创建一个仿真的虚拟网络接口将上述修改还原如果我们希望接口直接启动,而无需配置ip,使用下述命令即可。原创 2023-12-18 14:32:47 · 4605 阅读 · 1 评论 -
Linux磁盘与文件系统管理
EXT在格式化时会对系统进行inode/block/metadata提前划分,对于现如今动不动以PB、EB为单位的磁盘来说是非常耗时的。1. data section:有个和ext分区block group类似的allocation groups,该分区包含整个文件系统的superblock、剩余空间管理、inode管理与分配与追钟(注意inode和block位置都是动态配置产生的,相较于ext更快。原创 2024-01-25 23:04:59 · 3141 阅读 · 1 评论 -
Linux进程管理
在程序被执行前,他们不过是硬盘或者其他存储介质中的一个文件。一旦被加载到内存中,程序会根据执行者的权限属性生成一串程序执行参数,并生成一个进程号,即PID。后续我们就可以根据这个PID完成对进程的监控和管理。原创 2024-01-27 10:44:20 · 2605 阅读 · 2 评论 -
Linux文件结构与文件权限
以下这张表格就说明了操作文件夹下某些文件所需的最低权限,可以看到像删除、复制等这些无需读取文件内容的操作,文件所对应的文件夹甚至不一定需要rw的权限。用上面抽屉和文件的例子来说,我们删除完完全全可以看不到抽屉内部文件的具体的内容,复制文件不需要知道文件夹内有什么文件,我们完完全全可以瞎摸出来放到别的目录。的文件描述为例,第一个字符d代表它是个文件夹,2-4代表当前所有者权限为读写执行都有,而5-7代表所属组权限,即这个文件所属的组所拥有的权限为读和执行,最后一行代表其他人的权限也是读和执行。原创 2023-12-18 14:32:56 · 1772 阅读 · 1 评论 -
Linux常见压缩指令小结
我们都知道文件是以byte作为单位的,如果我们的文件仅仅在低位占一个10000 0001这种情况我们完全可以压缩一下,将高位的0全部抹掉即可。如上所说是一种压缩技术,还有一种就是将1111(此处省略96个)一共100个1,用类似于"100个1"的方式。原创 2023-12-18 14:33:08 · 6762 阅读 · 1 评论 -
Nginx性能优化
nginx作为常用的web代理服务器,某些场景下对于性能要求还是蛮高的,所以本片文章会基于操作系统调度以及网络通信两个角度来讨论一下Nginx性能的优化思路。我们的大学教程大部分讲述七层模型,实际上现代网络协议使用的都是四层模型,如下图,应用层报文经过四层的首部封装到对端。对端链路层拆开首部查看mac地址是自己在网上,拆开ip首部查看目的地址是不是自己,然后到达传输层应用层完成报文接收。文章是基于原有个人知识基础上,对旧知识进行巩固,以及新知识实践学习。原创 2022-03-22 14:33:20 · 2986 阅读 · 1 评论 -
nginx高可用实践简记
在配置高可用前,我们首先需要立即一下虚拟ip的概念,如下图,我们会在128这台服务器上安装keepavlived,然后对其配个虚拟ip。后面我们再使用本机去ping虚拟ip130,如果收到响应则说明我们的keepalived配置成功。首先安装keepalived配置!#全局配置#邮件通知信息#定义收件人}#定义发件人#SMTP服务器地址#路由器标识,一般不用改,也可以写成每个主机自己的主机名}#一个vrrp_instance就是定义一个虚拟路由器的,实例名称启动。............原创 2022-03-22 14:33:43 · 3204 阅读 · 0 评论 -
Nginx缓存及HTTPS配置小记
关于https可以看到笔者这篇文章,做了非常详细的介绍,总的来说https就是客户端和服务端通过非对称密钥协商出一个对称密钥来保证数据安全,进而保证后续数据交互安全又高效。http知识总结csr/crt/key/pem的区别csr全称是,是向CA去申请证书的请求文件的后缀,其中包含了服务器的公钥和一些基本信息。crt是certificate的简写,就是最后拿到的证书文件的后缀。key是密钥的后缀,不同工具有不同编码方式,pem后缀的文件也有可能是证书或者密钥。原创 2023-12-10 12:50:12 · 4567 阅读 · 2 评论 -
Nginx核心指令小结
本文将对配置文件main段核心参数进行讲解;对server_name、location指令进行了重点讲解;通过本文的阅读,读者将能够熟练使用location指令来部署WEB业务main为nginx核心配置,它的配置参数决定nginx全局的核心配置。不带斜杠的URL会优先按照目录进行查到映射文件夹的网页文件,若不存在则按照文件进行匹配,而带斜杆的一律按照文件目录进行匹配。原创 2022-03-21 09:57:29 · 961 阅读 · 0 评论 -
Nginx进程结构与核心模块初探
在正式演示nginx编译配置之前,我们先来了解一下nginx那些常见的编译参数。--prefix:指定安装的目录。--user:运行nginx的worker子进程的所属主。--group:运行nginx的worker子进程的所属组。--pid-path:存放进程运行pid文件的路径。:配置文件nginx.conf的存放路径。:错误日志error.log的存放路径。:访问日志access.log的存放路径。:pcre库的存放路径,正则表达式会用到。:zlib库的存放路径,gzip模块会用到。原创 2022-03-23 00:00:00 · 2161 阅读 · 1 评论