CentOS 7 配置静态 IP 地址

在 CentOS 7 上配置静态 IP 地址需要编辑网络配置文件。请按照以下步骤进行操作:

  1. 打开终端或通过 SSH 连接到 CentOS 7 服务器。
  2. 使用文本编辑器打开网络配置文件。在 CentOS 7 上,网络配置文件位于 /etc/sysconfig/network-scripts/ 目录下,文件名通常以 ifcfg-ensX 的形式表示(X 为数字)。例如,编辑文件 ifcfg-ens33
    cd /etc/sysconfig/network-scripts/
    vi ifcfg-ens33
  3. 在编辑器中,您会看到类似以下的配置内容:
    TYPE=”Ethernet”
    PROXY_METHOD=”none”
    BROWSER_ONLY=”no”
    BOOTPROTO=”dhcp”
    DEFROUTE=”yes”
    IPV4_FAILURE_FATAL=”no”
    IPV6INIT=”yes”
    IPV6_AUTOCONF=”yes”
    IPV6_DEFROUTE=”yes”
    IPV6_FAILURE_FATAL=”no”
    IPV6_ADDR_GEN_MODE=”stable-privacy”
    NAME=”ens33”
    UUID=”xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  4. BOOTPROTO 的值从 dhcp 修改为 static,表示使用静态 IP 地址。在 BOOTPROTO 行下方添加以下配置项,以设置静态 IP 地址、子网掩码、网关地址和 DNS 服务器的值:
    IPADDR=”192.168.31.66”
    NETMASK=”255.255.255.0”
    GATEWAY=”192.168.31.1”
    DNS1=”8.8.8.8”
  5. 保存并关闭文件。在 vi 编辑器中,按下 Esc 键,然后输入 :wq 并按回车键保存退出。
  6. 重启网络服务使配置生效。在终端中执行以下命令:
    systemctl restart network
  7. 检查 IP 地址是否已生效。您可以使用以下命令之一来验证 IP 地址是否已设置为静态:
    ip addr show ens33 # 或者 ip addr show eth0(取决于您的网络接口名称)
  8. 如果一切正常,您应该能够看到您设置的静态 IP 地址已应用于相应的网络接口。
    请注意,这些步骤仅适用于 CentOS 7。如果您使用的是其他 Linux 发行版或操作系统,请参考相应的文档或手册进行配置。另外,在进行任何网络配置更改之前,请确保您具有足够的权限,并备份相关的网络配置文件以防意外情况发生。

Debian 12 / Ubuntu 24.04 安装 Nginx

Nginx (Engine X) 是一个高性能的 HTTP 和反向代理 Web 服务器(软件),它占有内存少,并发能力强,驱动了超过 1/3 的互联网网站。

在本文中,我们将介绍如何在 Debian 12 和 Ubuntu 24.04 系统上安装 Nginx。

准备

适用系统

本教程适用于以下 Linux 发行版:

  • Debian 12
  • Debian 11
  • Debian 10
  • Ubuntu 24.04
  • Ubuntu 22.04
  • Ubuntu 20.04

IDC 防火墙

一些服务器提供商可能为服务器预装了防火墙、有网络访问限制,例如国外的 Google Cloud,国内的阿里云、腾讯云等等,此类情况需要去管理面板放行 Nginx 暴露的端口 80、443。

系统

确保当前用户有 sudo 执行权限;且 80、443 端口没有被其它程序(如 Apache) 占用、或者防火墙工具(如 UFW)屏蔽。

安装 Nginx

1. 更新系统

运行以下命令更新一下系统,

apt update && apt upgrade

2. 安装 Nginx

Nginx 在 Debian / Ubuntu 的默认软件仓库中,可以使用 apt 一键安装,

apt install nginx

3. 检查 Nginx 运行状态

在安装完成后,系统会自动启动 Nginx,使用以下命令检查 Nginx 运行状态,

systemctl status nginx
Debian 12 / Ubuntu 24.04 安装 Nginx插图

表示 Nginx 安装成功。在浏览器输入、访问服务器 IP,

Debian 12 / Ubuntu 24.04 安装 Nginx插图1

会看到默认的 Nginx 欢迎页面,这个页面是 Nginx 自带的,用来告诉用户 Web 服务器已经正确运行。

Nginx 基础管理

下面介绍 Nginx 作为一个 Linux 系统上的软件,如何进行基础的管理。

停止 Nginx,

systemctl stop nginx

启动 Nginx,

systemctl start nginx

重启 Nginx,

systemctl restart nginx

重载配置,

systemctl reload nginx

默认情况下,服务器启动时会自动启动 Nginx。如果不希望这样,可以输入:

systemctl disable nginx

重新允许 Nginx 在启动时自动启动,

systemctl enable nginx

在实际使用的时候,修改配置后,使用重载配置或重启命令;Nginx 因为各种原因停止,使用启动命令,这些情况比较常见。

卸载 Nginx

首先停止正在运行中的 Nginx,

systemctl stop nginx

如果要删除 Nginx 服务,保留配置文件,运行

apt remove nginx

要删除 Nginx 服务以及配置文件,运行

apt purge nginx

删除与 Nginx 相关的依赖包,

apt autoremove

删除 Nginx 相关的文件或目录(如果存在),

rm -rf /etc/nginx /etc/nginx/

检查是否卸载完成,

nginx -v

Uptime Kuma 安装教程:一款易于使用的自托管 VPS 在线时间监控

中国大陆屏蔽了doker

曲线救国的方式:https://github.com/DaoCloud/public-image-mirror

快速开始

 

docker run -d -P m.daocloud.io/docker.io/library/nginx

使用方法

 

增加前缀 (推荐方式)。比如:

              docker.io/library/busybox
                 |
                 V
m.daocloud.io/docker.io/library/busybox

或者 支持的镜像仓库 的 前缀替换 就可以使用。比如:

           docker.io/library/busybox
             |
             V
docker.m.daocloud.io/library/busybox
安装命令:

docker run -d –restart=always -p 3001:3001 -v uptime-kuma:/app/data –name uptime-kuma m.daocloud.io/louislam/uptime-kuma:1

一、Uptime Kuma 介绍

主要特性:

  • 监控 HTTP(s) / TCP / HTTP(s) 关键字 / HTTP(s) Json 查询 / Ping / DNS 记录 / 推送 / Steam 游戏服务器 / Docker 容器的正常运行时间
  • 精美、反应式、快速的 UI/UX
  • 通过 Discord、Gotify、Slack、Pushover、电子邮件 (SMTP) 和 90 多种通知服务发送通知,请单击此处查看完整列表
  • 20 秒间隔
  • 多种语言
  • 多个状态页面
  • 将状态页面映射到特定域
  • 平图
  • 证书信息
  • 2FA 支持

二、Uptime Kuma 安装方法

使用 Docker 安装(推荐):

docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

Uptime Kuma 现已在 http://localhost:3001 上运行

不使用 Docker 进行安装:

要求:

  • 平台
    • ✅ 主要 Linux 发行版,例如 Debian、Ubuntu、CentOS、Fedora 和 ArchLinux 等。
    • ✅ Windows 10 (x64)、Windows Server 2012 R2 (x64) 或更高版本
    • ❌ Replit / Heroku
  • Node.js 14 / 16 / 18 / 20.4
  • npm >= 7
  • git
  • pm2 – 用于在后台运行 Uptime Kuma

安装方法:

# Update your npm to the latest version
npm install npm -g

git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup

# Option 1. Try it
node server/server.js

# (Recommended) Option 2. Run in background using PM2
# Install PM2 if you don't have it:
npm install pm2 -g && pm2 install pm2-logrotate

# Start Server
pm2 start server/server.js --name uptime-kuma

更多 PM2 指令:

# If you want to see the current console output
pm2 monit

# If you want to add it to startup
pm2 save && pm2 startup

至此已经完成了 Uptime Kuma 的安装,可以正常使用了。

 

 

Uptime Kuma 是一款用于监测网络服务和服务器可用性的开源工具。它具有以下特点和功能,下面是对 Uptime Kuma 的评测介绍:

1. 监测多种网络服务: Uptime Kuma 可以监测多种网络服务,包括网站、API、数据库、DNS等,确保这些服务的正常运行。

2. 监测多个服务器: 它可以同时监测多个服务器,适用于企业或个人管理的多个服务器场景。

3. 实时通知: 当监测到服务不可用或出现故障时,Uptime Kuma 可以通过电子邮件、短信或Slack等方式及时通知管理员,帮助快速响应问题。

4. 可视化仪表盘: Uptime Kuma 提供直观的仪表盘,展示各项监测指标和历史记录,让管理员可以轻松地查看服务的可用性情况。

5. 定时检测: 工具可以根据管理员的设置,定时检测网络服务的可用性,以确保持续监测。

6. 开源和自定义性: Uptime Kuma 是开源的,用户可以根据需要自定义和扩展功能,以适应不同的监测需求。

7. 轻量级和易部署: 它是一个轻量级的监测工具,易于安装和配置,不需要复杂的设置。

8. 社区支持: Uptime Kuma 拥有一个活跃的社区,用户可以获得来自社区的支持和解决方案。

总的来说,Uptime Kuma 是一个功能强大且灵活的网络服务监测工具,适用于企业和个人,可帮助他们及时发现和解决网络服务中的问题,确保服务的高可用性。

CentOS 7 修改系统时间或时区

0x00 修改系统时间

安装在虚拟机上的CentOS7的时间分为系统时间和硬件时间。二者都修改,重启系统(init 6 )才会永久生效。

修改步骤如下

1.修改系统时间

查看当前系统时间

date

修改当前系统时间

date -s "2022-7-11 18:20:30“

 

2.修改硬件时间

查看硬件时间

hwclock --show

修改硬件时间

hwclock --set --date "2022-7-11 18:20:30"

同步系统时间和硬件时间

hwclock --hctosys

保存时钟

clock -w

重启系统(init 6)后便发现系统时间被修改了

 

0x01 修改时区

方法1

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 

方法2

使用timedatectl命令

timedatectl list-timezones |grep Shanghai
timedatectl set-timezone Asia/Shanghai

Centos7查看CPU使用率、内存使用率、磁盘使用率

一、查看CPU使用率

1. top 命令

Centos7查看CPU使用率、内存使用率、磁盘使用率插图
top命令可以看到总体的系统运行状态和cpu的使用率 。
%us:表示用户空间程序的cpu使用率(没有通过nice调度)
%sy:表示系统空间的cpu使用率,主要是内核程序。
%ni:表示用户空间且通过nice调度过的程序的cpu使用率。
%id:空闲cpu
%wa:cpu运行时在等待io的时间
%hi:cpu处理硬中断的数量
%si:cpu处理软中断的数量
%st:被虚拟机偷走的cpu
注:99.0 id,表示空闲CPU,即CPU未使用率,100%-99.0%=1%,即系统的cpu使用率为1%。

2、vmstat

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值

Centos7查看CPU使用率、内存使用率、磁盘使用率插图1
包括服务器的CPU使用率,
内存使用,
虚拟内存 交换情况,
IO读写情况
相比top,通过vmstat可以看到整个机器的 CPU,内存,IO的使用情况,
而不是单单看到各个进程的CPU使用率和内存使用率。

运行示例

一般vmstat工具的使用是通过

两个数字参数来完成的
第一个参数: 采样的时间间隔数,单位是秒,
第二个参数: 采样的次数
Centos7查看CPU使用率、内存使用率、磁盘使用率插图2

在应用过程中,我们会在一段时间内一直监控,不想监控直接结束vmstat就行了,例如:

Centos7查看CPU使用率、内存使用率、磁盘使用率插图3

参数详解

Linux 内存监控vmstat命令输出分成六个部分:

1、进程procs

    r:在运行队列中等待的进程数 。
    b:在等待io的进程数 。

2、内存memoy:

    swpd:现时可用的交换内存(单位KB)。 
    free:空闲的内存(单位KB)。
    buff: 缓冲去中的内存数(单位:KB)。
    cache:被用来做为高速缓存的内存数(单位:KB)。

swap交换页面

    si: 从磁盘交换到内存的交换页数量,单位:KB/秒。
    so: 从内存交换到磁盘的交换页数量,单位:KB/秒。

io块设备:

    bi: 发送到块设备的块数,单位:块/秒。
    bo: 从块设备接收到的块数,单位:块/秒。

system系统:

    in: 每秒的中断数,包括时钟中断。
    cs: 每秒的环境(上下文)转换次数。

cpu中央处理器:

    cs:用户进程使用的时间 。以百分比表示。
    sy:系统进程使用的时间。 以百分比表示。
    id:中央处理器的空闲时间 。以百分比表示。

常见诊断:

1、如:r经常大于4且id经常小于40,表示中央处理器的负荷很重。
2、如:bi,bo长期不等于0,表示物理内存容量太小。

每个参数的具体意思如下:

参数:r

表示运行队列(就是说多少个进程真的分配到CPU),
我测试的服务器目前CPU比较空闲,没什么程序在跑,
当这个值超过了CPU数目,就会出现CPU瓶颈 了。
这个也和top的负载有关系,
一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。
top的负载类似每秒的运行队 列。
如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。

b

表示阻塞的进程,这个不多说,进程阻塞

swpd

虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,
如果不是程序内存泄露的原因,
那么你该升级内存了或者把耗内存的任务迁移到其他机器。

free

空闲的物理内存的大小,我的机器内存总共8G,剩余3415M。

buff

Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存,本机大概占用300多M

cache

cache直接用来记忆我们打开的文件,给文件做缓冲,
我本机大概占用300多M
(这里是Linux/Unix的聪明之处,把空闲的物理内存的一部分拿来做文件和目录的缓存,
是为了提高 程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。)

si

每秒从磁盘读入虚拟内存的大小,如果这个值大于0,
表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。
我的机器内存充裕,一切正常。

so

每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。

bi

块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,
默认块大小是1024byte,我本机上没什么IO操作,所以一直是0,
但是我曾在处理拷贝大量数据(2-3T)的机器上看过可以达到140000/s,
磁盘写入速度差不多140M每秒

bo

块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。
bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。

in

每秒CPU的中断次数,包括时间中断

cs

每秒上下文切换次数,
例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,
这个值要越小越好,太大了,要考虑调低线程或者进程的 数目,
例如在apache和nginx这种web服务器中,
我们一般做性能测试时会进行几千并发甚至几万并发的测试,
选择web服务器的进程可以由进程或 者线程的峰值一直下调,压测,
直到cs到一个比较小的值,这个进程和线程数就是比较合适的值了。
系统调用也是,每次调用系统函数,我们的代码就会进入内核 空间,导致上下文切换,
这个是很耗资源,也要尽量避免频繁调用系统函数。
上下文切换次数过多表示你的CPU大部分浪费在上下文切换,
导致CPU干正经事的 时间少了,CPU没有充分利用,是不可取的。

us

用户CPU时间,我曾经在一个做加密解密很频繁的服务器上,
可以看到us接近100,r运行队列达到80(机器在做压力测试,性能表现不佳)。

sy

系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。

id

空闲 CPU时间,一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,
us是用户CPU使用率,sy是系统CPU使用率。

wt

等待IO CPU时间。

3、sar

sar命令语法和vmstat一样。命令不存在时需要安装sysstat包,这个包很有用。

命令示例:

例如每1秒采集一次CPU使用率,共采集5次。

# sar -u 1 5
Centos7查看CPU使用率、内存使用率、磁盘使用率插图4

进程队列长度和平均负载状态

例如每1秒采集一次,共采集5次。

Centos7查看CPU使用率、内存使用率、磁盘使用率插图5
runq-sz:运行队列的长度(等待运行的进程数)

plist-sz:进程列表中进程(processes)和线程(threads)的数量

ldavg-1:最后1分钟的系统平均负载(System load average)

ldavg-5:过去5分钟的系统平均负载

ldavg-15:过去15分钟的系统平均负载

4、dstat

事先安装

[root@DcServer ~]# yum install  dstat -y

每秒cpu使用率情况获取

Centos7查看CPU使用率、内存使用率、磁盘使用率插图6

最占cpu的进程获取

Centos7查看CPU使用率、内存使用率、磁盘使用率插图7

后续在进行补充。。。。。。

转自:https://zhuanlan.zhihu.com/p/356642255

BBR加速脚本(CentOS7*)

注意服务器的系统!

这里以Centos7.x为例子。

以下脚本也是收集的,一般GitHub上也有很多相关脚本,大家也可以自行搜索查看。

1、BBR加速脚本(CentOS7*)

Bash
wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh"    
chmod +x tcp.sh    
./tcp.sh

2.运行完成将出现以下菜单,可根据需要来安装相对应的核心,之后再打开加速功能。如图所示

BBR加速脚本(CentOS7*) 第1张

以安装BBR plus为例,输入数字2来安装。重启VPS如图:

BBR加速脚本(CentOS7*) 第2张

3.安装成功,重启VPS之后我们重新连接服务器。输入下列指令来启用其BBR plus。

BASIC
./tcp.sh

4.按照脚本菜单选项,选择对应安装的功能,来启用加速。

BBR加速脚本(CentOS7*) 第3张

5.如出现如图所示的信息,则表明BBR的加速功能已成功打开。

BBR加速脚本(CentOS7*) 第4张

6.如果必须安装或是转换其他版本的加速,必须再次打开脚本来进行卸载。卸载完成之后再选择所需的版本进行安装,之后需再次打开脚本来进行功能选择。

注意Centos8.x不能安装BBR PLUS加速,会导致连不上服务器的情况。

GitHub原地址:https://github.com/chiakge/Linux-NetSpeed

WordPress 后台密码忘记后,如何重置找回密码的方法

1、通过其他管理员修改密码

如果您的 WordPress 站点中有其他管理员,给他打个电话,请他帮你修改一下,这是最简单方便的方法了,如果他不知道怎么修改,按照下面的流程教他操作就可以了。

  1. 在 WordPress 后台左侧菜单中,点击「用户->所有用户」
  2. 在用户列表中找到你的用户名,点击编辑
  3. 在打开的新页面中,向下滚动到「新密码」部分,然后单击「生成密码」按钮。
  4. 可以直接使用生成的新密码,也可以输入你常用的密码,如果使用的是自己设置的密码,建议强度达到「强」,以保证 WordPress 安全性。
  5. 单击「更新个人资料」按钮。

2、通过电子邮件找回密码

如果你还记得自己的用户名或者电子邮件,那么可以常识使用 WordPress 的「找回密码」功能。

  • 打开 WordPress 登录页面(如:http://yoursite.com/wordpress/wp-login.php)
  • 点击「忘记密码?」链接
  • 在打开的新页面中输入你的用户名或电子邮件
  • 然后打开邮箱,然后打开邮件中的重置密码连接
  • 输入你想要设置的新密码,点击「保存」按钮即可
如果你的服务器不能发送电子邮件,此方法则无法使用。通过其他方法修改后,可以设置 SMTP 邮件服务器以便后期使用。

3、通过 MySQL 命令行设置新密码

如果你可以通过 SSH 登录服务器,我们可以使用 MySQL 命令行为用户设置新密码。

首先,我们需要使用 mysql 命令行客户端登录 MySQL 服务器,使用如下命令登录:

mysql -u root -p;

然后选择你的 WordPress 站点对应的数据库,如下(wordpress_com 是数据库名称):

use wordpress_com

最后,使用 UPDATE 命令更新密码,user_pass 后面的字符串就是 WordPress 加密后的密码,下面示例中对应的明文密码为「123456」,当然,你可以自己生成 WordPress 加密密码字符串。

UPDATE wp_users SET user_pass = $1$rSziHLDY$399k.JuJsy.oHVp5lquJC. WHERE ID = 1;

4、通过 phpMyAdmin 修改密码

如果你的服务器上安装了 phpMyAdmin,并且你可以登录,我们可以通过 phpMyAdmin 重新设置用户密码。

image

参考上如,我们找到需要修改密码的用户,双击 user_pass 中的密码,然后输入上一步中的 WordPress 加密密码字符串,然后鼠标在空白处点击一下就保存成功了,然后用我们修改后的新密码就可以登录 WordPress 后台了。

通过 phpMyAdmin 修改密码和通过 MySQL 命令修改密码的原理其实是一样的,都是通过修改数据库中的 WordPress 加密密码字符串来实现的。

通过 FTP 重置密码

如果您可以登录 WordPress 站点的 FTP,我们可以使用 wp_set_password 函数来修改密码。

  1. 通过 FTP 登录网站,然后下载你所用主题的 functions.php 文件
  2. 编辑文件,在第一个 <?php 之后添加如下代码:
wp_set_password('123456',1);

这个函数的第一个参数,也就是上面的「123456」是我们需要设置的密码,第二个参数是用户 ID。

  1. 把修改后的文件上传回您的网站。
  2. 刷新以此网站首页,管理员密码就修改为我们上面设置的 123456 了,登录后台后,删除掉上面添加的代码,否则每次打开一个页面,密码就会重新设置为 123456.

通过 WP CLI 命令行修改用户密码

WP CLI 是一个用于管理 WordPress 站点的命令行工具。

1、进入 WordPress 站点目录并输入

$ wp user list

这个命令的作用是列出所有用户,在返回结果中找到你的用户 ID,然后,更新用户。

wp user update 1 --user_pass=$1$rSziHLDY$399k.JuJsy.oHVp5lquJC.

上面命令中的 1 就是管理用用户 ID,--user_pass= 后面的字符串和我们通过 MySQL 命令行设置的一样,是 WordPress 加密密码字符串。

本文设置的密码「123456」只是为了方法演示使用,如果你在修改找回密码的过程中使用了这个密码,请找回密码后,及时登录 WordPress 后台修改此密码。

为了安全,我们需要设置较为复杂的密码,而人类的大脑不擅长记忆这类随机字符串,为了避免忘记密码导致网站无法登录,我们可以使用一个密码管理工具来帮我们记忆密码,如 Chrome 浏览器内置的密码管理工具,1Password、Enpass 等。

CentOS7.9 搭建内部yum源服务器同步阿里yum源

环境说明:

1、企业内网需求:企业内部许多服务器是不能连接互联网,但每台centos主机安装软件包时都配置本地yum源很麻烦,也缺少第三方yum源,因此在内网搭建一台yum源服务器满足这一需求,同时网络层面策略只允许此yum源服务器每周日晚限时联网同步阿里云的yum源。

参考连接:http://blog.itpub.net/70004783/viewspace-2790196/

2、准备两台测试主机,一台用作yum源服务器(能连互联网),一台用作客户端。

3、系统版本:CentOS 7.9

 

实操步骤:

一、添加阿里云yum

备份原系统的repo

[root@yumserver ~]# mkdir /etc/yum.repos.d/backup
[root@yumserver ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup

添加阿里云yum源并缓存(Centos-7.repo是软件仓库配置文件,epel-7.repo是扩展源、提供额外的软件包)

[root@yumserver ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@yumserver ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@yumserver ~]# yum makecache
[root@yumserver ~]# yum repolist

 二、安装相关软件

[root@yumserver ~]# yum install -y wget make cmake gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel httpd yum-utils createrepo

备注:

yum-utils:yum-utils是yum的工具包集合,reposync一个同步工具。
createrepo:createrepo是一个对rpm文件进行索引建立的工具,就是对指定目录下的rpm文件进行检索,把每个rpm文件的信息存储到指定的索引文件中,这样方便远程yum命令在安装更新时进行检索。
httpd:通过Apache软件提供web服务,也可以使用nginx。

三、同步阿里云yum源软件包到本地服务器指定目录/mirror(自定义目录)

创建存放软件包目录/mirror,(chown设置文件所有者和文件关联组,chmod控制用户对文件的权限)

[root@yumserver ~]# mkdir -p /mirror
[root@yumserver ~]# chown -R apache:apache /mirror
[root@yumserver ~]# chmod -R 755 /mirror

同步阿里云yum源软件包

###参数-n指下载最新软件包,-p指定目录,指定本地的源--repoid(如果不指定就同步本地服务器所有的源),下载过程比较久(10个小时左右)
[root@yumserver ~]# reposync -n --repoid=extras --repoid=updates --repoid=base --repoid=epel -p /mirror

[root@yumserver ~]# du -sh /mirror/*
9.0G    /mirror/base
16G     /mirror/epel
323M    /mirror/extras
3.3G    /mirror/updates

四、创建仓库索引

createrepo -po /mirror/base/ /mirror/base/
createrepo -po /mirror/extras/ /mirror/extras/
createrepo -po /mirror/updates/ /mirror/updates/
createrepo -po /mirror/epel/ /mirror/epel/

五、更新数据源

createrepo --update /mirror/base/
createrepo --update /mirror/extras/
createrepo --update /mirror/updates/
createrepo --update /mirror/epel/

六、启动并配置Apache服务

6.1、启动Apache(httpd)服务(如果没有httpd,需要yum install -y httpd 安装一下)

[root@yumserver ~]# systemctl start httpd
[root@yumserver ~]# systemctl enable httpd
[root@yumserver ~]# systemctl status httpd

6.2、系统防火墙放行80端口(apache服务使用的是80端口)

[root@yumserver ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp
success
[root@yumserver ~]# firewall-cmd --reload
success

 备注:必要时可以运行 systemctl restart httpd 重启一下服务。

6.3、关闭selinux(SELINUX=disabled)

[root@yumserver ~]# vi /etc/selinux/config 

CentOS7.9 搭建内部yum源服务器同步阿里yum源插图

6.4、配置httpd.conf文件

[root@yumserver ~]# vi /etc/httpd/conf/httpd.conf
DocumentRoot "/mirror/"
<Directory "/mirror/">
    Options Indexes FollowSymLinks
    AllowOverride  None
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

 注意:上面配置的httpd.conf文件,需要找到如下图DocumentRoot字样的行进行更改,而不是直接复制粘贴插入。

CentOS7.9 搭建内部yum源服务器同步阿里yum源插图1

6.5、修改web界面的 index.html 文件

###修改Apache默认首页index.html,直接复制粘贴执行
cat << EOF > /usr/share/httpd/noindex/index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CentOS 7 镜像</title>

<script>document.createElement("myHero")</script>
<style>
myHero {
        display: block;
        background-color: #ddd;
        padding: 10px;
        font-size: 20px;
} 
</style> 

</head>
<body>
    <h1>简介</h1>
    <hr>
    <p>CentOS,是基于 Red Hat Linux 提供的可自由使用源代码的企业级 Linux 发行版本,是一个稳定,可预测,可管理和可复制的免费企业级计算平台。</p>
    <hr>
    <br>
    <br>

        <h1>CentOS 7 配置内部YUM源</h1>
    <br>
        <h2>1、备份</h2>
        <myHero>mkdir /etc/yum.repos.d/backup</myHero>
        <myHero>mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/</myHero>
    <br>
        <h2>2、下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/ </h2>
        <myHero>curl -o /etc/yum.repos.d/CentOS-Base.repo http://xx.xx.xx.xx/repo/CentOS-Base.repo</myHero>
    <br>
        <h2>3、运行 yum makecache 生成缓存</h2>
    <br>
        <h2>4、运行 yum repolist   查看已经生成缓存</h2>
    <br>
    <br>

</body>
</html>
EOF

注意: 上文中的 http://xx.xx.xx.xx 填写自身yum源服务器的ip地址。

七、编写yum源客户端配置文件

创建repo文件夹

[root@yumserver ~]# mkdir -p /mirror/repo/
###复制粘贴执行,注意:xx.xx.xx.xx需要更改为服务器ip地址。

[root@yumserver ~]# cat << EOF > /mirror/repo/CentOS-Base.repo

[base]
name=CentOS- Base - xx.xx.xx.xx
failovermethod=priority
baseurl=http://xx.xx.xx.xx/base/
enable=1
gpgcheck=0
 
#released updates 
[updates]
name=CentOS- Updates - xx.xx.xx.xx
failovermethod=priority
baseurl=http://xx.xx.xx.xx/updates/
enable=1
gpgcheck=0
 
#additional packages that may be useful
[extras]
name=CentOS- Extras - xx.xx.xx.xx
failovermethod=priority
baseurl=http://xx.xx.xx.xx/extras/
enable=1
gpgcheck=0
 
#additional packages that may be useful
[epel]
name=CentOS- Epel - xx.xx.xx.xx
failovermethod=priority
baseurl=http://xx.xx.xx.xx/epel/
enable=1
gpgcheck=0
EOF

八、客户端配置yum

登录客户端操作系统执行以下命令(注意:xx.xx.xx.xx为yum源服务器的ip地址)

[root@client ~]# mkdir /etc/yum.repos.d/backup/
[root@client ~]# mv /etc/yum.repos.d/* /etc/yum.repos.d/backup/
[root@client ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://xx.xx.xx.xx/repo/CentOS-Base.repo
[root@client ~]# yum makecache

用户也可以用浏览器访问 http://xx.xx.xx.xx 查看配置客户端yum源的方法

CentOS7.9 搭建内部yum源服务器同步阿里yum源插图2

 九 、设置定时同步yum源的任务

编辑脚本

[root@yumserver ~]# cat  /mirror/script/centos_yum_update.sh
#!/bin/bash
echo 'Updating Aliyum Source'
DATETIME=`date +%F_%T`
exec > /var/log/aliyumrepo_$DATETIME.log
reposync -np /mirror
if [ $? -eq 0 ];then
 createrepo --update /mirror/base
  createrepo --update /mirror/extras
   createrepo --update /mirror/updates
   createrepo --update /mirror/epel
    echo "SUCESS: $DATETIME aliyum_yum update successful"
    else
     echo "ERROR: $DATETIME aliyum_yum update failed"
    fi

添加定时任务,每周一凌晨1点执行

[root@yumserver ~]# crontab -l
0 1 * * 1 /bin/bash /mirror/script/centos_yum_update.sh

至此,结束。。。

 

问题:有时服务器端的yum源仓库索引没有更新成功。
手动更新:
[root@yumserver ~]# createrepo --update /mirror/base/
[root@yumserver ~]# createrepo --update /mirror/extras/
[root@yumserver ~]# createrepo --update /mirror/updates/
[root@yumserver ~]# createrepo --update /mirror/epel/

Hetzner 独服重装系统并配置 RAID 0

前言

Hetzner在购买的时候只显示硬盘默认是RAID 1模式,发了Ticket也没有回复我,无奈只好先开台机器尝试了。
买的芬兰机器,网络非常差,建议选德国的吧,可能会好点,但会贵一些。

安装

进入后台,点击Rescue选项卡,选择Linux64Bit,然后点击Activate rescue system

接着点击Reset选项卡,选择Execute an automatic hardware reset,然后点击Send,之后下面会显示一串英文,记录下登录密码即可。

此时系统会重启进入Rescue模式,用之前记录的密码登录后输入以下命令开始重装系统:

installimage

Hetaner_Install_Tool.png

选择自己需要安装的系统,点击OK下一步。
之后会出现一系列的确认问题,选择OK即可。

最后进入配置编辑页面,修改成如下即可:

  1. SWRAID 1 #默认即可不用修改
  2. SWRAIDLEVEL 0 #默认是1
  3. PART swap swap 32G #默认
  4. PART /boot ext3 512M #默认
  5. PART / ext4 all #修改成 all
  6. #刪除 PART /home ext4 all

改完,按Esc保存退出,执行reboot重启即可进入新系统。