服务器配置与软件安装合集
Docker配置与安装合集
提示:docker安装
文章目录
- Docker配置与安装合集
- 一.安装jdk1.8
- 二、安装docker
- 三、使用docker安装zookeeper
- 四、安装dubbo Admin
- 五、使用Docker安装MySQL
- 六、使用Docker搭建Redis集群
- 七、docker安装MongoDB
- 八、Chrome浏览器安装插件(Altair GraphQL Client、Vue.js devtools)
- 九、RocketMQ安装
- 十、Elasticsearch安装
- 十一、持续更新中.....
一.安装jdk1.8
- 创建目录:
mkdir /usr/local/src/java
- 上传jdk tar包
- 解压:
tar -xvf jdk-8u144-linux-x64.tar.gz
- 编辑配置文件:
vi /etc/profile
在末尾添加下方内容:
JAVA_HOME=/usr/local/src/java/jdk1.8.0_144
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出 :wq
source /etc/profile #使更改的配置立即生效
java -version
二、安装docker
1、安装需要的依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
2、配置稳定仓库 (如果有本地仓库先禁用)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
或者国内阿里源
使用阿里云Docker Yum源
sudo 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
sudo yum makecache fast
sudo yum -y install docker-ce
3、安装
yum install docker-ce
4、启动docker
systemctl start docker
5、验证docker是否安装正确
docker run hello-world
docker常用命令:
docker启动命令,docker重启命令,docker关闭命令:启动: systemctl start docker
守护进程重启: sudo systemctl daemon-reload
重启docker服务: systemctl restart docker
重启docker服务: sudo service docker restart
关闭docker: service docker stop
关闭docker: systemctl stop docker
三、使用docker安装zookeeper
1、拉取zk镜像
docker pull zookeeper:3.5
2.创建容器
docker create --name zk -p 2181:2181 zookeeper:3.5
3.启动容器
docker start zk
4、查看运行
docker ps
四、安装dubbo Admin
Dubbo提供了可视化的界面管理工具,方便我们对服务进行管理,它就是dubbo admin,代码地址:
https://github.com/apache/dubbo-admin
第一步,下载并且解压:
第二步,修改配置文件:
dubbo-admin-backend/src/main/resources/application.properties 中指定注册中心地址
第三步,使用maven进行构建项目:
如未安装maven请先安装maven
linux中安装maven步骤:
- 上传解压apache-maven-3.6.0-bin.tar.gz
- 配置环境变量:
export M2_HOME=/usr/local/apache-maven-3.6.0
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
- 私服阿里云
在maven settings.xml中添加
<mirror><id>nexus-aliyun</id><mirrorOf>*</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
- . source /etc/profile #使更改的配置立即生效
- mvn -version
使用maven进行构建项目,在incubator-dubbo-ops目录下构建命令:`
mvn clean package -Dmaven.test.skip=true`
第四步,通过mavn插件启动程序:
mvn --projects dubbo-admin-server spring-boot:run
或者:
cd dubbo-admin-distribution/target
java -jar dubbo-admin-0.4.0.jar
第五步,访问系统
打开浏览器,进行访问:http://192.168.117.141:8080/#/
账户与密码:root
五、使用Docker安装MySQL
1、什么是percona?
Percona 为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高
负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务
器行为。
Percona Server 只包含 MySQL 的服务器版,并没有提供相应对 MySQL 的 Connector 和 GUI 工具进行改进。
Percona Server 使用了一些 google-mysql-tools, Proven Scaling, Open Query 对 MySQL 进行改造。
官网:https://www.percona.com/software/mysql-database
2、安装部署
#镜像地址:https://hub.docker.com/_/percona/
#拉取镜像
docker pull percona:5.7.23
#创建容器
docker create --name percona -v /data/mysql-data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23
#参数解释:
–name: percona 指定是容器的名称
-v: /data/mysql-data:/var/lib/mysql 将主机目录/data/mysql-data挂载到容器 的/var/lib/mysql上
-p: 33306:3306 设置端口映射,主机端口是33306,容器内部端口3306
-e: MYSQL_ROOT_PASSWORD=root 设置容器参数,设置root用户的密码为root percona:5.7.23: 镜像名:版本
#给data文件添加权限
chmod -R 777 /data
#启动容器
docker start percona
常用命令:
docker exec -it percona /bin/bash #进入容器
mysql -u root -p #进行mysql
测试:
六、使用Docker搭建Redis集群
docker的网络类型有:
- None:不为容器配置任何网络功能,没有网络 --net=none
- Container:与另一个运行中的容器共享Network Namespace,–net=container:containerID
- Host:与主机共享Network Namespace,–net=host
- Bridge:Docker设计的NAT网络模型(默认类型)
重点关注下Host类型:
host模式创建的容器没有自己独立的网络命名空间,是和物理机共享一个Network Namespace,并且共享物理机的所有端口与IP。但是它将容器直接暴露在公共网络中,是有安全隐患的。
说明:使用默认NAT网络模型搭建集群中节点的ip地址是docker分配的地址,那么在客户端(spring-data-redis)是没有办法访问的,即:使用host网络进行搭建集群,亲测有效。
开始搭建:
#拉取镜像
docker pull redis:5.0.2
#创建容器
docker create --name redis-node01 --net host -v /data/redis-data/node01:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-01.conf --port 6379 docker create --name redis-node02 --net host -v /data/redis-data/node02:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-02.conf --port 6380 docker create --name redis-node03 --net host -v /data/redis-data/node03:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-03.conf --port 6381 #启动容器
docker start redis-node01 redis-node02 redis-node03
#进入redis-node01容器进行操作
docker exec -it redis-node01 /bin/bash #192.168.117.141是主机的ip地址
redis-cli --cluster create 192.168.117.141:6379 192.168.117.141:6380 192.168.117.141:6381 --cluster-replicas 0
搭建成功:
常用命令:
#查看容器的ip地址
docker inspect redis-node01 -> 172.17.0.2
docker inspect redis-node02 -> 172.17.0.3
docker inspect redis-node03 -> 172.17.0.4 #删除容器
docker stop redis-node01 redis-node02 redis-node03 docker
rm redis-node01 redis-node02 redis-node03
rm -rf /data/redis-data进入指定的redis集群 redis-cli -h 192.168.117.141 -p 6380
查看所有key值:keys *
删除指定索引的值:del key
清空整个 Redis 服务器的数据:flushall
清空当前库中的所有 key:flushdb
防火墙常用命令:
sudo firewall-cmd --list-all #查看已经开放的接口
sudo firewall-cmd --add-port=6379/tcp --permanent#新增端口
sudo firewall-cmd --reload#重启防火墙
firewall-cmd --state #查看防火墙状态
firewall-cmd --query-port=8080/tcp # 查询端口是否开放
systemctl unmask firewalld #执行命令,即可实现取消服务的锁定
systemctl mask firewalld # 下次需要锁定该服务时执行
systemctl start firewalld.service #启动防火墙
systemctl stop firewalld.service #停止防火墙
systemctl reloadt firewalld.service #重载配置
systemctl restart firewalld.service #重启服务
systemctl status firewalld.service #显示服务的状态
systemctl enable firewalld.service #在开机时启用服务
systemctl disable firewalld.service #在开机时禁用服务
systemctl is-enabled firewalld.service #查看服务是否开机启动
systemctl list-unit-files|grep enabled #查看已启动的服务列表
systemctl --failed #查看启动失败的服务列
七、docker安装MongoDB
#拉取镜像
docker pull mongo:4.0.3
#创建容器
docker create --name mongodb -p 27017:27017 -v /data/mongodb:/data/db mongo:4.0.3
#启动容器
docker start mongodb
#进入容器
docker exec -it mongodb /bin/bash
#使用MongoDB客户端进行操作
mongo > show dbs #查询所有的数据库
admin 0.000GB
config 0.000GB
local 0.000GB
基本操作:https://blog.csdn.net/weixin_44584110/article/details/122591036
八、Chrome浏览器安装插件(Altair GraphQL Client、Vue.js devtools)
可以使用网站“扩展迷”:https://www.extfans.com/,站内有如何下载,以及安装教程。
可以下载并安装Altair GraphQL Client、Vue.js devtools等实用工具。
除此之外推荐几个比较好用的插件:
- 1、AdBlock,网页中最让人无法忍受的自然是广告,因此AdBlock总是第一个出现在我的安装列表里面
- 2、tampermonkey,不知道诸位有没有产生过对网站进行定制的需求,如果有的话或许你可以了解一下油猴
- 3、Image Downloader,如果你有图片下载的需求,可以考虑下载Image Downloader,分分钟将图片打包搞定
- 4、listen1:网易云、qq、酷狗在音乐这一领域的版权上可谓三分天下,而listen1这个开源插件解决了这个问题,以后听歌不用一个一个播放器跳了
九、RocketMQ安装
1.非Docker安装
#上传压缩包
unzip rocketmq-all-4.3.2-bin-release.zip
cd rocketmq-all-4.3.2-bin-release #调整默认的内存大小参数
cd bin/
vim runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=128m - XX:MaxMetaspaceSize=128m" cd bin/
vim runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m"#启动nameserver
bin/mqnamesrv # The Name Server boot success. serializeType=JSON 看到这个表示已经提供成功
启动broker
bin/mqbroker -n 192.168.117.141:9876
下面进行发送消息测试:
export NAMESRV_ADDR=127.0.0.1:9876
cd bin
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
#测试结果
ConsumeMessageThread_7 Receive New Messages: [MessageExt [queueId=2, storeSize=180, queueOffset=1322, sysFlag=0, bornTimestamp=1544456244818, bornHost=/172.16.55.185:33702, storeTimestamp=1544456244819, storeHost=/172.17.0.1:10911, msgId=AC11000100002A9F00000000000E84CC, commitLogOffset=951500, bodyCRC=684865321, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message{topic='TopicTest', flag=0, properties={MIN_OFFSET=0, MAX_OFFSET=1325, CONSUME_START_TIME=1544456445397, UNIQ_KEY=AC110001473C7D4991AD336AEA5203DF, WAIT=true, TAGS=TagA}, body=[72, 101, 108, 108, 111, 32, 82, 111, 99, 107, 101, 116, 77, 81, 32, 57, 57, 49], transactionId='null'}]] ConsumeMessageThread_6 Receive New Messages: [MessageExt [queueId=2, storeSize=180, queueOffset=1323, sysFlag=0, bornTimestamp=1544456244833, bornHost=/172.16.55.185:33702, storeTimestamp=1544456244835, storeHost=/172.17.0.1:10911, msgId=AC11000100002A9F00000000000E879C, commitLogOffset=952220, bodyCRC=801108784, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message{topic='TopicTest', flag=0, properties={MIN_OFFSET=0, MAX_OFFSET=1325, CONSUME_START_TIME=1544456445397, UNIQ_KEY=AC110001473C7D4991AD336AEA6103E3, WAIT=true, TAGS=TagA}, body=[72, 101, 108, 108, 111, 32, 82, 111, 99, 107, 101, 116, 77, 81, 32, 57, 57, 53], transactionId='null'}]]
#从结果中,可以看出,接收消息正常
说明:默认情况broker的ip地址是172.17.0.1 ,那么在开发机上是不可能访问到的。所以,需要指定broker的ip地址
#创建broker配置文件
vim /docker/rmq/rmqbroker/conf/broker.conf
brokerIP1=192.168.117.141
namesrvAddr=192.168.117.141:9876
brokerName=broker_haoke_im
#启动broker,通过 -c 指定配置文件
bin/mqbroker -c /haoke/rmq/rmqbroker/conf/broker.conf
The broker[itcast, 192.168.117.141:10911] boot success.serializeType=JSON and name server is 192.168.117.141:9876
#这样就可以进行访问了。
2.通过docker安装
#拉取镜像
docker pull foxiswho/rocketmq:server-4.3.2
docker pull foxiswho/rocketmq:broker-4.3.2
#创建broker配置文件
vim /docker/rmq/rmqbroker/conf/broker.conf
brokerIP1=192.168.117.141
namesrvAddr=192.168.117.141:9876
brokerName=broker_haoke_im #创建nameserver容器
docker create -p 9876:9876 --name rmqserver
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m"
-e "JAVA_OPTS=-Duser.home=/opt"
-v /haoke/rmq/rmqserver/logs:/opt/logs
-v /haoke/rmq/rmqserver/store:/opt/store foxiswho/rocketmq:server-4.3.2
#创建broker容器
docker create -p 10911:10911 -p 10909:10909 --name rmqbroker
-e "JAVA_OPTS=-Duser.home=/opt"
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m"
-v /haoke/rmq/rmqbroker/conf/broker.conf:/etc/rocketmq/broker.conf
-v /haoke/rmq/rmqbroker/logs:/opt/logs
-v /haoke/rmq/rmqbroker/store:/opt/store foxiswho/rocketmq:broker-4.3.2
#启动容器
docker start rmqserver rmqbroker #停止删除容器
docker stop rmqbroker rmqserver
docker rm rmqbroker rmqserver
测试,可用。
常用命令:
#查看日志文件
docker logs rmqserver
docker logs rmqbroker
#从容器复制内容到主机
docker cp da3ffb8e127d:/etc/rocketmq/broker.conf /docker/rmq/rmqbroker/conf
3.部署RocketMQ的管理工具
RocketMQ提供了UI管理工具,名为rocketmq-console,项目地址:https://github.com/apache/rocketmq-exter
nals/tree/master/rocketmq-console
该工具支持docker以及非docker安装。
#拉取镜像
docker pull styletang/rocketmq-console-ng:1.0.0
#创建并启动容器
docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.117.141:9876 - Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8082:8080 -t styletang/rocketmq- console-ng:1.0.0
通过浏览器进行访问:http://192.168.117.141:8082/#/
十、Elasticsearch安装
1、Elasticsearch安装
#拉取镜像
docker pull elasticsearch:6.5.4
#创建容器
docker create --name elasticsearch --net host -e "discovery.type=single-node" -e "network.host=172.16.55.185" elasticsearch:6.5.4
#启动
docker start elasticsearch
#查看日志
docker logs elasticsearch
测试安装结果
2、elasticsearch-head的安装
elasticsearch-head是一个为ES开发的一个页面客户端工具,其源码托管于GitHub,地址为:https://github.com/mobz/elasticsearch-head
#拉取镜像
docker pull mobz/elasticsearch-head:5
#创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
#启动容器
docker start elasticsearch-head
通过浏览器访问
http://172.16.55.185:9100
ElasticSearch-Head创建索引无响应,F12查看发现406错误,修改head的 Content-Type 设置.
docker exex -it elasticsearch-head /bin/bash
root@b93fa4e29ba2:/usr/src/app# vim _site/vendor.js
1. 6886行 /contentType: "application/x-www-form-urlencoded 改成 contentType: "application/json;charset=UTF-8"
2. 7574行 var inspectData = s.contentType ==`= "application/x-www-form-urlencoded" &&` 改成 var inspectData = s.contentType === "application/json;charset=UTF-8" &&
root@b93fa4e29ba2:/usr/src/app/_site# exit
exit
[root@localhost ~]docker restart elasticsearch-head
提示:
1、docker容器内无法使用vim ,分别执行这两条命令 就可以使用vim编辑文件
apt-get update
apt-get install -y vim
2、vim设置行号 :set nu 跳转行号 :6886
3、使用docker搭建集群
mkdir /hh/es-cluster
cd /hh/es-cluster
mkdir node01
mkdir node02
#复制安装目录下的elasticsearch.yml、jvm.options文件,做如下修改 #node01的配置:
cluster.name: es-itcast-cluster
node.name: node01
node.master: true
node.data: true
network.host: 172.16.55.185
http.port: 9200
discovery.zen.ping.unicast.hosts: ["172.16.55.185"]
discovery.zen.minimum_master_nodes: 1
http.cors.enabled: true
http.cors.allow-origin: "*"
#node02的配置:
cluster.name: es-itcast-cluster
node.name: node02
node.master: false
node.data: true
network.host: 172.16.55.185
http.port: 9201
discovery.zen.ping.unicast.hosts: ["172.16.55.185"]
discovery.zen.minimum_master_nodes: 1
http.cors.enabled: true
http.cors.allow-origin: "*"
#创建容器
docker create --name es-node01 --net host -v /hh/es- cluster/node01/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /hh/es-cluster/node01/jvm.options:/usr/share/elasticsearch/config/jvm.options -v /hh/es-cluster/node01/data:/usr/share/elasticsearch/data elasticsearch:6.5.4
docker create --name es-node02 --net host -v /hh/es- cluster/node02/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /hh/es-cluster/node02/jvm.options:/usr/share/elasticsearch/config/jvm.options -v /hh/es-cluster/node02/data:/usr/share/elasticsearch/data elasticsearch:6.5.4
#启动容器
docker start es-node01 && docker logs -f es-node01
docker start es-node02 && docker logs -f es-node02#提示:启动时会报文件无权限操作的错误,需要对node01和node02进行chmod 777 的操作
chmod 777 data/ -R#修改单个进程中的最大线程数
vim /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p #保存生效
查看集群:
十一、持续更新中…
服务器配置与软件安装合集相关推荐
- ubuntu常用软件安装合集
这里都是笔者自己配置环境留下的笔记.在这里总结. 大家可以点击链接跳跃到具体详细的步骤进行参考. 文章目录 搜狗输入法 谷歌浏览器 ubuntu给pip换下载源 pyton- opencv 将默认的p ...
- 【传送门】 Linux软件安装合集
https://blog.csdn.net/yuanlaijike/article/details/79658860
- 软件批量安装,软件自动安装,一键安装合集
使用一键安装合集,省去单个安装包的下载及安装过程.一键安装合集不仅可以自定义安装路径 .记住技术员的选择,让装机更快捷,而且提供合集自动安装程序,真正实现一键安装. 下载后不要更改名字 下载地址:ht ...
- stotybord如何添加子视图_Revit软件技巧合集(建筑构件、视图处理、建筑表现、高级技巧)...
Revit软件技巧合集164套(建筑构件.视图处理.建筑表现.高级技巧) BIM技术在我国建筑行业受到了越来越多的关注,也得到了快速地发展.BIM应用软件也如雨后春笋般的涌现,随着时间的推移,revi ...
- 安卓应用测试指南 pdf_YPlay月刊2020年10月软件应用合集
Youth Play本月期刊精选2020年10月更新的各类软件应用合集: 说明:左侧序号为资源对应的关键字,右侧为内容的标题 161 2020驾考宝典APP,学车找教练不用愁 162 Microsof ...
- 323个精品小工具软件打包合集
323个精品小工具软件打包合集 (电驴下载:ed2k://|file|323%E4%B8%AA%E7%B2%BE%E5%93%81%E5%B0%8F%E5%B7%A5%E5%85%B7.rar|613 ...
- 办公软件excel表格_190个施工方案+40个电力计算Excel表格、软件大合集
190个施工方案+40个电力计算Excel表格.软件大合集! 现在的工程人真的是变身超人,施工方案不能出错,计算要快,BIM技术.CAD软件也要会,如果没有这些可直接套用的施工方案和自动计算表格,我想 ...
- 电焊库卡机器人_库卡焊接机器人七大软件大合集
原标题:库卡焊接机器人七大软件大合集 焊接机器人是工业生产中常用的一类机器人,应用行业广泛.而库卡焊接机器人则是焊接机器人领域的佼佼者,无论是技术还是品牌知名度,都是业内的佼佼者. 在这样的背景之下, ...
- 【软件开发合集】各种类型软件开发合集(包括JS,Python和Android)
[软件开发合集]各种类型软件开发笔记合集,包括JS,Python和Android 1.[基于JS的软件开发笔记] 1.1 基于JavaScript开发的校园综合类微信小程序 2.[基于Python的软 ...
最新文章
- 2022-2028年中国液体燃料行业市场研究及前瞻分析报告
- 去除MyEclipse频繁弹出的Update Progress窗口
- 孙鑫MFC笔记之十四--多线程同步与异步套接字编程
- Android之解决NestedScrollView嵌套RecyclerView部分手机返回到这个页面Recyclerview顶部,而不是页面NestedScrollView顶部
- 5G精华问答 | 5G是否会“逼退”4G?
- p2p终结者局域网控制软件的介绍和用法
- 使用harviewer显示har文件
- py的征途2之简例分享
- 点击链接时直接在网页中打开word文档
- Hive3第五章:函数
- Excel 合并居中后无法自动换行
- 基于51单片机十字路口交通灯_只显示绿灯时间+黄灯5s
- FlutterWeb性能优化探索与实践
- 人工智能技术的应用越来越广,极大促进了无人机产业的发展
- matlab ssd检测,基于SSD神经网络的违章停车车辆实时检测方法与流程
- 广工计算机组成原理考试,广工计算机组成原理期末考试B卷(杨卫平)
- 2019计算机小高考成绩,小高考没过怎么办 2021小高考难度如何
- 华为云服务器的系统,云服务器的系统
- 微软鼠标测试软件,微软Precision鼠标评测:Surface生产力工具最佳搭配
- YOLOv5冷门小知识汇总
热门文章
- C++性能优化(十一) —— 内存管理器性能分析
- ORA-00937:不是单组分组函数 ORA-22818:这里不允许出现子查询表达式
- js进栈出栈_JavaScript js调用堆栈(一)
- oracle和mysql查询条件排序_Oracle数据库中ORDERBY排序和查询按IN条件的顺序输出
- JavaWeb聊天(Redis+环信) 一、发送接收消息、聊天记录拉取
- Win10系统程序图标上的盾牌怎么去除?
- Python SyntaxError: Missing parentheses in call to 'print'
- 【Renesas RA6M4开发板之UART与Serial studio串口交互】
- golang中定时器ticker
- Windows装机方案