server-install/操作日志.md

556 lines
16 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 操作日志
## 初始化
### yum update
**安装时出现错误**
```sh
yum -y update
CentOS Linux 8 - AppStream 90 B/s | 38 B 00:00
错误:为仓库 'appstream' 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist
```
**解决**
```sh
cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum clean all
yum makecache
yum update
```
### 安装docker
#### 错误1
执行命令
```sh
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
```
错误:
```sh
[root@zkwNBPlus yum.repos.d]# yum install -y docker-ce
Repository extras is listed more than once in the configuration
CentOS-8.5.2111 - Base - mirrors.aliyun.com 5.4 MB/s | 4.6 MB 00:00
CentOS-8.5.2111 - Extras - mirrors.aliyun.com 61 kB/s | 10 kB 00:00
CentOS-8.5.2111 - AppStream - mirrors.aliyun.com 6.5 MB/s | 8.4 MB 00:01
CentOS Linux 8 - AppStream 2.7 MB/s | 8.4 MB 00:03
CentOS Linux 8 - BaseOS 1.7 MB/s | 4.6 MB 00:02
未找到匹配的参数: docker-ce
错误:没有任何匹配: docker-ce
```
解决;
```sh
yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
```
#### 错误2
执行命令;
```sh
yum -y install docker-ce.x86_64
```
错误:
```sh
[root@zkwNBPlus yum.repos.d]# yum -y install docker-ce.x86_64
Repository extras is listed more than once in the configuration
上次元数据过期检查0:00:18 前,执行于 2024年01月02日 星期二 23时25分12秒。
错误:
问题: 安装的软件包的问题 buildah-1.22.3-2.module_el8.5.0+911+f19012f9.x86_64
- 软件包 buildah-1.22.3-2.module_el8.5.0+911+f19012f9.x86_64 需要 runc >= 1.0.0-26但没有提供者可以被安装
- 软件包 containerd.io-1.6.4-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.4-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 docker-ce-3:24.0.7-1.el8.x86_64 需要 containerd.io >= 1.6.4,但没有提供者可以被安装
- 软件包 containerd.io-1.6.6-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.6-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.10-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.10-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.11-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.11-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.12-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.12-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.13-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.13-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.14-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.14-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.15-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.15-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.16-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.16-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.18-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.18-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.19-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.19-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.20-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.20-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.21-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.21-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.22-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.22-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.24-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.24-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.25-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.25-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.26-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.26-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.7-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.7-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.8-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.8-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 软件包 containerd.io-1.6.9-3.1.el8.x86_64 与 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.9-3.1.el8.x86_64 取代了 runc由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)
- 无法为该任务安装最佳候选
- 软件包 runc-1.0.0-56.rc5.dev.git2abd837.module_el8.3.0+569+1bada2e4.x86_64 被模块过滤过滤掉
- 软件包 runc-1.0.0-66.rc10.module_el8.5.0+1004+c00a74f5.x86_64 被模块过滤过滤掉
- 软件包 runc-1.0.0-72.rc92.module_el8.5.0+1006+8d0e68a2.x86_64 被模块过滤过滤掉
(尝试在命令行中添加 '--allowerasing' 来替换冲突的软件包 或 '--skip-broken' 来跳过无法安装的软件包 或 '--nobest' 来不只使用软件包的最佳候选)
```
解决:
```sh'
yum -y install docker-ce.x86_64 --allowerasing
```
### docker初始化
```sh
systemctl start docker
systemctl enable docker
systemctl status docker
```
#### docker镜像
```sh
mkdir -p /etc/docker #创建配置文件目录。
tee /etc/docker/daemon.json <<-'EOF' #写入加速配置。
{
"registry-mirrors": ["https://gwsg6nw9.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload #重新加载配置文件。
systemctl restart docker #重启Docker服务。
```
## 安装MySQL
设置开机启动
执行:
```sh
docker pull mysql:8.0.33
docker run --name mysql -p 3306:3306 -v mysql_data:/var/lib/mysql -v mysql_config:/etc/mysql --restart=always --privileged=true -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.33
```
进入容器:
```sh
docker exec -it mysql /bin/bash
mysql -uroot -p123456
use mysql
ALTER USER 'root'@'%' IDENTIFIED BY "123456";
FLUSH PRIVILEGES;
```
## 安装docker其它依赖
```sh
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable docker --now
docker ps
```
## 安装Redis
### 执行命令
```sh
docker pull redis:7.0.10
mkdir -p /var/lib/docker/volumes/redis-config/_data
```
### 编写配置文件
```sh
vim redis.conf
```
添加以下内容
```
# bind 127.0.0.1 #注释掉这部分使redis可以外部访问
daemonize no #用守护线程的方式启动
requirepass 123456
appendonly yes #redis持久化  默认是no
tcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300
```
将文件移出
```sh
mkdir /data/redis/ -p
mv redis.conf /data/redis/redis.conf
```
启动docker
```sh
docker run -p 6379:6379 --name redis \
-v /data/redis/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
--restart=always \
-d redis:7.0.10 redis-server /etc/redis/redis.conf --appendonly yes
```
> 添加端口
>
> ```sh
> firewall-cmd --zone=public --add-port=3306/tcp --permanent
> firewall-cmd --zone=public --add-port=6379/tcp --permanent
> firewall-cmd --zone=public --add-port=9200/tcp --permanent
> firewall-cmd --zone=public --add-port=80/tcp --permanent
> firewall-cmd --zone=public --add-port=3000/tcp --permanent
> firewall-cmd --zone=public --add-port=5000/tcp --permanent
> firewall-cmd --zone=public --add-port=6000/tcp --permanent
> firewall-cmd --zone=public --add-port=8080/tcp --permanent
> firewall-cmd --zone=public --add-port=9300/tcp --permanent
> firewall-cmd --zone=public --add-port=15672/tcp --permanent
> firewall-cmd --zone=public --add-port=5672/tcp --permanent
> firewall-cmd --zone=public --add-port=5672/tcp --permanent
> firewall-cmd --zone=public --add-port=15672/tcp --permanent
> ```
## 安装rabbitmq
### 安装
```sh
docker pull rabbitmq
docker run -d --name myrabbitmq -p 5672:5672 -p 15672:15672 --restart=always rabbitmq
```
### 进入容器
```sh
docker exec -it myrabbitmq bash
rabbitmq-plugins enable rabbitmq_management
```
### 无法登录
```sh
#进入容器
docker exec -it 你的容器名或者id /bin/bash
# 添加用户
rabbitmqctl add_user 用户名 密码
# 如果存在可以先删除
rabbitmqctl delete_user 用户名
#设置用户操作权限
rabbitmqctl set_user_tags 用户名 administrator
```
#### 添加
```sh
#进入容器
docker exec -it 你的容器名或者id /bin/bash
# 添加用户
rabbitmqctl add_user admin 123456
#设置用户操作权限
rabbitmqctl set_user_tags admin administrator
```
## 配置ChatGPT
### 环境搭建
```
# 初始化安装环境
yum install -y yum-utils device-mapper-persistent-data lvm2
#建立Docker仓库 (映射仓库地址)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
docker pull yidadaa/chatgpt-next-web
docker run -d -p 4000:3000 --name chatgpt-next-web \
-e OPENAI_API_KEY="sk-Oe0WUg94fsex5aPVwnfkvl5Rh0Rl6jbrpSj8nNRTkN4tVwIA" \
-e BASE_URL=https://api.chatanywhere.com.cn yidadaa/chatgpt-next-web
```
设置开机启动
```sh
docker update --restart=always 797dd44f5ce0
```
## docker-compose
```sh
sudo yum install docker-ce docker-ce-cli containerd.io
sudo yum install curl
udo curl -L https://download.fastgit.org/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
```
## 安装Gitea
docker配置文件
```yml
version: "3"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:1.21.3
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=db:3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "4000:3000"
- "222:22"
depends_on:
- db
```
执行命令
```sh
docker stop gitea
docker rm gitea
docker stop a6861d426b53
docker rm a6861d426b53
docker-compose up -d
docker logs gitea
```
进入容器
```sh
docker exec -it c2847a585beb bash
mysql --uroot -pgitea
USE gitea;
ALTER USER 'gitea'@'%' IDENTIFIED BY "gitea";
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'%';
FLUSH PRIVILEGES;
```
开启防火墙
```sh
firewall-cmd --zone=public --add-port=4000/tcp --permanent
```
## 安装git
**要确保git的版本大于`2.0.0`否则后面无法完成安装!!!**
这里使用的`wget`的方式下载,之后解压后安装
https://mirrors.edge.kernel.org/pub/software/scm/git/
安装编译环境
```sh
yum install curl-devel expat-devel gettext-devel \
openssl-devel zlib-devel
```
执行命令
```sh
make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install
```
开机启动
```sh
docker update --restart=always 76bad48de9c7
docker update --restart=always adea530fd5cd
```
## 安装Jenkins
```sh
docker run \
-u root \
--rm \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
```
开机启动
```sh
docker update --restart=always 59110cdb55fc
```
进入容器查看密码
```sh
docker exec -it 59110cdb55fc bash
```
>密码0948e2a5734f416eaee5febba4dd422d
>
>访问地址http://192.168.3.98:8080/
![image-20240103160856587](./images/image-20240103160856587.png)
## 安装elasticsearch
### 创建网络
```sh
docker network create es-net
```
### 加载镜像
```sh
# 导入数据
docker load -i es.tar
```
### 部署
```sh
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
--restart=always elasticsearch:7.12.1
```
> 验证http://192.168.3.98:9200/
## 部署kibana
```sh
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601 \
kibana:7.12.1
```
> 验证http://192.168.3.98:5601/app/home#/
![image-20240103161454997](./images/image-20240103161454997.png)
### 重启es
```sh
docker restart es
```
### 设置屏蔽词和扩展词
```sh
docker restart es
```
配置文件
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">extra.dic</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">stopword.dic</entry>
<!--用户可以在这里配置远程扩展字典 -->
<!-- <entry key="remote_ext_dict">words_location</entry> -->
<!--用户可以在这里配置远程扩展停止词字典-->
<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
```
![image-20240103161746183](./images/image-20240103161746183.png)
## 安装Nacos
### 拉取镜像
```sh
docker pull nacos/nacos-server
```
### 安装
```sh
docker run --name nacos -e MODE=standalone -p 8848:8848 -p 9848:9848 -d nacos/nacos-server
docker update --restart=always 1552caf0fde8
```