1. 系统安装与配置
1.1 安装Centos8
这里配置以 Centos8 命令为主。【编辑虚拟机设置】移除【USB】【声卡】【打印机】,再开启虚拟机,成功。
使用 Centos8 之前还需要终端快捷键,详细命令:/usr/bin/gnome-terminal
。
1.2 更换yum源
1、确保 centos7 没有设置固定 DNS。
2、安装 wget:yum install -y wget。
3、备份,将 CentOS-Base.repo 为CentOS-Base.repo.backup
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
4、下载新的 http://mirrors.aliyun.com/repo/Centos-7.repo,并命名为CentOS-Base.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
5、清除缓存
yum clean all # 清除系统所有的yum缓存
yum makecache # 生成yum缓存
1.3 常用软件配置
1.3.1 配置固定IP
1、使用 root 用户,进入到 /etc/sysconig/network-scripts/ 下修改 ifcfg-ens33 文件。
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens32
UUID=a1585ee1-632e-4e4c-a54c-9bb57c7fe4f6
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.58.100
NETMASK=255.255.255.0
GATEWAY=192.168.58.2
DNS1=192.168.58.2
2、完成之后重启网络服务。
# 重启网卡
nmcli c reload
# 启用ens32网卡,我这里是 ens32 网卡,大部分人应该都是ens33网卡。
[root@localhost network-scripts]# nmcli c up ens32
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
# centos7重启网卡命令:service network restart
1.3.2 配置JDK8
1、下载 Linux 版本的 JDK8:链接:https://pan.baidu.com/s/17RX7Y1GTFjWsbqgmNFaSlA 提取码:yg6t
2、将下载好的文件放到 /opt/java 里,并使用 tar -zxvf 进行解压。
3、配置环境变量,编辑命令:vi /etc/profile,在文件末尾添加如下内容:
export JAVA_HOME=/opt/jdk8
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
4、使用命令 source /etc/profile 让修改好的 profile 文件生效。
5、使用 java -version 进行测试。
1.3.3 配置Redis
docker run -p 6379:6379 —name redis -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis:6.0.6 redis-server /etc/redis/redis.conf —appendonly yes
1.3.4 配置nacos
下载地址:https://github.com/alibaba/nacos/releases。
通过 docker 部署,不包含prometheus/grafana等监控组件
# 1、拉取镜像
docker pull nacos/nacos-server
# 2、挂载目录
mkdir -p /opt/nacos/logs/ #新建logs目录
mkdir -p /opt/nacos/init.d/
vim /opt/nacos/init.d/custom.properties #修改配置文件
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=user
db.password=pass
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true
# 3、启动容器
docker run \
--name nacos -d \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /home/nacos/logs:/home/nacos/logs \
-v /home/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server
docker run -d \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=127.0.0.1\
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-p 8848:8848 \
--restart=always \
--name nacos \
nacos/nacos-server
通过docker-compose部署,包含prometheus/grafana等监控组件
git clone --depth 1 https://github.com/nacos-group/nacos-docker.git
cd nacos-docker
docker-compose -f example/standalone-derby.yaml up -d
docker exec -it redis /bin/bash
https://www.jianshu.com/p/3d3e17bc629f
1.4 给用户添加sudo权限
修改 /etc/sudoers,将用户添加到 sudoers 中,这里需要强制保存。
2. 常用命令
2.1 防火墙相关
# 查看防火墙某个端口是否开放
firewall-cmd --query-port=80/tcp
# 开放防火墙端口80
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 开放一段端口:
firewall-cmd --zone=public --add-port=8121-8124/tcp --permanent
# 关闭80端口:
firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 配置立即生效:
firewall-cmd --reload
# 查看开放的端口列表
firewall-cmd --zone=public --list-ports
# 查看防火墙状态:
systemctl status firewalld
# 关闭防火墙:
systemctl stop firewalld
# 开启防火墙:
systemctl start firewalld
2.2 压缩和解压缩
# 压缩
tar -jcv -f CentOS7.tar.gz /CentOS7
2.3 查看系统版本
# 查看版本
[root@localrepo CentOS7]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
2.4 服务启动错误查看
# 配置某服务后启动报错,可通过此命令查看原因
journalctl -u etcd
1月 14 14:06:10 k8s-master01 systemd[1]: etcd.service: Failed to load environment files: No such file or directory
1月 14 14:06:10 k8s-master01 systemd[1]: etcd.service: Failed to run 'start' task: No such file or directory
1月 14 14:06:10 k8s-master01 systemd[1]: etcd.service: Failed with result 'resources'.
1月 14 14:06:10 k8s-master01 systemd[1]: Failed to start Etcd Server.
1月 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Service RestartSec=100ms expired, scheduling restart.
1月 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Scheduled restart job, restart counter is at 1.
1月 14 14:06:11 k8s-master01 systemd[1]: Stopped Etcd Server.
1月 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Failed to load environment files: No such file or directory
1月 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Failed to run 'start' task: No such file or directory
1月 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Failed with result 'resources'.
1月 14 14:06:11 k8s-master01 systemd[1]: Failed to start Etcd Server.
1月 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Service RestartSec=100ms expired, scheduling restart.
1月 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Scheduled restart job, restart counter is at 2.
1月 14 14:06:11 k8s-master01 systemd[1]: Stopped Etcd Server.
1月 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Failed to load environment files: No such file or directory
1月 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Failed to run 'start' task: No such file or directory
2.5 添加启动脚本
在启动 Linux 系统后,我们如果想要某些程序自动运行,可以添加启动脚本。
1、修改 /etc/rc.d/rc.local 权限。
chmod +x /etc/rc.d/rc.local
2、添加启动脚本内容。
# 执行redis脚本
/root/.sh/docker_redis.sh
3、在指定目录添加自启动脚本 docker_redis.sh
#!/bin/bash
# 启动redis容器
docker start redis;
2.6 杀死某个端口占用的进程
1、安装 net-tools 和 lsof。
yum install net-tools lsof
2、查找占用端口的进程 pid,使用 kill -9 pid 号杀死进程。
netstat -tanlp | grep 8080
sudo lsof -i:8080
3. 常用操作
3.1 离线下载依赖
3.1.1 方式一
yum install yum-utils
yum -y install --downloadonly --downloaddir=/opt/rpm openssh
3.1.2 方式二
1、也可以修改 /etc/yum.conf 文件,设置安装包及依赖包所在位置。
cachedir=/opt/rpm
keepcache=1
2、将依赖上传到服务器,离线安装。
yum localinstall *.rpm -y
3、查看依赖是否安装。
rpm -q \ postgresql13-contrib \ postgresql13-server