一.Linux操作系统的安装与配置

软件:VMware 、Linux镜像文件
VMWare虚拟机安装Linux教程 | The Blog (qingling.icu)

二.配置Java环境

2.1.删除自带的JDK

1
2
3
4
5
6
#查看系统是否有java环境
java -version
# 查找Linux中已有的java环境的相关文件
rpm -qa |grep java
# 执行命令 删除上面的java文件
rpm -e --nodeps +上面查找出来的文件

2.2.安装JDK

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#创建一个文件夹,将JDK8上传到这个文件夹中去
mkdir /opt/jdk
# 解压上传的压缩包 解压后得到一个名为jdk1.8.0_261的文件夹
tar -zvxf jdk-8u261-linux-x64.tar.gz
# 创建一个目录,作为java的安装目录
mkdir /usr/local/java
#将解压后的文件移动到这个安装目录中去
mv jdk1.8.0_261/ /usr/local/java/
#配置环境变量
#进入环境变量的配置文件中
vim /etc/profile
#在文件的最后添加如下的配置
export JAVA_HOME=/usr/local/java/jdk1.8.0_261
export PATH=$JAVA_HOME/bin:$PATH
#刷新配置文件,让新的环境变量生效
source /etc/profile

三.使用Docker安装常用软件

Docker容器化技术 | The Blog (qingling.icu)

3.1 Docker的安装

3.1.1 安装Docker

1
2
3
4
5
6
7
8
9
10
# 1、yum 包更新到最新 
yum update
# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4、 安装docker,出现输入的界面都按 y
yum install -y docker-ce
# 5、 查看docker版本,验证是否验证成功
docker -v

3.1.2 配置镜像加速服务

1
2
3
4
5
6
7
8
9
10
11
12
# 1.创建相关的目录
sudo mkdir -p /etc/docker
# 2,加入配置
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://cagfgua5.mirror.aliyuncs.com"]
}
EOF
# 3.重新加载,让配置文件生效
sudo systemctl daemon-reload
# 4.重新启动Docker服务
sudo systemctl restart docker

3.1.3 启动Docker服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 启动docker服务:
systemctl start docker

# 停止docker服务:
systemctl stop docker

#重启docker服务:
systemctl restart docker

# 查看docker服务状态:
systemctl status docker

# 设置开机启动docker服务:
systemctl enable docker

3.2 使用Docker安装Mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#下载mysql的镜像文件 这里以下载mysql5.7为例
docker pull mysql:5.7

#查看是否下载成功
docker images

#使用MySQL的镜像启动一个容器
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
#参数说明
# -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
#-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
#-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
#-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
#-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码

#查看是否运行成功 这时使用Navicat就可以连接上了 连接不上 关闭防火墙
docker ps #查看正在运行的容器

#进入容器的内部
docker exec -it mysql /bin/bash

#查看容器内部的目录结构 我们可以看到容器的内部是一个小小的linux系统
ls / #注意中间有一个空格

#查看与mysql相关的目录
whereis mysql

#退出容器
exit;

#在容器外部查看mysql挂载在本地的三个文件
#容器内部文件的变化会同步在这三个文件中 conf data log
#外部修改 也会同步到内部
cd /mydata/mysql
ls

#创建一个mysql的配置文件设置字符编码 将下面的内容粘贴到配置文件中
#1.创建配置文件
vi /mydata/mysql/conf/my.cnf
#2.将以下的内容粘贴到配置文件配置文件内容
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
#3.重启MySQl的服务 让配置文件生效 这个配置文件也会同步到容器内部
docker restart mysql

#设置开机自启动
docker update mysql --restart=always

3.3 使用Docker安装Redis

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#下载redis的镜像文件 直接下载最新的
docker pull redis

#创建redis挂载在宿主机的配置文件和目录
mkdir -p /mydata/redis/conf #创建目录
touch /mydata/redis/conf/redis.conf #创建配置文件

#创建并启动容器 这是以配置文件的方式启动 \前面有一个空格
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

#检查容器的运行情况
docker ps

#测试客户端的使用
docker exec -it redis redis-cli

#可以在redis客户端中使用如下命令
127.0.0.1:6379> set name tom #存值
OK
127.0.0.1:6379> get name #取值
"tom"

#redis中的数据不能持久化 关机重启之后数据会丢失
#通过以下的配置 实现redis的持久化操作 AOF的持久化
vi /mydata/redis/conf/redis.conf #修改之前创建的配置文件
#添加如下配置
appendonly yes

#重启redis 让配置生效
docker restart redis

#设置开机自启动
docker update redis --restart=always

3.4 使用Docker安装ElasticSearch

3.4.1 安装ElasticSearch

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 拉取ElasticSearch
docker pull elasticsearch:7.4.2

#ES的配置文件存放的位置
mkdir -p /mydata/elasticsearch/config

#ES相关的数据
mkdir -p /mydata/elasticsearch/data

#"http.host: 0.0.0.0"(可以被任何的机器访问)的配置写入elasticsearch.yml中(注意冒号后面的空格)
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

#设置文件的权限
# 递归更改权限,es需要访问
chmod -R 777 /mydata/elasticsearch/

#运行容器的命令 9200端口用于发送请求使用 9300端口用于集群中节点中的通信使用
#单节点运行
#初始占用64m,最大占用5m(不指定,ES会占用所有的内存)
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2

# 设置开机启动elasticsearch
docker update elasticsearch --restart=always

#访问端口 测试是否安装成功
http://虚拟机的ip:9200/

安装成功之后:

image-20230628191936254

3.4.2 安装Kibana(可视化界面)

1
2
3
4
5
6
7
8
#拉取Kibana
docker pull kibana:7.4.2
# 这里-e是自己的elasticsearch服务地址(这里的地址一定要改为自己虚拟机的地址)
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.195.100:9200 -p 5601:5601 -d kibana:7.4.2
# 设置开机启动kibana
docker update kibana --restart=always
#访问对应的网址查看服务
http://虚拟机的ip:5601

安装成功之后

image-20230701104616032

3.4.3 安装IK分词器

安装地址: https://github.com/medcl/elasticsearch-analysis-ik

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#切换到es挂载在注解的plugins目录
cd /mydata/elasticsearch/plugins/
#安装wget
yum install wget
#下载ik分词器的压缩包(下载的速度不是很快(5分钟左右),建议本地下载好了之后,上传上去)
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip
#进入容器内部查看一下文件是否同步到了容器的内部
docker exec -it 容器Id /bin/bash
#切换到plugins目录中去,这时目录中也存在elasticsearch-analysis-ik-7.4.2.zip这个压缩包
cd plugins/ #使用ls查看一下
#退出容器
exit
#在主机下解压elasticsearch-analysis-ik-7.4.2.zip这个压缩包
#zip的解压需要使用unzip解压命令 这里我们可以直接在本地解压一下 上传到plugins目录(解压的文件名为ik)
#安装unzip
yum install -y unzip
#查看ik分词器是否安装成功
docker exec -it 容器Id /bin/bash
#切换到bin目录
cd bin/
#执行下面的命令,有ik显示即为安装成功
elasticsearch-plugin list
#退出容器,重启一下
docker restart elasticsearch

3.5 使用Docker安装nginx

方法一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#创建nginx容器挂载的目录
mkdir /mydata/nginx/conf
#拉取nginx的镜像
docker pull nginx:1.10
#随便启动一个nginx实例,为了复制其配置
docker run -p 80:80 --name nginx -d nginx:1.10
#将容器内的配置文件拷贝到conf目录(注意这里有个点和空格)
#注意在nginx的目录下操作,(成功之后/mydata/nginx/conf目录下会有相应的配置文件和目录)
docker container cp nginx:/etc/nginx /mydata/nginx/conf
#停掉并删除之前的启动的nginx
docker stop nginx
docker rm nginx
#正式的启动容器
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10
# 设置开机启动nginx
docker update nginx --restart=always

方法二

先在宿主机的/opt/nginx/conf/目录下创建nginx.conf配置文件并加入相关的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
user root;
worker_processes 1;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;



server {
listen 80;
server_name localhost;
charset utf-8;

# set site favicon
# 这里的路径时容器的路径,不是宿主机的路径
location /favicon.ico {
root /usr/share/nginx/html/dist;
}

location / {
# 这里的路径时容器的路径,不是宿主机的路径
root /usr/share/nginx/html/dist;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}

location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://8.137.109.244:8080/;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
# 这里的路径时容器的路径,不是宿主机的路径
root /usr/share/nginx/html/dist;
}
}
}

创建容器

1
2
3
4
5
6
docker run -id --name=nginx \
-p 80:80 \
-v /opt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /opt/nginx/logs:/var/log/nginx \
-v /opt/nginx/html:/usr/share/nginx/html \
nginx

3.6 使用Docker安装RabbitMQ

1
2
3
4
5
6
7
8
9
10
11
12
13
#直接执行运行rabbitMQ容器的命令,没有镜像会自动下载
docker run -d --name rabbitmq \
-p 5671:5671 \
-p 5672:5672 \
-p 4369:4369 \
-p 25672:25672 \
-p 15671:15671 \
-p 15672:15672 \
rabbitmq:management
# 设置开机启动rabbitmq
docker update rabbitmq --restart=always
#测试访问
虚拟机的ip:15672

账号:guest

密码:guest

image-20230717123217404

3.7 使用docker安装nacos

1
2
3
4
5
#拉取镜像
docker pull nacos/nacos-server:1.2.0
#创建容器并运行
#MODE=standalone 单机版
docker run --env MODE=standalone --name nacos --restart=always -d -p 8848:8848 nacos/nacos-server:1.2.0

测试访问:http://虚拟机ip:8848/nacos

image-20230811105925843