CentOS 7实施运维笔记
Linux(CentOS 7)
默认下载CentOS-7-x86_64-DVD的ISO文件。
使用UltraISO制作系统盘
文件->打开…->选择ISO文件
启动->写入硬盘映像…->选择U盘->写入方式(USB-HDD+)->写入
重命名U盘(无空格)(U盘名下写作uname)
将U盘\EFI\BOOT\grub.cfg中的
\CentOS\x207\x20x86_64替换为uname将U盘\isolinux\isolinux.cfg中的
\CentOS\x207\x20x86_64替换为uname
CentOS系统安装
关机状态U盘插入电脑->开机->按快捷键进入主板BIOS(一半为DEL键,可参考如下表格)
最常见的是ESC键、Delete键、F12键,若不行可以尝试以下对应的BIOS快捷键或快捷启动按键。
组装机主板 品牌笔记本 品牌台式机 华硕主板 F8 联想笔记本 F12 联想台式机 F12 技嘉主板 F12 宏基笔记本 F12 惠普台式机 F12 微星主板 F11 华硕笔记本 ESC 宏基台式机 F12 映泰主板 F9 惠普笔记本 F9 戴尔台式机 ESC 梅捷主板 ESC/F12 联想ThinkPad F12 神舟台式机 F12 七彩虹主板 ESC/F11 戴尔笔记本 F12 华硕台式机 F8 华擎主板 F11 alienware笔记本 F2/F12 方正台式机 F12 昂达主板 F11 神舟笔记本 F12 清华同方台式机 F12 双敏主板 ESC 东芝笔记本 F12 海尔台式机 F12 翔升主板 F10 三星笔记本 F12 明基台式机 F8 精英主板 ESC/F11 IBM笔记本 F12 冠盟主板 F11/F12 富士通笔记本 F12 富士康主板 ESC/F12 海尔笔记本 F12 顶星主板 F11/F12 方正笔记本 F12 铭瑄主板 ESC 清华同方笔记本 F12 盈通主板 F8 微星笔记本 F11 捷波主板 ESC 明基笔记本 F9 Intel主板 F12 技嘉笔记本 F12 杰微主板 ESC/F8 GateWay笔记本 F12 致铭主板 F12 eMachines笔记本 F12 磐英主板 ESC 索尼笔记本 ESC 磐正主板 ESC 冠名主板 F9 斯巴达卡主板 ESC 华南主板 DEL/F11 在启动项将U盘设在第一个->按F10保存重启
选择
Test this media & install CentOS 7出现图形界面之后,按需求选择语言->设置网络、软件选择、安装位置等->设置root密码
CentOS 7安装完成
安装后可做的事情:
1 | 更新yum |
1 | # 网卡类型(通常是Ethemet以太网) |
防火墙:
1 | 查看防火墙 |
JDK(JDK1.8)
下载JDK1.8最新Linux x64 Compressed Archive安装包(jdk-8uXXX-linux-x64.tar.gz)
将文件保存在
/usr/local/lib64/下进行解压缩
1
tar -zxvf /usr/local/lib64/jdk-8uXXX-linux-x64.tar.gz
在
/etc/profile最后添加如下配置1
2
3
4# jdk
export JAVA_HOME=/usr/local/lib64/jdk1.8.0_XXX
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar刷新环境变量
1
source /etc/profile
Nginx(Stable version)
第1种安装方式
安装先决条件:
1 | sudo yum install yum-utils |
要设置 yum 存储库,请创建包含 /etc/yum.repos.d/nginx.repo 以下内容的文件:
1 | [nginx-stable] |
要安装 nginx,请运行以下命令:
1 | sudo yum install nginx |
当提示接受 GPG 密钥时,验证指纹是否匹配 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62,如果匹配,则接受。
第2种安装方式
下载Nginx支持最新Stable version的安装包(nginx-1.22.1.tar.gz)
将文件保存在
/usr/local/lib64/下进行解压缩
1
tar -zxvf /usr/local/lib64/nginx-1.22.1.tar.gz
进入解压目录下
1
cd nginx-1.22.1
进行编译安装
1
make && make install
Node.js(16.XXX)
最新的LTS长期维护版18.X不适用CentOS 7,选择下载16.X版本。
Node.js
将文件保存在
/usr/local/lib64/下进行解压缩
1
tar -zxvf /usr/local/lib64/node-v16.XXX-linux-x64.tar.gz
在
/etc/profile最后添加如下配置1
2# nodejs
PATH=$PATH:/usr/local/lib64/node-v16.XXX-linux-x64/bin刷新环境变量
1
source /etc/profile
Redis
安装EPEL (Extra Packages for Enterprise Linux “企业 Linux 的额外软件包”)
1
yum -y install epel-release
安装Redis
1
yum -y install redis
启动redis服务
1
systemctl start redis
查看redis状态
1
systemctl status redis
查看redis进程
1
ps -ef | grep redis
设置开机自启动
1
systemctl enable redis
开放端口号
1
2
3firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=6379/tcp --permanent查看端口
1
netstat -lnp|grep 6379
设置redis 远程连接和密码
输入命令
1
vim /etc/redis.conf
进入编辑模式。
将这部注释掉,否则只有本机才能访问。1
2
3
4#bind 127.0.0.1
protected-mode no
port 6379
requirepass 密码重启redis
1
systemctl restart redis
进入redis
命令
1
redis-cli -h 127.0.0.1 -p 6379
然后输入
info,提示必须验证auth "密码"停止服务
1
systemctl stop redis
MySQL(5.7)
以下说明假定 MySQL 尚未使用第三方分发的 RPM 软件包安装在您的系统上;如果不是这种情况,请按照替换本地第三方 MySQL 分发中给出的说明进行操作。
添加 MySQL Yum 存储库
首先,将 MySQL Yum 存储库添加到系统的存储库列表中。按着这些次序:
转到 MySQL Yum 存储库的下载页面,网址为 https://dev.mysql.com/downloads/repo/yum/。
选择并下载适用于您的平台的发布包。
使用以下命令安装下载的发布包,替换
platform-and-version-specific-package-name为下载包的名称:1
> sudo rpm -Uvh platform-and-version-specific-package-name.rpm
例如,对于*
n*基于 EL6 系统的软件包版本,命令为:1
> sudo rpm -Uvh mysql80-community-release-el6-n.noarch.rpm
在您的系统上安装发布包后,通过
yum update命令(或启用 dnf 的系统的dnf upgrade) 进行的任何系统范围更新将自动升级您系统上的 MySQL 包,并且还会替换任何本机第三方包,如果 Yum在 MySQL Yum 存储库中找到它们的替代品。有关详细信息, 请参阅使用 MySQL Yum 存储库升级 MySQL和 替换 MySQL 的本机第三方分发。
选择发布系列
使用 MySQL Yum 存储库时,默认选择最新的 MySQL GA 版本进行安装。如果这是您想要的,您可以跳到下一步, 使用 Yum 安装 MySQL。
在 MySQL Yum 存储库 ( https://repo.mysql.com/yum/ ) 中,MySQL Community Server 的不同版本系列托管在不同的子存储库中。最新GA系列(目前MySQL 8.0)的子库默认开启,其他所有系列(如MySQL 5.7系列)的子库默认关闭。使用此命令查看 MySQL Yum 存储库中的所有子存储库,并查看其中哪些已启用或已禁用(对于启用 dnf 的系统,请将命令中的 yum 替换为 dnf ):
1
> yum repolist all | grep mysql
要安装最新 GA 系列的最新版本,无需配置。要安装最新 GA 系列以外的特定系列的最新版本,请在运行安装命令之前禁用最新 GA 系列的子存储库并启用特定系列的子存储库。如果您的平台支持
yum-config-manager或dnf config-manager命令,您可以通过发出以下命令来实现,例如,禁用 8.0 系列的子存储库并启用 5.7 系列的子存储库;对于未启用 dnf 的平台:1
2> sudo yum-config-manager --disable mysql80-community
> sudo yum-config-manager --enable mysql57-community对于支持 dnf 的平台:
1
2> sudo dnf config-manager --disable mysql80-community
> sudo dnf config-manager --enable mysql57-community除了使用
yum-config-manager或dnf config-manager命令外,您还可以通过手动编辑文件来选择系列/etc/yum.repos.d/mysql-community.repo。这是文件中发布系列子存储库的典型条目:1
2
3
4
5
6
7[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql找到您要配置的子存储库的条目,然后编辑该
enabled选项。指定enabled=0禁用子存储库或enabled=1启用子存储库。例如,要安装 MySQL 5.7,请确保您拥有enabled=0MySQL 8.0 的上述子存储库条目,以及enabled=15.7 系列的条目:1
2
3
4
5
6
7
8# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql您应该在任何时候只为一个发布系列启用子存储库。当启用多个发布系列的子存储库时,Yum 将使用最新的系列。
通过运行以下命令并检查其输出来验证是否已启用和禁用正确的子存储库(对于启用 dnf 的系统,将命令中的 yum 替换为 dnf ):
1
> yum repolist enabled | grep mysql
禁用默认的 MySQL 模块
(仅限 EL8 系统)基于 EL8 的系统(例如 RHEL8 和 Oracle Linux 8)包括默认启用的 MySQL 模块。除非禁用此模块,否则它会屏蔽 MySQL 存储库提供的包。要禁用包含的模块并使 MySQL 存储库包可见,请使用以下命令(对于启用 dnf 的系统,将 命令中的 yum替换为dnf):
1
> sudo yum module disable mysql
安装 MySQL
通过以下命令安装 MySQL(对于启用了 dnf 的系统,将命令中的 yum替换为dnf):
1
> sudo yum install mysql-community-server
这将安装 MySQL 服务器的包,以及其他所需的包。
启动 MySQL 服务器
使用以下命令启动 MySQL 服务器:
1
> systemctl start mysqld
您可以使用以下命令检查 MySQL 服务器的状态:
1
> systemctl status mysqld
如果操作系统启用了 systemd,则应使用标准 systemctl(或者参数 相反的服务)命令(例如停止、 启动、状态和 重启)来管理 MySQL 服务器服务。该
mysqld服务默认启用,并在系统重启时启动。有关更多信息,请参阅 使用 systemd 管理 MySQL 服务器。MySQL 服务器初始化(从 MySQL 5.7 开始):在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:
服务器已初始化。
在数据目录中生成 SSL 证书和密钥文件。
validate_password 插件 已安装并启用。
'root'@'localhost'创建 一个超级用户帐户。超级用户的密码已设置并存储在错误日志文件中。要显示它,请使用以下命令:1
> sudo grep 'temporary password' /var/log/mysqld.log
通过使用生成的临时密码登录并为超级用户帐户设置自定义密码,尽快更改 root 密码:
1
> mysql -uroot -p
1
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
默认安装 MySQL 的 validate_password插件。这将要求密码至少包含一个大写字母、一个小写字母、一位数字和一个特殊字符,并且密码总长度至少为 8 个字符。
保护 MySQL 安装(仅适用于 MySQL 5.6)
程序mysql_secure_installation 允许您执行重要操作,如设置 root 密码、删除匿名用户等。始终运行它以保护您的 MySQL 5.6 安装:
1
> mysql_secure_installation
记住您设置的 root 密码很重要。有关详细信息, 请参阅 mysql_secure_installation — 提高 MySQL 安装安全性。
安装 MySQL 5.7 或更高版本后 不要运行mysql_secure_installation ,因为该程序的功能已经由 Yum 存储库安装执行。
对于基于 EL7 的平台:请参阅 基于 EL7 的平台的兼容性信息。
密码问题:
查看初始密码
1
grep 'temporary password' /var/log/mysqld.log
使用root账户登录mysql
1
2mysql -u root -p
Enter password:修改userName密码
1
2
3
4
5
6
7
8
9
10
11# 不可在外网登录
ALTER USER 'userName'@'localhost' IDENTIFIED BY 'New-Password-Here';
# 已可在外网登录
ALTER USER 'userName'@'%' IDENTIFIED BY 'New-Password-Here';
# 或
# 使用mysql表
use mysql;
# 修改密码
update mysql.user set authentication_string=password('New-Password-Here') where user='userName' and Host = 'localhost';
远程连接问题:is not allowed to connect to this mysql server
登录到mysql中
1
2mysql -u root -p
Enter password:使用mysql表
1
use mysql;
查看root可用的登录连接
1
select host from user where user='root';
更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”
1
update user set host = '%' where user ='root';
刷新配置
1
flush privileges;
一些命令:
1 | # 查看所有数据库 |
Tomcat(10.0.27)
下载Tomcat支持最新JDK1.8的安装包(apache-tomcat-10.0.27.tar.gz)
将文件保存在
/usr/local/lib64/下进行解压缩
1
tar -zxvf /usr/local/lib64/apache-tomcat-10.0.27.tar.gz
进入bin目录下
1
cd apache-tomcat-10.0.27.tar.gz/bin/
运行Tomcat
1
./startup.sh
停止Tomcat
1
./shutdown.sh
Docker
安装Docker前:
1 | 镜像CentOS 7提取 |
安装Docker后:
1 | 导入CentOS 7镜像 |
参考文档:https://docs.docker.com/engine/install/centos/
卸载旧版本
旧版本的 Docker 被称为docker或docker-engine。如果安装了这些,请卸载它们以及相关的依赖项。
1 | sudo yum remove docker \ |
yum如果报告没有安装这些软件包,那也没关系。
内容/var/lib/docker/(包括图像、容器、卷和网络)将被保留。Docker 引擎包现在称为docker-ce.
安装方法
您可以根据需要以不同的方式安装 Docker Engine:
- 大多数用户 设置 Docker 的存储库并从中安装,以简化安装和升级任务。这是推荐的方法。
- 一些用户下载 RPM 包并 手动安装并完全手动管理升级。这在诸如在无法访问 Internet 的气隙系统上安装 Docker 等情况下非常有用。
- 在测试和开发环境中,一些用户选择使用自动化的 便捷脚本来安装 Docker。
使用存储库安装
在新主机上首次安装 Docker Engine 之前,您需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。
设置存储库
安装yum-utils包(提供yum-config-manager 实用程序)并设置存储库。
1 | sudo yum install -y yum-utils |
安装 Docker 引擎
安装最新版本的 Docker Engine、containerd 和 Docker Compose 或转到下一步安装特定版本:
1
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
如果提示接受 GPG 密钥,请验证指纹是否匹配
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果匹配,则接受。此命令安装 Docker,但不会启动 Docker。它还会创建一个
docker组,但是默认情况下不会向该组添加任何用户。要安装特定版本的 Docker 引擎,请在存储库中列出可用版本,然后选择并安装:
一个。列出并排序存储库中可用的版本。此示例按版本号从高到低对结果进行排序,并被截断:
1
2
3
4
5
6yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable返回的列表取决于启用了哪些存储库,并且特定于您的 CentOS 版本(
.el7在此示例中由后缀表示)。b. 通过其完全限定的包名称安装特定版本,即包名称 (
docker-ce) 加上版本字符串(第 2 列),从第一个冒号 (:) 开始,直到第一个连字符,由连字符 (-) 分隔。例如,docker-ce-18.09.1。1
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin
此命令安装 Docker,但不会启动 Docker。它还会创建一个
docker组,但是默认情况下不会向该组添加任何用户。启动 Docker。
1
sudo systemctl start docker
通过运行映像验证 Docker 引擎是否已正确安装
hello-world。1
sudo docker run hello-world
此命令下载测试图像并在容器中运行它。当容器运行时,它会打印一条消息并退出。
这将安装并运行 Docker 引擎。用于sudo运行 Docker 命令。继续Linux postinstall以允许非特权用户运行 Docker 命令和其他可选配置步骤。
1 | docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=enp3s0 -o macvlan_mode=bridge bridgemacvlan |
1 | docker run -it -d --name test --privileged=true --network bridgemacvlan --ip=192.168.0.130 centos:7 /bin/bash/init |
1 | docker run -it -d --name test --privileged centos:7 /usr/sbin/init |
1 | tar --numeric-owner --exclude=/proc --exclude=/sys --exclude=/mnt --exclude=/var/cache --exclude=/usr/share/{foomatic,backgrounds,perl5,fonts,cups,qt4,groff,kde4,icons,pixmaps,emacs,gnome-background-properties,sounds,gnome,games,desktop-directories} --exclude=/var/log -zcvf /mnt/CentOS7-BaseImage.tar / |