针对文件的操作指令记录
清除文件内容递归清空指定路径下所有文件的内容,但不删除文件本身1234# truncate -s 0 表示将文件大小设置为 0# {} + 表示对所有找到的文件执行这个操作find /path/to/directory -type f -exec truncate -s 0 {} +
Nginx 结合 autoindex 美化索引页面
前言 利用 nginx的 autoindex 模块,通过修改 nginx.conf 配置文件中的 add_after_body配置项来实现美化默认的索引页面。 原理:通过 js将原生界面的 dom元素提取出来,然后重新布局添加样式,最后添加到页面中并移出原来的 dom元素。 效果图 美化方案 Nginx-Fancyindex插件:但是需要自己编译nginx,比较麻烦 autoindex-add_after_body:可以非常方便的进行美化,只需要在nginx配置中添加一行 主要配置参考 这里将autoindex.html放在了nginx的根目录 123456789101112131415161718192021222324server { ...... charset utf-8; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; add_header cache-contro...
Nginx 配置 gRPC 协议
Nginx配置gRPC请求Nginx 在 1.13.10 中,新增了对gRPC的原生支持。有了对 gRPC 的支持,NGINX 就可以代理 gRPC TCP 连接,还可以终止、检查和跟踪 gRPC 的方法调用。 Nginx需要引入模块:--with-http_ssl_module --with-http_v2_module 为已经安装的Nginx添加新的编译模块: 进入解压的Nginx目录 执行命令:./configure --with-http_ssl_module --with-http_v2_module 执行命令:make && make install。执行make install时会将原有的文件替换掉,且会备份之前的文件 使用基础使用方式在客户端和服务器端之间插入 NGINX,NGINX 为服务器端的应用程序提供了一个稳定可靠的网关。 NGINX 使用 HTTP 服务器监听 gRPC 流量,并使用 grpc_pass 指令代理流量。 为 NGINX 创建以下代理配置,在端口 80 上侦听未加密的 gRPC 流量并将请求转发到端口 50051 上...
CentOS 7 升级 Glibc 2.28
检查 Glibc 版本1ldd --version 安装 glibc-2.28 编译时间可能会很长,最好找个空闲时间来升级。 12345678910111213# 下载并解压 glibc-2.28yum install -y bisoncd /usr/src/wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gztar -xzvf glibc-2.28.tar.gzcd glibc-2.28# 创建临时文件mkdir build && cd build../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin# 这一步时,如果发生如下错误,则需要进行 gcc & make 的升级,否则进行最后一步【继续编译 glibc】# These critical programs are missing or too old: make comp...
关于 nf_conntrack 及 conntrack entries 使用率过高问题
Kubernetes 节点将conntrack_max值与节点上的 RAM 大小成比例地设置。高负载应用(尤其是在小型节点上)很容易超过conntrack_max,并导致连接复位和超时。 理论conntrack 是建立在 Netlifier 框架之上的功能。它对于高性能的 Kubernetes 复杂网络至关重要,其中节点需要跟踪数千个 Pod 和服务之间的连接信息。 在 Kubernetes 中, 默认值可以在 prometheus 指标中找到node_nf_conntrack_entries_limit(需要node_exporter) linux系统中可以通过以下指令查看【当然如果未配置过的话,默认值会以该公式「CONNTRACK_MAX = 内存 (bytes) / 16384 / (多少位 / 32)」计算出默认值】:sysctl net.netfilter.nf_conntrack_max conntrack_max值与节点的内存成正比,通常聚合代理类服务会需要持续跟踪大量连接【消耗大量的conntrack entries...
Nginx 给网站添加用户认证配置
Nginx给网站添加用户认证配置( Basic HTTP authentication) 说明:ngx_http_auth_basic_module模块实现让访问者只有输入正确的用户密码才允许访问web内容。web上的一些内容不想被其他人知道,但是又想让部分人看到。nginx的http auth模块以及Apache http auth都是很好的解决方案。 默认情况下nginx已经安装了ngx_http_auth_basic_module模块。 Nginx认证配置实例生成认证文件123# printf "test:$(openssl passwd -crypt 123456)\n" >> /home/htpasswd# cat /home/htpasswd test:xyJkVhXGAZ8tM **注意:**这里账号:test,密码:123456,记住认证文件路径 配置网站conf文件123456789101112131415server{ listen 80; server_name www.moer...
Linux 磁盘手动及自动挂载
手动挂载由于没有配置自动挂载,导致服务器重启后丢失挂载,这时候可以参考如下命令进行手动挂载。 先使用 fdisk -l 查看目前的分区,然后使用如下命令挂载到您需要挂载的挂载点上。 可以看到有两块磁盘: 123456789101112131415161718192021222324252627282930313233[root@VM_113_96_centos xx]# fdisk -lDisk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x000c7a75 Device Boot Start End Blocks I...
nslookup 和 dig 指令
dig 和 nslookup 的安装Ubuntu、Debian: 1# apt install -y dnsutils Fedora / CentOS: 1# yum install -y bind-utils nslookup 命令详解nslookup 命令用于查询 DNS 的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。nslookup 的用法相对来说还是蛮简单的,主要是下面的几个用法。 直接查询查询一个域名的 A 记录: 1nslookup domain [dns-server] 如果没指定 dns-server,用系统默认的 DNS 服务器。 查询其他记录直接查询返回的是 A 记录,我们可以指定参数,查询其他记录,比如 AAAA、MX 等: 1234nslookup -qt=type domain [dns-server]nslookup -q=type domain [dns-server]nslookup -type=type domain [dns-server]nslookup -querytype=type domain [d...
因 inodes 占用资源过多导致 no space left on device 的问题
摘自:https://blog.csdn.net/weixin_34383474/article/details/121493708 问题现象使用 GitLab Runner 的打包机器执行命令打包 Docker 镜像时报 "no space left on device" 的错误,无法正确打包。 问题排查步骤登录打包机查看机器剩余磁盘容量,得到结果物理机磁盘仍有剩余空间: 1df -h 通过复制文件证明磁盘空间确有剩余,但是在物理机上直接执行 Docker 命令依然存在 no space left on device 空间不足的报错。 通过搜索找到原因:服务机 inodes 使用过高,执行指令得到结果 inodes 占用 100%,原因为 Docker 打包过程中小文件生成过多导致 inodes 占用过高。 inode 是什么 inode 是文件系统中的一个数据结构,用于存储文件或目录的元数据信息,如文件大小、所属用户、所属组、权限、创建时间、修改时间等等。每个 inode 都有一个唯一的编号,称为 inode 号。 当文件或目录被创建时,会分配一个 in...
分享几个常用的运维 Shell 脚本
摘自:https://zhuanlan.zhihu.com/p/612782776 根据 PID 显示进程所有信息根据用户输入的 PID,过滤出该 PID 所有的信息。 12345678910111213141516171819202122#!/bin/bashread -p "请输入要查询的PID: " Pn=`ps -aux | awk '$2~/^'${P}'$/{print $0}' | wc -l`if [ $n -eq 0 ]; then echo "该PID不存在!!" exitfiecho -e "\e[32m--------------------------------\e[0m"echo "进程PID: ${P}"echo "进程命令:$(ps -aux | awk '$2~/^'$P'$/{for (i=11;i<=NF...
