Linux项目部署详细步骤
安装部署
一、环境准备
说明:如果已经安装过相关工具就忽略
1安装JAVA 运行环境
第一步:上传或下载安装包
cd /usr/local |
jdk-8u152-linux-x64.tar.gz
第二步:解压安装包
tar -zxvf jdk-8u152-linux-x64.tar.gz |
第三步:建立软连接
ln -s /usr/local/jdk1.8.0_152/ /usr/local/jdk |
第四步:修改环境变量
vim /etc/profile |
通过命令source /etc/profile让profile文件立即生效 |
第五步、测试是否安装成功
使用java -version,出现版本为java version “1.8.0_152”
2安装maven
第一步:上传或下载安装包
cd /usr/local |
apache-maven-3.6.1-bin.tar.gz
第二步:解压安装包
tar -zxvf apache-maven-3.6.1-bin.tar.gz |
第三步:建立软连接
ln -s /usr/local/apache-maven-3.6.1/ /usr/local/maven |
第四步:修改环境变量
vim /etc/profile |
通过命令source /etc/profile让profile文件立即生效 |
第五步、测试是否安装成功
mvn –v |
3安装docker
环境安装:
yum -y install gcc-c++ |
第一步:安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2 |
第二步:添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo |
第三步:更新并安装Docker-CE
yum makecache fast |
第四步:开启Docker服务
systemctl start docker |
第五步:测试是否安装成功
docker -v |
第六步:配置镜像加速器
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker |
4安装mysql
已安装或能访问忽略
第一步:拉取镜像
docker pull mysql:5.7 |
第二步:启动
docker run --name mysql --restart=always -v /home/ljaer/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 |
第三步:测试mysql
进入容器:
docker exec -it mysql /bin/bash |
登录mysql:
mysql -u root -p |
如果顺利进入,安装成功
5安装rabbitmq
第一步:拉取镜像
docker pull rabbitmq:management |
第二步:启动
docker run -d -p 5672:5672 -p 15672:15672 --restart=always --name rabbitmq rabbitmq:management |
第三步:安装延迟队列插件
首先下载rabbitmq_delayed_message_exchange-3.9.0.ez文件上传到RabbitMQ所在服务器,下载地址:https://www.rabbitmq.com/community-plugins.html
切换到插件所在目录,执行
docker cp rabbitmq_delayed_message_exchange-3.9.0.ez rabbitmq:/plugins
命令,将刚插件拷贝到容器内plugins目录下
执行
docker exec -it rabbitmq /bin/bash
命令进入到容器内部,并 cd plugins 进入plugins目录
执行
ls -l|grep delay
命令查看插件是否copy成功
在容器内plugins目录下,执行
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
命令启用插件
exit命令退出RabbitMQ容器内部,然后执行
docker restart rabbitmq
命令重启RabbitMQ容器
6安装redis
已安装或能访问忽略
第一步:拉取镜像
docker pull redis:latest |
第二步:启动
docker run -d -p 6379:6379 --restart=always redis:latest redis-server |
7安装nacos
已安装或能访问忽略
第一步:拉取镜像
docker pull nacos/nacos-server:1.4.1 |
第二步:启动
docker run --env MODE=standalone --name nacos --restart=always -d -p 8848:8848 -e JVM_XMS=512m -e JVM_XMX=512m nacos/nacos-server:1.4.1 |
8安装sentinel
已安装或能访问忽略
第一步:拉取镜像
docker pull bladex/sentinel-dashboard |
第二步:启动
docker run --name sentinel-dashboard --restart=always -p 8858:8858 -d bladex/sentinel-dashboard:latest |
9安装elasticsearch
已安装或能访问忽略
第一步:拉取镜像
docker pull elasticsearch:7.8.0 |
第二步:启动
需要建立:两个文件夹
mkdir -p /mydata/elasticsearch/plugins |
授予权限
chmod 777 /mydata/elasticsearch/data |
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch --restart=always \-e "discovery.type=single-node" \-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \-d elasticsearch:7.8.0 |
第三步:安装中文分词器
下载elasticsearch-analysis-ik-7.8.0.zip
上传解压:unzip elasticsearch-analysis-ik-7.8.0.zip -d ik-analyzer
上传到es容器:docker cp ./ik-analyzer a24eb9941759:/usr/share/elasticsearch/plugins
重启es:docker restart a24eb9941759
a24eb9941759:表示容器ID 运行时,需要改成自己的容器ID
10 安装kibana
第一步:拉取镜像
docker pull kibana:7.8.0 |
第二步:启动
docker run --name kibana --restart=always -e ELASTICSEARCH_URL=http://192.168.112.165:9200 -p 5601:5601 -d kibana:7.8.0 |
进入容器修改:
docker exec -it 1e12f8dd3efd /bin/bash |
cd config |
测试:安装分词词库是否可以使用!
GET /.kibana/_analyze |
11安装zipkin
第一步:拉取镜像
docker pull openzipkin/zipkin |
第二步:启动
docker run --name zipkin --restart=always -d -p 9411:9411 openzipkin/zipkin |
12安装minio
已安装或能访问忽略
第一步:拉取镜像
docker pull minio/minio |
第二步:启动
docker run \ -p 9000:9000 \ -p 9001:9001 \ --name minio \ -d --restart=always \ -e "MINIO_ROOT_USER=admin" \ -e "MINIO_ROOT_PASSWORD=admin123456" \ -v /home/data:/data \ -v /home/config:/root/.minio \ minio/minio server /data --console-address ":9001" |
浏览器访问:http://IP:9000/minio/login,
13 安装logstash
第一步:拉取镜像
docker pull logstash:7.8.0 |
第二步:启动
docker run --name logstash -p 5044:5044 --restart=always --link elasticsearch:es -v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf -d logstash:7.8.0 |
--net root_default \ |
# 需要提前在linux服务器上环境 /mydata/logstash/logstash.conf logstash.conf input { tcp { mode => “server” host => “0.0.0.0” port => 5044 codec => json_lines } } filter{ } output { elasticsearch { hosts => “192.168.112.165:9200” index => “gmall-%{+YYYY.MM.dd}” } } |
---|
注意:
停止所有的容器
docker stop $(docker ps -aq) |
删除所有的容器
docker rm $(docker ps -aq) |
#删除所有的镜像
docker rmi $(docker images -q) |
问题:
Docker容器做端口映射报错
docker: Error response from daemon: driver failed programming external connectivity on endpoint lamp3 (46b7917c940f7358948e55ec2df69a4dec2c6c7071b002bd374e8dbf0d40022c): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 86 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name. |
解决方法
docker服务启动时定义的自定义链DOCKER被清除
重启即可
systemctl restart docker |