1. 系统安装与配置

1.1 安装Centos8

这里配置以 Centos8 命令为主。【编辑虚拟机设置】移除【USB】【声卡】【打印机】,再开启虚拟机,成功。
使用 Centos8 之前还需要终端快捷键,详细命令:/usr/bin/gnome-terminal
image.png

1.2 更换yum源

1、确保 centos7 没有设置固定 DNS。
2、安装 wget:yum install -y wget。
3、备份,将 CentOS-Base.repo 为CentOS-Base.repo.backup

  1. 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

  1. wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  2. sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

5、清除缓存

  1. yum clean all # 清除系统所有的yum缓存
  2. yum makecache # 生成yum缓存

1.3 常用软件配置

1.3.1 配置固定IP

1、使用 root 用户,进入到 /etc/sysconig/network-scripts/ 下修改 ifcfg-ens33 文件。

  1. PROXY_METHOD=none
  2. BROWSER_ONLY=no
  3. BOOTPROTO=static
  4. DEFROUTE=yes
  5. IPV4_FAILURE_FATAL=no
  6. IPV6INIT=yes
  7. IPV6_AUTOCONF=yes
  8. IPV6_DEFROUTE=yes
  9. IPV6_FAILURE_FATAL=no
  10. NAME=ens32
  11. UUID=a1585ee1-632e-4e4c-a54c-9bb57c7fe4f6
  12. DEVICE=ens32
  13. ONBOOT=yes
  14. IPADDR=192.168.58.100
  15. NETMASK=255.255.255.0
  16. GATEWAY=192.168.58.2
  17. DNS1=192.168.58.2

2、完成之后重启网络服务。

  1. # 重启网卡
  2. nmcli c reload
  3. # 启用ens32网卡,我这里是 ens32 网卡,大部分人应该都是ens33网卡。
  4. [root@localhost network-scripts]# nmcli c up ens32
  5. 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4
  6. # 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,在文件末尾添加如下内容:

  1. export JAVA_HOME=/opt/jdk8
  2. export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  3. 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. # 1、拉取镜像
  2. docker pull nacos/nacos-server
  3. # 2、挂载目录
  4. mkdir -p /opt/nacos/logs/ #新建logs目录
  5. mkdir -p /opt/nacos/init.d/
  6. vim /opt/nacos/init.d/custom.properties #修改配置文件
  7. server.contextPath=/nacos
  8. server.servlet.contextPath=/nacos
  9. server.port=8848
  10. spring.datasource.platform=mysql
  11. db.num=1
  12. db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
  13. db.user=user
  14. db.password=pass
  15. nacos.cmdb.dumpTaskInterval=3600
  16. nacos.cmdb.eventTaskInterval=10
  17. nacos.cmdb.labelTaskInterval=300
  18. nacos.cmdb.loadDataAtStart=false
  19. management.metrics.export.elastic.enabled=false
  20. management.metrics.export.influx.enabled=false
  21. server.tomcat.accesslog.enabled=true
  22. server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
  23. 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/**
  24. nacos.naming.distro.taskDispatchThreadCount=1
  25. nacos.naming.distro.taskDispatchPeriod=200
  26. nacos.naming.distro.batchSyncKeyCount=1000
  27. nacos.naming.distro.initDataRatio=0.9
  28. nacos.naming.distro.syncRetryDelay=5000
  29. nacos.naming.data.warmup=true
  30. nacos.naming.expireInstance=true
  31. # 3、启动容器
  32. docker run \
  33. --name nacos -d \
  34. -p 8848:8848 \
  35. --privileged=true \
  36. --restart=always \
  37. -e JVM_XMS=256m \
  38. -e JVM_XMX=256m \
  39. -e MODE=standalone \
  40. -e PREFER_HOST_MODE=hostname \
  41. -v /home/nacos/logs:/home/nacos/logs \
  42. -v /home/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
  43. nacos/nacos-server
  44. docker run -d \
  45. -e MODE=standalone \
  46. -e SPRING_DATASOURCE_PLATFORM=mysql \
  47. -e MYSQL_SERVICE_HOST=127.0.0.1\
  48. -e MYSQL_SERVICE_PORT=3306 \
  49. -e MYSQL_SERVICE_USER=root \
  50. -e MYSQL_SERVICE_PASSWORD=123456 \
  51. -e MYSQL_SERVICE_DB_NAME=nacos \
  52. -p 8848:8848 \
  53. --restart=always \
  54. --name nacos \
  55. nacos/nacos-server

通过docker-compose部署,包含prometheus/grafana等监控组件

  1. git clone --depth 1 https://github.com/nacos-group/nacos-docker.git
  2. cd nacos-docker
  3. 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 中,这里需要强制保存。
cb1e2b46-ad4b-4bb6-a479-88df2823a7e1.png

2. 常用命令

2.1 防火墙相关

  1. # 查看防火墙某个端口是否开放
  2. firewall-cmd --query-port=80/tcp
  3. # 开放防火墙端口80
  4. firewall-cmd --zone=public --add-port=80/tcp --permanent
  5. # 开放一段端口:
  6. firewall-cmd --zone=public --add-port=8121-8124/tcp --permanent
  7. # 关闭80端口:
  8. firewall-cmd --zone=public --remove-port=80/tcp --permanent
  9. # 配置立即生效:
  10. firewall-cmd --reload
  11. # 查看开放的端口列表
  12. firewall-cmd --zone=public --list-ports
  13. # 查看防火墙状态:
  14. systemctl status firewalld
  15. # 关闭防火墙:
  16. systemctl stop firewalld
  17. # 开启防火墙:
  18. systemctl start firewalld

2.2 压缩和解压缩

  1. # 压缩
  2. tar -jcv -f CentOS7.tar.gz /CentOS7

2.3 查看系统版本

  1. # 查看版本
  2. [root@localrepo CentOS7]# cat /etc/redhat-release
  3. CentOS Linux release 7.8.2003 (Core)

2.4 服务启动错误查看

  1. # 配置某服务后启动报错,可通过此命令查看原因
  2. journalctl -u etcd
  3. 1 14 14:06:10 k8s-master01 systemd[1]: etcd.service: Failed to load environment files: No such file or directory
  4. 1 14 14:06:10 k8s-master01 systemd[1]: etcd.service: Failed to run 'start' task: No such file or directory
  5. 1 14 14:06:10 k8s-master01 systemd[1]: etcd.service: Failed with result 'resources'.
  6. 1 14 14:06:10 k8s-master01 systemd[1]: Failed to start Etcd Server.
  7. 1 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Service RestartSec=100ms expired, scheduling restart.
  8. 1 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Scheduled restart job, restart counter is at 1.
  9. 1 14 14:06:11 k8s-master01 systemd[1]: Stopped Etcd Server.
  10. 1 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Failed to load environment files: No such file or directory
  11. 1 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Failed to run 'start' task: No such file or directory
  12. 1 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Failed with result 'resources'.
  13. 1 14 14:06:11 k8s-master01 systemd[1]: Failed to start Etcd Server.
  14. 1 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Service RestartSec=100ms expired, scheduling restart.
  15. 1 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Scheduled restart job, restart counter is at 2.
  16. 1 14 14:06:11 k8s-master01 systemd[1]: Stopped Etcd Server.
  17. 1 14 14:06:11 k8s-master01 systemd[1]: etcd.service: Failed to load environment files: No such file or directory
  18. 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 权限。

  1. chmod +x /etc/rc.d/rc.local

2、添加启动脚本内容。

  1. # 执行redis脚本
  2. /root/.sh/docker_redis.sh

3、在指定目录添加自启动脚本 docker_redis.sh

  1. #!/bin/bash
  2. # 启动redis容器
  3. docker start redis;

2.6 杀死某个端口占用的进程

1、安装 net-tools 和 lsof。

  1. yum install net-tools lsof

2、查找占用端口的进程 pid,使用 kill -9 pid 号杀死进程。

  1. netstat -tanlp | grep 8080
  2. sudo lsof -i:8080

3. 常用操作

3.1 离线下载依赖

3.1.1 方式一

  1. yum install yum-utils
  2. yum -y install --downloadonly --downloaddir=/opt/rpm openssh

3.1.2 方式二

1、也可以修改 /etc/yum.conf 文件,设置安装包及依赖包所在位置。

  1. cachedir=/opt/rpm
  2. keepcache=1

2、将依赖上传到服务器,离线安装。

  1. yum localinstall *.rpm -y

3、查看依赖是否安装。

  1. rpm -q \ postgresql13-contrib \ postgresql13-server