Docker 官方提供的 docker 软件包存储库地址为 https://download.docker.com/linux/centos/docker-ce.repo,使用广州云服务器 ping download.docker.com 得到的IP是日本东京,也就意味着 Docker CE 官方源并不在国内,网络稳定性难以保证。

解决方法 1:

修改 /etc/yum.repos.d/docker-ce.repo

vi /etc/yum.repos.d/docker-ce.repo

https://download.docker.com/linux/centos/$releasever/$basearch/stable 修改为:

https://mirrors.cloud.tencent.com/docker-ce/linux/centos/$releasever/$basearch/stable

修改结果:

保存。

解决方法 2:

执行命令替换为腾讯源:

sed -i 's/download.docker.com/mirrors.cloud.tencent.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

执行命令进行安装:

yum install docker-ce docker-ce-cli containerd.io -y

即可享受高速下载安装 Docker CE。

swappiness 的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0 的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100 的时候表示积极的使用swap分区,并且把内存上的数据及时搬运到swap空间里面。

linux的基本默认设置为30,具体如下:

[root@localhost ~]# cat /proc/sys/vm/swappiness
30

也就是说,你的内存在使用到100-60=40%的时候,就开始出现有交换分区的使用。大家知道,内存的速度会比磁盘快很多,这样子会加大系统io,同时造的成大量页的换进换出,严重影响系统的性能,所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整。

临时调整的方法如下,我们调成10:

[root@localhost ~]# sysctl vm.swappiness=10
vm.swappiness = 10
[root@localhost ~]# cat /proc/sys/vm/swappiness
10

这只是临时调整的方法,重启后会回到默认设置的.

要想永久调整的话,需要在 /etc/sysctl.conf 修改,加上:

vm.swappiness = 10

快捷命令为:

echo "vm.swappiness=10" >> /etc/sysctl.conf

然后执行以下命令生效:

sudo sysctl -p

这样便完成修改设置!

我有一个运行 CentOS Red Hat Enterprise Linux (RHEL) 的服务器。我该如何访问 Extra Packages for Enterprise Linux (EPEL) 存储库,以便安装标准存储库中未提供的软件包?

简短描述

标准存储库可能不提供某些在 CentOS 或 Red Hat Enterprise Linux (RHEL) 的发行版上安装的软件包。启用 EPEL 存储库可提供额外的软件包安装选项。

解决方法

请按照以下步骤在 RHEL 或 CentOS 的发行版上下载、安装和启用 EPEL 存储库:

RHEL

RHEL 8:

安装适用于 RHEL 8 的 EPEL 发行包。同时启用 EPEL 和 CodeReady Builder 存储库。CodeReady Builder 存储库包含许多 EPEL 软件包所需的开发工具。

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
sudo dnf config-manager --set-enabled codeready-builder-for-rhel-8-rhui-rpms

RHEL 7:

安装并启用适用于 RHEL 7 的 EPEL 发行包。

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

RHEL 6:

安装并启用适用于 RHEL 6 的 EPEL 发行包。

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

CentOS

CentOS 8:

安装适用于 RHEL 8 的 EPEL 发行包。同时启用 EPEL 和 PowerTools 存储库。PowerTools 存储库包含许多 EPEL 软件包所需的开发工具。

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
sudo dnf config-manager --set-enabled PowerTools

CentOS 7:

安装并启用 EPEL 发行包。CentOS 7 的基本存储库中包括 epel-release 软件包。

sudo yum -y install epel-release

CentOS 6:

安装并启用适用于 RHEL 6 的 EPEL 发行包。

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

列出已启用的存储库

如要验证是否启用了 EPEL 存储库,请运行 repolist 命令。

sudo yum repolist

NodeQuery.com 是一款Linux服务器监控工具,每个账号提供10个免费监控额度,监控在线率、CPU、内存、网络等使用情况并以网页的形式反馈出来,服务器的当前状况一目了然。

然而这么好的一款工具,今年出现多次服务器宕机、网站SSL证书过期和服务器时间不正确、经常误报等严重问题,说明了NodeQuery产品并没有得到重视,个人建议抛弃使用。

卸载 NodeQuery脚本:

rm -rf /etc/nodequery && (crontab -u nodequery -l | grep -v "/etc/nodequery/nq-agent.sh") | crontab -u nodequery - && userdel nodequery

使用 NGINX 官方源安装,启动程序发现 Systemd 中存在报错:Can't open PID file /var/run/nginx.pid (yet?) after start: No such file or directory

● nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-12-10 03:35:04 MSK; 8s ago
     Docs: http://nginx.org/en/docs/
  Process: 9226 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
  Process: 9229 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
 Main PID: 9230 (nginx)
   CGroup: /system.slice/nginx.service
           ├─9230 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
           └─9231 nginx: worker process

Dec 10 03:35:04 vm228965.u83712.kvm.centos.7.64 systemd[1]: Stopped nginx - high performance web server.
Dec 10 03:35:04 vm228965.u83712.kvm.centos.7.64 systemd[1]: Starting nginx - high performance web server...
Dec 10 03:35:04 vm228965.u83712.kvm.centos.7.64 systemd[1]: Can't open PID file /var/run/nginx.pid (yet?) after start: No such file or directory
Dec 10 03:35:04 vm228965.u83712.kvm.centos.7.64 systemd[1]: Started nginx - high performance web server.

原因是Nginx 启动时 PID 文件并未生成,导致文件无法读取

知道问题如何产生,自然就有了解决办法。在 /usr/lib/systemd/system/nginx.service 中添加如下语句即可,作用是在执行可执行文件前等待 0.1s 。

ExecStartPost=/bin/sleep 0.1

添加后 /usr/lib/systemd/system/nginx.service 如下:

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPost=/bin/sleep 0.1
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target

然后重新加载配置、启动

systemctl daemon-reload
systemctl restart nginx

问题修复。

CentOS 7 源码安装 CMake 3.17.0 最新稳定版。解决 cmake: command not found 问题。

1、准备编译环境

yum -y install gcc gcc-c++ openssl openssl-devel tar make

2、获取源码,并解压

wget https://github.com/Kitware/CMake/releases/download/v3.17.0/cmake-3.17.0.tar.gz
tar -zxf cmake-3.17.0.tar.gz
cd cmake-3.17.0

备用下载地址:https://down.24kplus.com/linux/cmake/cmake-3.17.0.tar.gz

3、编译安装

./bootstrap --prefix=/usr --datadir=share/cmake --docdir=doc/cmake && make
sudo make install

4、检查是否正确安装

cmake --version

cmake version 3.17.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).

一、命令格式

mkpasswd [ args ] [ user ]

二、 命令功能

mkpasswd命令是make password的简写。可以随机生成密码字符串。

三、 命令参数

-l 定义密码长度。默认为9。
-d 至少包含阿拉伯数字的个数。默认为2。
-c 至少包含的小写字母个数。默认为2。
-C 至少包含的大写字母个数。默认为2。
-s 至少包含的特殊字符个数。默认为1。
-p 设置密码的程序命名。 默认情况下,使用/etc/yppasswd(如果存在),否则使用/bin/passwd。

例子:

[root@myvps ~]# mkpasswd -l 20 -d 4 -c 6 -C 5 -s 5
uSp9,|Lp2'F8Ra8r!"zP