星宇、Blog - linux
type: channel
link: https://blog.xingyudemo.com/category/linux/
description: linux技术
items: 一键更换源脚本
items: 安装 VirtIO 和 QEMU-Guest-Agent 指南
items: CentOS7配置国内yum源
items: centos设置时区
items: AWS EC2 Linux | ssh 使用密码登录
items: 宝塔设置秒级监控，10秒15秒30秒定时执行访问
items: 使用cloudflare如何获取客户端真实IP
items: Nginx反代多个子域名相同的网站即批量反向代理二级域名
items: 获取linux内存、cpu、磁盘IO等信息
items: Centos7下yum安装nginx+php

一键更换源脚本
type: item
date: 2025-11-01T02:21:00+08:00
description: ## Author: SuperManito ## Modified: 2025-11-01 ## License: MIT ## GitHub: https://github.com/SuperManito/LinuxMirrors ## Website: https://linuxmirrors.cn ## 定制方法 # 只需要在头部（此处）定义全局变量即可，具体详见官网文档，简单写几个例子 # SOURCE="www.example.com" # 指定软件源地址 # BRANCH="branch" # 指定软件源仓库 # WEB_PROTOCOL="https" # 指定 Web 协议 ## 软件源列表 # 中国大陆默认 mirror_list_default=( "mirrors.aliyun.com" "mirrors.tencent.com" "mirrors.huaweicloud.com" "mirrors.cmecloud.cn" "mirrors.ctyun.cn" "mirrors.163.com" "mirrors.volces.com" "mirrors.tuna.tsinghua.edu.cn" "mirrors.pku.edu.cn" "mirrors.zju.edu.cn" "mirrors.nju.edu.cn" "mirror.lzu.edu.cn" "mirror.sjtu.edu.cn" "mirrors.cqupt.edu.cn" "mirrors.ustc.edu.cn" "mirror.iscas.ac.cn" "__OFFICIAL_SOURCE_TAG__" ) # 中国大陆教育网 mirror_list_edu=( "mirrors.pku.edu.cn" "mirror.bjtu.edu.cn" "mirrors.bfsu.edu.cn" "mirrors.bupt.edu.cn" "mirrors.cqu.edu.cn" "mirrors.cqupt.edu.cn" "mirrors.neusoft.edu.cn" "mirrors.uestc.cn" "mirrors.scau.edu.cn" "mirrors.hust.edu.cn" "mirrors.jlu.edu.cn" "mirrors.jcut.edu.cn" "mirrors.jxust.edu.cn" "mirror.lzu.edu.cn" "mirrors.nju.edu.cn" "mirrors.njtech.edu.cn" "mirrors.njupt.edu.cn" "mirrors.sustech.edu.cn" "mirror.nyist.edu.cn" "mirrors.qlu.edu.cn" "mirrors.tuna.tsinghua.edu.cn" "mirrors.sdu.edu.cn" "mirrors.shanghaitech.edu.cn" "mirror.sjtu.edu.cn" "mirrors.sjtug.sjtu.edu.cn" "mirrors.wsyu.edu.cn" "mirrors.xjtu.edu.cn" "mirrors.nwafu.edu.cn" "mirrors.zju.edu.cn" "mirrors.ustc.edu.cn" "__OFFICIAL_SOURCE_TAG__" ) # 境外以及海外地区 mirror_list_abroad=( "mirrors.xtom.hk" "mirror.01link.hk" "download.nus.edu.sg/mirror" "mirror.sg.gs" "mirrors.xtom.sg" "free.nchc.org.tw" "mirror.ossplanet.net" "linux.cs.nctu.edu.tw" "ftp.tku.edu.tw" "mirror.twds.com.tw" "mirror.anigil.com" "ftp.udx.icscoe.jp/Linux" "ftp.jaist.ac.jp/pub/Linux" "linux2.yz.yamagata-u.ac.jp/pub/Linux" "mirrors.xtom.jp" "mirrors.gbnetwork.com" "mirror.kku.ac.th" "mirror.vorboss.net" "mirror.quickhost.uk" "mirror.dogado.de" "mirrors.xtom.de" "ftp.halifax.rwth-aachen.de" "ftp.agdsn.de" "mirror.in2p3…

安装 VirtIO 和 QEMU-Guest-Agent 指南
type: item
date: 2025-03-15T16:30:00+08:00
description: 在 Windows 虚拟机安装完成后，需要检查 VirtIO 对应的 CD 驱动器下的文件。以下分别为常用 Windows Server 版本对应的 VirtIO 驱动下载链接：Windows Server 2008 系列：virtio-win-0.1.173-2Windows Server 2008 R2 系列：virtio-win-0.1.173-4Windows Server 2012 系列（包括 R2）：virtio-win-0.1.215-2Windows Server 2016/2019/2022 系列：virtio-win - 最新稳定版

CentOS7配置国内yum源
type: item
date: 2024-11-26T18:00:00+08:00
description: 一、备份YUM源cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo-backup二、下载YUM源wget下载与curl下载选择一个就可以阿里wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repocurl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo华为wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-anon.repocurl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-anon.repo网易wget -P /etc/yum.repos.d http://mirrors.163.com/.help/CentOS7-Base-163.repocurl -o /etc/yum.repos.d http://mirrors.163.com/.help/CentOS7-Base-163.repo三、更换epel源wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repocurl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo四、清理更新缓存yum clean all && yum makecache

centos设置时区
type: item
date: 2024-11-20T23:25:40+08:00
description: 设置系统时区timedatectl set-timezone "Asia/Shanghai"reboot

AWS EC2 Linux | ssh 使用密码登录
type: item
date: 2023-11-16T14:12:59+08:00
description: 1、使用AWS控制台创建的密钥对或者直接通过网页登录注意：使用pem私钥不允许直接登录root用户，只能登录默认用户例如：ec2-user ,ubuntu等等2、创建root密码sudo passwd root3、切换到root用户su root4、修改 sshd_config 文件vim /etc/ssh/sshd_config允许使用密码登录PasswordAuthentication yes允许root用户登录PermitRootLogin yes注意：如果 PermitRootLogin 项找不到自行添加5、重新启动ssh服务systemctl restart sshd至此大功告成，可以使用ssh直接通过密码登录

宝塔设置秒级监控，10秒15秒30秒定时执行访问
type: item
date: 2023-07-15T08:22:52+08:00
description: 宝塔最低只能设置1分钟监控，但是往往我们需要更高频率的监控，（比如说彩虹云任务的newsid监控任务需要秒级监控）那么我们可以使用shell脚本实现这个功能。打开宝塔面板，点击【计划任务】任务类型：shell脚本任务名称：随便填写执行周期：【N分钟】 1脚本内容：#!/bin/bash step=10 #单位：秒；间隔的秒数，不能大于60。需要几秒监控就填几 for((i=0;i<60;i=(i+step)));do curl -s https://ycb.hk/(你需要监控的地址) endDate=`date +"%Y-%m-%d %H:%M:%S"` echo "★[$endDate] Successful" echo "---------" sleep $step done; exit 0

使用cloudflare如何获取客户端真实IP
type: item
date: 2023-03-30T17:54:03+08:00
description: 域名通过cloudflare加速后直接获取客户端ip为cloudflare的节点IP这种情况下直接获取标头中HTTP_CF_CONNECTING_IP字段即可nginx日志获取真实IP则新建cf.conf内容如下:set_real_ip_from 173.245.48.0/20; set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.22.200.0/22; set_real_ip_from 103.31.4.0/22; set_real_ip_from 141.101.64.0/18; set_real_ip_from 108.162.192.0/18; set_real_ip_from 190.93.240.0/20; set_real_ip_from 188.114.96.0/20; set_real_ip_from 197.234.240.0/22; set_real_ip_from 198.41.128.0/17; set_real_ip_from 162.158.0.0/15; set_real_ip_from 104.16.0.0/13; set_real_ip_from 104.24.0.0/14; set_real_ip_from 172.64.0.0/13; set_real_ip_from 131.0.72.0/22; set_real_ip_from 2400:cb00::/32; set_real_ip_from 2606:4700::/32; set_real_ip_from 2803:f800::/32; set_real_ip_from 2405:b500::/32; set_real_ip_from 2405:8100::/32; set_real_ip_from 2a06:98c0::/29; set_real_ip_from 2c0f:f248::/32; real_ip_header CF-Connecting-IP;保存配置文件在nginx配置文件中引入该文件重启nginx即可配置文件中的ip为cloudflare的所有节点ipip列表获取地址为ipv4：https://www.cloudflare.com/ips-v4ipv6：https://www.cloudflare.com/ips-v6

Nginx反代多个子域名相同的网站即批量反向代理二级域名
type: item
date: 2023-03-30T17:11:45+08:00
description: 比如代理需求如下api.aaa.com反向代理api.bbb.comtask.aaa.com反向代理task.bbb.comblog.aaa.com反向代理blog.bbb.comresolver 8.8.8.8; #DNS解析,不加可能会报错 set $proxy_domain ""; if ($host ~* (([\S\s]*).mmn8g.com)){ set $proxy_domain$2.; } proxy_pass https://${proxy_domain}bbb.com; proxy_set_header Host ${proxy_domain}bbb.com;这种情况下若源站返回重定向location中包含网址则可使用proxy_redirect替换 proxy_redirect http://api.aaa.com http://api.bbb.com;如需使用内容替换则使用sub_filter进行替换proxy_set_header Accept-Encoding ""; sub_filter_once off; sub_filter "aaa.com" "bbb.com";

获取linux内存、cpu、磁盘IO等信息
type: item
date: 2023-03-04T06:27:19+08:00
description: 一、脚本一个shell脚本，用来获取linux系统CPU、内存、磁盘IO等信息。#!/bin/bash # 获取要监控的本地服务器IP地址 IP=`ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}'` echo "IP地址："$IP # 获取cpu总核数 cpu_num=`grep -c "model name" /proc/cpuinfo` echo "cpu总核数："$cpu_num # 1、获取CPU利用率 ################################################ #us 用户空间占用CPU百分比 #sy 内核空间占用CPU百分比 #ni 用户进程空间内改变过优先级的进程占用CPU百分比 #id 空闲CPU百分比 #wa 等待输入输出的CPU时间百分比 #hi 硬件中断 #si 软件中断 ################################################# # 获取用户空间占用CPU百分比 cpu_user=`top -b -n 1 | grep Cpu | awk '{print $2}' | cut -f 1 -d "%"` echo "用户空间占用CPU百分比："$cpu_user # 获取内核空间占用CPU百分比 cpu_system=`top -b -n 1 | grep Cpu | awk '{print $4}' | cut -f 1 -d "%"` echo "内核空间占用CPU百分比："$cpu_system # 获取空闲CPU百分比 cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $8}' | cut -f 1 -d "%"` echo "空闲CPU百分比："$cpu_idle # 获取等待输入输出占CPU百分比 cpu_iowait=`top -b -n 1 | grep Cpu | awk '{print $10}' | cut -f 1 -d "%"` echo "等待输入输出占CPU百分比："$cpu_iowait #2、获取CPU上下文切换和中断次数 # 获取CPU中断次数 cpu_interrupt=`vmstat -n 1 1 | sed -n 3p | awk '{print $11}'` echo "CPU中断次数："$cpu_interrupt # 获取CPU上下文切换次数 cpu_context_switch=`vmstat -n 1 1 | sed -n 3p | awk '{print $12}'` echo "CPU上下文切换次数："$cpu_context_switch #3、获取CPU负载信息 # 获取CPU15分钟前到现在的负载平均值 cpu_load_15min=`uptime | awk '{print $11}' | cut -f 1 -d ','` echo "CPU 15分钟前到现在的负载平均值："$cpu_load_15min # 获取CPU5分钟前到现在的负载平均值 cpu_load_5min=`uptime | awk '{print $10}' | cut -f 1 -d ','` echo "CPU 5分钟前到现在的负载平均值："$cpu_load_5min # 获取CPU1分钟前到现在的负载平均值 cpu_load_1min=`uptime | awk '{print $9}' | cut -f 1 -d ','` echo "CPU 1分钟前到现在的负载平均值："$cpu_load_1min # 获取任务队列(就绪状态等待的进程数) cpu_task_length=`vmstat -n 1 1 | sed -n 3p | awk '{print $1}'` echo "CPU任务队列长度："$cpu_task_length #4、获取内存信息 # 获取物理内存总量 mem_total=`free | grep Mem | awk '{print $2}'` echo "物理内存总量："$mem_total # 获取操作系统已使用内存总量 mem_sys_used=`free | grep Mem | awk '{print $3}'` echo "已使用内存总量(操作系统)："$mem_sys_used # 获取操作系统未使用内存总量 mem_sys_free=`free | grep Mem | awk '{print $4}'` echo "剩余内存总量(操作系统)："$mem_sys_free # 获取应用程序已使用的内存总量 mem_us…

Centos7下yum安装nginx+php
type: item
date: 2023-03-03T23:12:59+08:00
description: 开始安装Nginx和PHP-FPM之前,首先卸载系统中以前安装的Apache和PHP保证安装不会冲突。用root登录输入下面的命令：yum remve httpd* php* 增加额外资源库默认情况下，CentOS的官方资源是没有php-fpm的, 但我们可以从Remi的RPM资源中获得，它依赖于EPEL资源。我们可以这样增加两个资源库：1：安装nginx：yum install nginx 安装完成后可以启动nginx，在浏览器里面访问，查看nginx是否安装成功。端口默认为80。systemctl start nginxnginx中yum安装的默认网站根目录在/usr/share/nginx/html2：安装PHP和PHP-FPM:yum install php php-fpm 启动php-fpmsystemctl start php-fpm3：将PHP与mysql模块关联起来：数据库再变不在安装。可以通过yum install mariadh mariadb-server 安装yum install php-gd php-mysql php-mbstring php-xml php-mcrypt php-imap php-odbc php-pear php -xmlrpc 4：配置nginx与php一起工作:Nginx+FastCGI运行原理 Nginx不支持对外部程序的直接调用或者解析，所有的外部程序（包括PHP）必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket，（这个socket可以是文件socket，也可以是ip socket）。为了调用CGI程序，还需要一个FastCGI的wrapper（wrapper可以理解为用于启动另一个程序的程序），这个wrapper绑定在某个固定socket上，如端口或者文件socket。当Nginx将CGI请求发送给这个socket的时候，通过FastCGI接口，wrapper接纳到请求，然后派生出一个新的线程，这个线程调用解释器或者外部程序处理脚本并读取返回数据；接着，wrapper再将返回的数据通过FastCGI接口，沿着固定的socket传递给Nginx；最后，Nginx将返回的数据发送给客户端，这就是Nginx+FastCGI的整个运作过程。详细的过程，如下图所示：打开nginx主配置文件。vim /etc/nginx/nginx.conf在http模块中添加配置： location / { root /usr/share/nginx/html; index index.html index.htm index.php; } location ~ .php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 5：测试nginx与php是否正常。重启nginx服务器，systemctl restart nginx