宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

各种工具的安装与卸载

从前慢-各种工具的安装与卸载-风君子博客

前端

1 less

npm install -g less

2 node

配置环境变量
NODE_HOME= nodejs安装目录
PATH=xxxx;%NODE_HOME%
node_modules文件夹的问题
文件夹以及文件过多过碎,当我们将项目整体拷贝给别人的时候,,传输速度会很慢很慢. 
复杂的模块依赖关系需要被记录,确保模块的版本和当前保持一致,否则会导致当前项目运行报错。所以package.json就诞生了
package.json文件的作用
项目描述文件,记录了当前项目信息,例如项目名称、版本、作者、github地址、当前项目依赖了哪些第三方模块等。
使用npm init -y(这个选项就是yes的意思,没有这个选项,就要手动设置)命令生成。
当我们下载别人的文件时,一般没有 node_modules这个文件夹,项目就运行不起来,所以,我们需要使用npm install命令,
这个命令会自动找到package.json中,然后下载相应的依赖到node_modules.

3 npm

npm (node package manager) : node的第三方模块管理工具
下载:npm install 模块名称  # 默认在下载的目录下生成node_modules。
卸载:npm unintall package    # 模块名称npm install --save 、--save-dev 、-D、-S 的区别
1、npm install <=> npm i--save   <=> -S     --save-dev  <=> -D npm run start <=> npm start  // 对应"scripts"里的"start"命令2、npm i --save-dev  <packname>  工程构建(开发时、“打包”时)依赖 ;例:xxx-cli , less-loader , babel-loader...3、npm i --save <packname> 项目(运行时、发布到生产环境时)依赖;例:antd , element,react...

从前慢-各种工具的安装与卸载-风君子博客

5、使用 npm i 安装package.json里的依赖时,两部分的包都会pull下来
使用 --prod
npm i --prod <=> npm i --production  // 仅会拉取dependencies中的依赖npm常规配置
命令
//设置淘宝源
npm config set registry https://registry.npm.taobao.org
//设置公司的源
npm config set registry http://127.0.0.1:4873
//查看源,可以看到设置过的所有的源
npm config get registry
通过使用cnpm安装
npm install -g cnpm --registry=https://registry.npm.taobao.org  # 这里的意思就是安装cnpm,并且registry=https://registry.npm.taobao.org
使用cnpm代替npm(因为npm下载慢)  cnpm install xxxwindows:
npm config set cache "E:\installation_program\nodeRepository\npm_cache"  # 设置安装模块的缓存
npm config set prefix "E:\installation_program\nodeRepository\npm_global"  # 设置全局模块的下载位置
注意:当你设置这个的时候,一定要设置相应的环境变量。比如
npm install -g @vue/cli   这里生成的vue命令在E:\installation_program\nodeRepository\npm_global目录下,必须配置环境变量才能识别到vue命令,否则找不到该命令

4 cnpm

有两个办法:1、安装cnpm命令:npm install cnpm -g --registry=https://registry.npm.taobao.org以后就用 cnpm 代替 npm 做操作。从地址看出这是淘宝的国内镜像,比较快。据说每10分钟更新一次仓库,同步性也好2、更改npm的绑定地址
命令:npm config set registry https://registry.npm.taobao.org
这样以后还是用npm,但已切换到淘宝镜像
更改后可通过下面命令来验证是否成功npm config get registry当然,想换回来也行,npm的原始仓库地址是 https://registry.npmjs.org/2、更改npm的绑定地址
命令:npm config set registry https://registry.npm.taobao.org
这样以后还是用npm,但已切换到淘宝镜像
更改后可通过下面命令来验证是否成功npm config get registry当然,想换回来也行,npm的原始仓库地址是 https://registry.npmjs.org/npm config list # 查看npm的配置信息

5 nodemon

nodemon是一个命令行工具,用以辅助项目开发。
在Node.js中,每次修改文件都要在命令行工具中重新执行该文件,非常繁琐。
使用npm install -g  nodemon下载它
在命令行工具中用nodemon命令替代node命令执行文件

6 nrm

nrm ( npm registry manager ):npm下载地址切换工具
npm默认的下载地址在国外,国内下载速度慢
使用步骤
使用npm install nrm –g 下载它
查询可用下载地址列表 nrm ls
切换npm下载地址 nrm use 下载地址名称

7 Gulp

npm install gulp
基于node平台开发的前端构建工具
将机械化操作编写成任务, 想要执行机械化操作时执行一个命令行命令任务就能自动执行了.
用机器代替手工,提高开发效率。

8 Express

Express是一个基于Node平台的web应用开发框架,它提供了一系列的强大特性,帮助你创建各种Web应用。我们可以使用 npm install express 命令进行下载。
提供了方便简洁的路由定义方式
对获取HTTP请求参数进行了简化处理
对模板引擎支持程度高,方便渲染动态HTML页面
提供了中间件机制有效控制HTTP请求
拥有大量第三方中间件对功能进行扩展

9 express-art-template

为了使art-template模板引擎能够更好的和Express框架配合,模板引擎官方在原art-template模板引擎的基础上封装了express-art-template。使用npm install art-template express-art-template命令进行安装。

10 vue-cli的卸载与安装(包括创建项目)

第一步:安装node环境
参看前面步骤即可
第二步:安装脚手架环境
安装
1.x或2.x
npm install vue-cli -g
3.x以上
npm install -g @vue/cli 
# OR
yarn global add @vue/cli卸载vue-cli(1.x 或2.x)
npm uninstall vue-cli -g 或yarn global remove vue-cli 
卸载cli3
npm uninstall -g @vue/cli 或 yarn global remove @vue/cli升级
如需升级全局的v Vue CLI 包,请运行:
npm update -g @vue/cli
# 或者
yarn global upgrade --latest @vue/cli创建vue-cli2项目
vue init webpack 项目名称创建vue-cli3项目
图形界面的方式创建项目
vue ui
通过命令行创建(主流方式)
vue create 项目名称脚手架2启动方式
cd 项目
npm run dev
脚手架3启动方式
cd 项目
npm run serve安装serve:npm install -g serve # 因为你最后直接给的是打包文件,交工之前直接测试一下,运行打包文件,查看项目是否完整
脚手架2打包
npm run build # 生成的是build文件
脚手架3打包
npm run build # 生成的是dist文件npm install -g serve
脚手架2本机测试
serve build # 因为你最后直接给的是打包文件,交工之前直接测试一下,运行打包文件,查看项目是否完整
脚手架3本机测试
serve dist

11 Element-UI 的基本使用

脚手架2
1. 基于命令行方式手动安装
- 安装依赖包 npm i element-ui –S
- 导入 Element-UI 相关资源// 导入组件库import ElementUI from 'element-ui';// 导入组件相关样式import 'element-ui/lib/theme-chalk/index.css';// 配置 Vue 插件Vue.use(ElementUI);
2. 基于图形化界面自动安装
- 运行 vue ui 命令,打开图形化界面
- 通过 Vue 项目管理器,进入具体的项目配置面板
- 点击 插件 -> 添加插件,进入插件查询面板
- 搜索 vue-cli-plugin-element 并安装
- 配置插件,实现按需导入,从而减少打包后项目的体积脚手架3
1 安装
npm i element-ui -S
2 引入
import ElementPlus from 'element-plus';
import 'element-plus/lib/theme-chalk/index.css';createApp(App).use(ElementPlus).mount('#app')

12 在脚手架中使用axios

vue 2
# 1.安装axios
npm install --save axios vue-axios# 2.配置main.js中引入axios
import axios from 'axios'
import VueAxios from 'vue-axios'# 3.使用axios
Vue.use(VueAxios, axios)# 使用axios
Vue.axios.get(api).then((response) => {console.log(response.data)
})this.axios.get(api).then((response) => {console.log(response.data)
})this.$http.get(api).then((response) => {console.log(response.data)
})vue 3
import axios from 'axios'
import VueAxios from 'vue-axios'
createApp(App).use(VueAxios, axios).mount('#app')使用
this.axios.get(api).then((response) => {console.log(response.data)
})this.$http.get(api).then((response) => {console.log(response.data)
})

13 Vuex

Vue 2
1. 安装 vuex 依赖包npm install vuex --save
2. 导入 vuex 包
import Vuex from 'vuex'
Vue.use(Vuex)
3. 创建 store 对象
const store = new Vuex.Store({state: {count: 0},mutations: {increment (state) {state.count++}}
})现在,你可以通过 store.state 来获取状态对象,以及通过 store.commit 方法触发状态变更:
store.commit('increment')
console.log(store.state.count) // -> 14. 将 store 对象挂载到 vue 实例中
new Vue({el: '#app',render: h => h(app),router,// 将创建的共享数据对象,挂载到 Vue 实例中// 所有的组件,就可以直接从 store 中获取全局的数据了store
})5 现在我们可以从组件的方法提交一个变更:
methods: {increment() {this.$store.commit('increment')console.log(this.$store.state.count)}
}Vue3
npm install vuex@next --save
import { createStore } from 'vuex'
// 创建一个新的 store 实例
const store = createStore({state () {return {count: 0}},mutations: {increment (state) {state.count++}}
})createApp(App).use(store).mount('#app')
现在,你可以通过 store.state 来获取状态对象,并通过 store.commit 方法触发状态变更:
store.commit('increment')console.log(store.state.count) // -> 1在 Vue 组件中, 可以通过 this.$store 访问store实例。现在我们可以从组件的方法提交一个变更:
methods: {increment() {this.$store.commit('increment')console.log(this.$store.state.count)}
}

14 TypeScript

1 命令行运行如下命令,全局安装 TypeScript:
npm install -g typescript2 安装完成后,在控制台运行如下命令,检查安装是否成功:
tsc -V vscode自动编译
1) 生成配置文件tsconfig.jsontsc --init
2) 修改tsconfig.json配置"outDir": "./js","strict": false,    
3) 启动监视任务: 终端 -> 运行任务 -> 监视tsconfig.json

15 vite 创建Vue3

安装vue-cli到最新版本 (必须高于4.5.0)
npm init vite-app   <project-name>
cd  <project-name>
npm install 
npm run dev

16 webpack

全局安装webpack
npm install webpack -g

后端

1 docker

1 卸载原有 docker
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine2 安装docker
安装docker依赖
sudo yum install -y yum-utils
设置docker的yum源
sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo3 安装最新版的docker
sudo yum install docker-ce docker-ce-cli containerd.io4 启动docker
sudo systemctl start docker
关闭docker
sudo systemctl stop docker5 docker配置阿里云镜像加速(每个人都不一样,根据自己的来配置)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://r46nkja7.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker6 验证docker的镜像加速是否生效  docker info
出现以下信息说明是正确的
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
https://r46nkja7.mirror.aliyuncs.com/
Live Restore Enabled: false

1.1 安装mysql

1 拉去mysql镜像
sudo docker pull mysql:8.02 启动mysql容器
# --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行
sudo docker run --name mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql:/etc/mysql/conf.d -v /usr/local/mysql/log:/var/log/mysql  -e MYSQL_ROOT_PASSWORD=root  -p 3306:3306 -d mysql:8.03 使用su - root(切换为root,这样就不用每次都sudo来赐予了)
su - root
4 进入mysql容器
docker exec -it 容器名称|容器id bin/bash

1.2 安装rabbitmq

1 安装
docker run -it -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management   # 以后端启动rabbitmq2 访问
http://192.168.11.134:15672/  # 访问15672端口3 默认账号密码为guest

1.3 安装redis

1 在docker hub搜索redis镜像
docker search redis2 拉取redis镜像到本地
docker pull redis:6.0.103 修改需要自定义的配置(docker-redis默认没有配置文件,
自己在宿主机建立后挂载映射)
创建并修改/usr/local/redis/redis.conf
bind 0.0.0.0 开启远程权限
appendonly yes 开启aof持久化4 启动redis服务运行容器
docker run --name redis  -v /usr/local/redis/data:/data  -v /usr/local/redis/redis.conf:/usr/local/etc/redis/redis.conf -p 6379:6379 -d redis:6.0.10  redis-server /usr/local/etc/redis/redis.conf 解释: -v /usr/local/redis/data:/data  # 将数据目录挂在到本地保证数据安全-v /root/redis/redis.conf:/usr/local/etc/redis/redis.conf   # 将配置文件挂在到本地修改方便5  直接进去redis客户端。
docker exec -it redis redis-cli
1.3.1 redis主从复制
主从复制架构用来解决数据的冗余备份
拉取redis
docker pull redis在各自宿主机建立各自的配置文件
redis-6377.conf 
port 6377
bind 0.0.0.0
appendonly yesredis-6378.conf
port 6378
bind 0.0.0.0 
appendonly yes 
replicaof 192.168.11.148 6377 redis-6379.conf
port 6379
bind 0.0.0.0 
appendonly yes 
replicaof 192.168.11.148 6377docker run --name redis-6377  -v /usr/local/redis/data:/data  -v /usr/local/redis/conf/redis-6377.conf:/usr/local/etc/redis/redis-6377.conf -p 6377:6377 -d redis  redis-server /usr/local/etc/redis/redis-6377.conf
docker run --name redis-6378  -v /usr/local/redis/data:/data  -v /usr/local/redis/conf/redis-6378.conf:/usr/local/etc/redis/redis-6378.conf -p 6378:6378 -d redis  redis-server /usr/local/etc/redis/redis-6378.conf
docker run --name redis-6379  -v /usr/local/redis/data:/data  -v /usr/local/redis/conf/redis-6379.conf:/usr/local/etc/redis/redis-6379.conf -p 6379:6379 -d redis  redis-server /usr/local/etc/redis/redis-6379.conf测试
docker exec -it redis-6377 redis-cli -p 6377
docker exec -it redis-6378 redis-cli -p 6378
docker exec -it redis-6379 redis-cli -p 6379
1.3.2 redis哨兵机制
Sentinel(哨兵)是Redis的高可用性解决方案:由一个或
多个Sentinel实例组成的Sentinel系统可以监视任意多个主服
务器,以及这些主服务器属下的所有从服务器,并在被监视的
主服务器进入下线状态时,自动将下线主服务器属下的某个从
服务器升级为新的主服务器。简单的说哨兵就是带有自动故障转
移功能的主从架构。
在各自宿主机建立各自的配置文件
sentinel-26377.conf
sentinel monitor mymaster 192.168.11.148 6377 2sentinel-26378.conf 
sentinel monitor mymaster 192.168.11.148 6377 2sentinel-26379.conf
sentinel monitor mymaster 192.168.11.148 6377 2docker run --name sentinel-26377 -v /usr/local/redis/data:/data  -v /usr/local/redis/conf/sentinel-26377.conf:/usr/local/etc/redis/sentinel-26377.conf -p  26377:26377 -d redis  redis-sentinel /usr/local/etc/redis/sentinel-26377.conf
docker run --name sentinel-26378 -v /usr/local/redis/data:/data  -v /usr/local/redis/conf/sentinel-26378.conf:/usr/local/etc/redis/sentinel-26378.conf -p  26378:26378 -d redis  redis-sentinel /usr/local/etc/redis/sentinel-26378.conf
docker run --name sentinel-26379  -v /usr/local/redis/data:/data  -v /usr/local/redis/conf/sentinel-26379.conf:/usr/local/etc/redis/sentinel-26379.conf -p  26379:26379 -d redis  redis-sentinel /usr/local/etc/redis/sentinel-26379.conf

2 maven的安装

前往maven官网下载最新maven安装包,此处我们下载apache-maven-3.6.0-bin.zip

从前慢-各种工具的安装与卸载-风君子博客

解压maven安装包至本地硬盘

从前慢-各种工具的安装与卸载-风君子博客

右键“计算机”,选择“属性”,之后点击“高级系统设置”,点击“环境变量”,来设置环境变量

从前慢-各种工具的安装与卸载-风君子博客
从前慢-各种工具的安装与卸载-风君子博客
从前慢-各种工具的安装与卸载-风君子博客

MAVEN_HOME  变量值为解压路径;MAVEN_HOME变量值为解压路径;如我配置为:D:\apache-maven-3.6.0

从前慢-各种工具的安装与卸载-风君子博客
从前慢-各种工具的安装与卸载-风君子博客

在系统变量Path中添加变量值:;%MAVEN_HOME%\bin

从前慢-各种工具的安装与卸载-风君子博客
从前慢-各种工具的安装与卸载-风君子博客

用win键+R,来打开命令行提示符窗口,即Dos界面,输入mvn -version  若出现以下情况说明配置成功

从前慢-各种工具的安装与卸载-风君子博客

下载慢配置本地仓库跟阿里云镜像
在settings.xml配置
<localRepository>D:\install\Repository</localRepository>因为国外的服务器下载jar包很慢所以我们改为阿里云服务器,这两个仓库只用选一个(根据大家反馈建议使用第一个,第二个在有的版本可能会出现warning)
<!-- 阿里云仓库 --><mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url></mirror>或者<mirror><id>nexus-aliyun</id><mirrorOf>*</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror>最后配置jdk,也要夹在两个profiles标签之间(我这里使用的为jdk8)
<!-- java版本 --> 
<profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties>
</profile>配置完成,在命令行输入mvn help:system测试,看到下载链接里面是ailiyun的链接表示配置成功
IDEA下配置Maven

从前慢-各种工具的安装与卸载-风君子博客
从前慢-各种工具的安装与卸载-风君子博客

3 tomcat的安装

3.1 window

下载Tomcat

从前慢-各种工具的安装与卸载-风君子博客

要根据自己的JDK版本选择Tomcat的版本。

从前慢-各种工具的安装与卸载-风君子博客

配置环境变量
CATALINA_HOME (一定要这个名字,否则会错)
验证
catalina version

3.2 linux

# 0.下载tomcathttp://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.46/bin/apache-tomcat-8.5.46.tar.gz# 1.通过工具上传到Linux系统中# 2.解压缩到/usr目录中[root@localhost ~]# tar -zxvf apache-tomcat-8.5.46.tar.gz -C /usr/-C 用来指定解压缩的位置# 3.查看解压内容[root@localhost apache-tomcat-8.5.46]# ls -l总用量 124drwxr-x---. 2 root root  4096 10月 13 12:27 bin-rw-r-----. 1 root root 19318 9月  17 02:19 BUILDING.txtdrwx------. 2 root root   238 9月  17 02:19 conf-rw-r-----. 1 root root  5407 9月  17 02:19 CONTRIBUTING.mddrwxr-x---. 2 root root  4096 10月 13 12:27 lib-rw-r-----. 1 root root 57011 9月  17 02:19 LICENSEdrwxr-x---. 2 root root     6 9月  17 02:17 logs-rw-r-----. 1 root root  1726 9月  17 02:19 NOTICE-rw-r-----. 1 root root  3255 9月  17 02:19 README.md-rw-r-----. 1 root root  7139 9月  17 02:19 RELEASE-NOTES-rw-r-----. 1 root root 16262 9月  17 02:19 RUNNING.txtdrwxr-x---. 2 root root    30 10月 13 12:27 tempdrwxr-x---. 7 root root    81 9月  17 02:17 webappsdrwxr-x---. 2 root root     6 9月  17 02:17 work# 4.启动tomcat[root@localhost apache-tomcat-8.5.46]# ./bin/startup.sh # 5.关闭网络防火墙systemctl stop firewalld	   关闭网络防火墙systemctl disable firewalld  关闭开机自启动(永久关闭)# 6.在windows中访问tomcathttp://10.15.0.8:8080/# 7.显示tomcat实时控制台信息进入tomcat的logs目录中使用tail -f catalina.out 命令实时查看控制台信息 # 8.关闭tomcat在tomcat的bin目录下面使用 ./shutdown.sh

4 docker

4.1 卸载原有 docker

$ sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

4.2 安装docker

安装docker依赖
$ sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2
设置docker的yum源
$ sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
安装最新版的docker
$ sudo yum install docker-ce docker-ce-cli containerd.io
指定版本安装docker
$ yum list docker-ce --showduplicates | sort -r
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
$ sudo yum install docker-ce-18.09.5-3.el7 docker-ce-cli-18.09.5-3.el7 containerd.io
启动docker
$ sudo systemctl start docker
关闭docker
$ sudo systemctl stop docker
测试docker安装
$ sudo docker run hello-world
Docker 配置阿里镜像加速服务

从前慢-各种工具的安装与卸载-风君子博客

5 RabiitMQ

5.1 linux版

5.1.1 下载

从前慢-各种工具的安装与卸载-风君子博客

5.1.2 下载的安装包

从前慢-各种工具的安装与卸载-风君子博客

注意:这里的安装包是centos7安装的包
5.1.3 安装步骤
# 1.将rabbitmq安装包上传到linux系统中
erlang-23.3.4.4-1.el7.x86_64.rpm #l7表示是Centosl7,Centosl8表示Centos8
rabbitmq-server-3.8.18-1.el7.noarch.rpm# 2.安装Erlang依赖包rpm -ivh erlang-23.3.4.4-1.el7.x86_64.rpm# 3.安装RabbitMQ安装包(需要联网)yum install -y rabbitmq-server-3.8.18-1.el7.noarch.rpm# 4.执行如下命令,启动rabbitmq中的插件管理rabbitmq-plugins enable rabbitmq_management出现如下说明:Enabling plugins on node rabbit@localhost:rabbitmq_managementThe following plugins have been configured:rabbitmq_managementrabbitmq_management_agentrabbitmq_web_dispatchApplying plugin configuration to rabbit@localhost...The following plugins have been enabled:rabbitmq_managementrabbitmq_management_agentrabbitmq_web_dispatchset 3 plugins.Offline change; changes will take effect at broker restart.# 5.启动RabbitMQ的服务systemctl start rabbitmq-serversystemctl restart rabbitmq-serversystemctl stop rabbitmq-server# 6.查看服务状态(见下图:)systemctl status rabbitmq-server● rabbitmq-server.service - RabbitMQ brokerLoaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)Active: active (running) since 三 2019-09-25 22:26:35 CST; 7s agoMain PID: 2904 (beam.smp)Status: "Initialized"CGroup: /system.slice/rabbitmq-server.service├─2904 /usr/lib64/erlang/erts-10.4.4/bin/beam.smp -W w -A 64 -MBas ageffcbf -MHas ageffcbf -MBlmbcs...├─3220 erl_child_setup 32768├─3243 inet_gethost 4└─3244 inet_gethost 4.........

从前慢-各种工具的安装与卸载-风君子博客

#7.关闭防火墙服务systemctl disable firewalld  # 需要关闭防火墙,否则访问不了Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.systemctl stop firewalld   # 8.访问web管理界面http://192.168.11.136:15672/

从前慢-各种工具的安装与卸载-风君子博客

#  9.登录管理界面username:  guestpassword:  guest

从前慢-各种工具的安装与卸载-风君子博客

解决办法:
rabbitmqctl add_user admin 123 # 账号admin,密码123
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"  # 设置权限
rabbitmqctl set_user_tags admin administrator  # 设置权限然后输入账号admin,密码123,则可以成功访问

从前慢-各种工具的安装与卸载-风君子博客

5.1.4 集群搭建
# 0 为了能正常访问,先把三台机器防火墙关了
# 1 集群规划
node1: 10.15.0.3  mq1  master 主节点
node2: 10.15.0.4  mq2  repl1  副本节点
node3: 10.15.0.5  mq3  repl2  副本节点# 2 克隆三台机器主机名和ip映射vim /etc/hosts加入:10.15.0.3 mq110.15.0.4 mq210.15.0.5 mq3
# 3 修改主机名      	node1: vim /etc/hostname 加入:  mq1node2: vim /etc/hostname 加入:  mq2node3: vim /etc/hostname 加入:  mq3# 4 三个机器安装rabbitmq,并同步cookie文件,在node1上执行:scp /var/lib/rabbitmq/.erlang.cookie root@mq2:/var/lib/rabbitmq/scp /var/lib/rabbitmq/.erlang.cookie root@mq3:/var/lib/rabbitmq/# 5 查看cookie是否一致:node1: cat /var/lib/rabbitmq/.erlang.cookie node2: cat /var/lib/rabbitmq/.erlang.cookie node3: cat /var/lib/rabbitmq/.erlang.cookie # 6 启动node1服务:systemctl start rabbitmq-server
# 7 后台启动rabbitmq所有节点执行如下命令,启动成功访问管理界面:rabbitmq-server -detached 
# 8 在node2和node3执行加入集群命令:1.关闭       rabbitmqctl stop_app2.加入集群    rabbitmqctl join_cluster rabbit@mq13.启动服务    rabbitmqctl start_app# 9 查看集群状态,任意节点执行:rabbitmqctl cluster_status# 10 如果出现如下显示,集群搭建成功:

从前慢-各种工具的安装与卸载-风君子博客

# 11.任意节点添加用户
rabbitmqctl add_user admin 123 # 账号admin,密码123
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"  # 设置权限
rabbitmqctl set_user_tags admin administrator  # 设置权限# 12 登录管理界面
username:  admin
password:  123

从前慢-各种工具的安装与卸载-风君子博客

5.1.5 镜像集群
需要在集群搭建的基础上搭建
# 0.策略说明
rabbitmqctl set_policy [-p <vhost>] [--priority <priority>] [--apply-to <apply-to>] <name> <pattern>  <definition>
-p Vhost: 可选参数,针对指定vhost下的queue进行设置
Name:     policy的名称
Pattern: queue的匹配模式(正则表达式)
Definition:镜像定义,包括三个部分ha-mode, ha-params, ha-sync-mode
ha-mode:指明镜像队列的模式,有效值为 all/exactly/nodes
all:表示在集群中所有的节点上进行镜像
exactly:表示在指定个数的节点上进行镜像,节点的个数由ha-params指定
nodes:表示在指定的节点上进行镜像,节点名称通过ha-params指定
ha-params:ha-mode模式需要用到的参数
ha-sync-mode:进行队列中消息的同步方式,有效值为automatic和manualpriority:可选参数,policy的优先级# 1.查看当前策略
rabbitmqctl list_policies# 2.添加策略
rabbitmqctl set_policy ha-all '^hello' '{"ha-mode":"all","ha-sync-mode":"automatic"}' 
说明:策略正则表达式为 “^” 表示所有匹配所有队列名称  ^hello:匹配hello开头队列# 3.删除策略
rabbitmqctl clear_policy ha-all# 4.测试集群

从前慢-各种工具的安装与卸载-风君子博客

从前慢-各种工具的安装与卸载-风君子博客

从前慢-各种工具的安装与卸载-风君子博客

5.2 windows版


6 Jmeter

# 1.下载jmeter
https://jmeter.apache.org/download_jmeter.cgi
下载地址:https://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmeter-5.2.1.tgz
# 2.解压缩
backups    ---用来对压力测试进行备份目录
bin        ---Jmeter核心执行脚本文件
docs	     ---官方文档和案例
extras     ---额外的扩展
lib        ---第三方依赖库
licenses   ---说明
printable_docs ---格式化文档# 3.安装Jmeter
0.要求: 必须事先安装jdk环境
1.配置jmeter环境变量
export JMETER_HOME=/Users/yao/dev/apache-jmeter-5.2
export PATH=$SCALA_HOME/bin:$JAVA_HOME/bin:$GRADLE_HOME/bin:$PATH:$JMETER_HOME/bin
2.是配置生效
source  /etc/profile

7 lombok

从前慢-各种工具的安装与卸载-风君子博客

7.1 引言

还记得刚刚接触java,学习面向对象时因为手写
get,set,hashcode,equals等方法的痛苦吗?
还记得后来上手了Eclipse|Idea这样工具可以快速生成get,set等
相关方法的兴奋吗? 好强大..
后来工作时间长了,这种兴奋渐渐就变成了的苦恼?很重要一个原因就是因为随着项目业务模块功能不断扩展,项目
中涉及库表越来越多,导致项目中实体类(Entity)对象越来越多,
每次写Entity对象最头疼就是生成Get,SET等相关方法,极大影
响开发效率,如何更好的解决呢? lombok出现仿佛让我们回
到曾经的那种喜悦!!!

7.2 lombok是什么

Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,
Lombok提供了一组有用的注释(注解),用来消除Java类中的大
量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产
生干净,简洁且易于维护的Java类 ---百度百科Project Lombok is a java library that automatically plugs 
into your editor and build tools, spicing up your java.
Never write another getter or equals method again, 
with one annotation your class has a fully featured
builder, Automate your logging variables, and much more. --摘自官网通俗解释: lombok快速开发工具,提供了一组java相关注解,
通过注解用来更快速生成java对象中我们想要的相关
方法(get,set,toString ....)等一系列方法

7.3 lombok第一个环境

7.3.1 引入依赖
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12</version><scope>provided</scope>
</dependency>
7.3.2 使用提供注解
@Data
public class User {private String id;private String name;private Integer age;private Date bir;
}@Data注解: 自动给对象提供 GET SET ToString hashCode equals 等方法

7.4 lombok的原理

从前慢-各种工具的安装与卸载-风君子博客

7.5 lombok一组注解

7.5.1 @Data注解
@Data 用在类上  用来生成对象中GET SET ToString HashCode equals等相关方法
具体用法
@Data
public class User {private String id;private String name;private Integer age;private Date bir;
}
7.5.2 @Getter and @Setter
用在类上
用来只生成对应GET SET方法
具体用法
  @Getter@Setterpublic class User {private String id;private String name;private Integer age;private Date bir;}
7.5.3 @ToString
用在类上
用来生成toString方法
7.5.4 @AllArgsConstructor And @NoArgsConstructor
用在类上用来生成全部参数构造方法 和 无参数构造方法具体用法
  @AllArgsConstructor@NoArgsConstructorpublic class User {private String id;private String name;private Integer age;private Date bir;}
7.5.5 @Accessors
用在类上用来给类中set方法开启链式调用 chain属性: 
用来指定是否开启SET方法链式调用 true 开启 false  不开启具体用法
@Data
@Accessors(chain = true)
public class User {private String id;private String name;private Integer age;private Date bir;
}user.setId("21").setName("xiaochen").setAge(23).setBir(new Date());
7.5.6 @Slf4j
用在类上用来快速给类中定义一个日志变量原理在对应类上加入这个注解相当于在这个类中声明了一个日志对象
private Logger log = LoggerFactory.getLogger(this.getClass());
具体用法
@Controller@RequestMapping("user")@Slf4jpublic class UserController {@RequestMapping("findAll")public String findAll(){log.info("进入findAll方法");log.info("姓名:[{}],年龄:[{}]",name,age);return "index";}}

7.6 idea中如何安装lombok

注意:默认在idea中不支持lombok语法,写上之后没有任何效果,
需要在idea中额外安装插件才可以继续使用lombok
Preferences | Plugins --> 搜索lombok 下载安装 安装完成
重启idea即可

从前慢-各种工具的安装与卸载-风君子博客

安装完成之后出现如下问题的解决方案:

从前慢-各种工具的安装与卸载-风君子博客

解决方案:

从前慢-各种工具的安装与卸载-风君子博客

8 jdk

1 下载并解压jdk1.8
tar  -zxvf  jdk-8u281-linux-x64.tar.gz
(检查本机有没有jdk有的话卸载掉。安装上自己的jdk)2 配上环境变量
vim /etc/profile
# 添加一下两行代码
export JAVA_HOME=jdk的位置
export PATH=$PATH:$JAVA_HOME/bin3 使配置生效
source  /etc/profile

9 git

# 配置用户名
git config --global user.name "username"  //(名字,随意写)# 配置邮箱
git config --global user.email "55333@qq.com" // 注册账号时使用的邮箱# 配置ssh免密登录
ssh-keygen -t rsa -C "55333@qq.com"三次回车后生成了密钥,也可以查看密钥
cat ~/.ssh/id_rsa.pub浏览器登录码云后,个人头像上点设置、然后点ssh公钥、随便填个标题,然后赋值
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6MWhGXSKdRxr1mGPZysDrcwABMTrxc8Va2IWZyIMMRHH9Qn/wy3PN2I9144UUqg65W0CDE/thxbOdn78MygFFsIG4j0wdT9sdjmSfzQikLHFsJ02yr58V6J2zwXcW9AhIlaGr+XIlGKDUy5mXb4OF+6UMXM6HKF7rY9FYh9wL6bun9f1jV4Ydlxftb/xtV8oQXXNJbI6OoqkogPKBYcNdWzMbjJdmbq2bSQugGaPVnHEqAD74Qgkw1G7SIDTXnY55gBlFPVzjLWUu74OWFCx4pFHH6LRZOCLlMaJ9haTwT2DB/sFzOG/Js+cEExx/arJ2rvvdmTMwlv/T+6xhrMS3 894548575@qq.com# 测试
ssh -T git@gitee.com# 测试成功
Hi unique_perfect! You've successfully authenticated, but GITEE.COM does not provide shell access.

10 nacos

一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。作为我们的注册中心和配置中心。
先了解一下 Spring Cloud 应用如何接入 Nacos Discovery。
1 首先,修改 common中的pom.xml 文件,引入 Nacos Discovery Starter。
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>2 在应用的common中的application.yml 配置文件中配置 Nacos Server 地址和微服务名称
spring:application:name: gulimall-coupondatasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.1.103:3306/gulimall_sms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghaiusername: rootpassword: rootcloud:nacos:discovery:server-addr: 192.168.11.1:8848mybatis-plus:mapper-locations: classpath:/mapper/**/*.xmlglobal-config:db-config:id-type: autoserver:port: 70003 我们要配置nacos服务器的地址,也就是注册中心地址,但是我们还没
有nacos服务器,所以我们需要启动nacos server创建nacos服务
器(软件官方可以下载)
启动命令windows:startup.cmd -m standalone4 使用 @EnableDiscoveryClient 注解开启服务注册与发现功能
package com.yxj.gulimall.coupon;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication
@MapperScan("com.yxj.gulimall.coupon.dao")
@EnableDiscoveryClient
public class GulimallCouponApplication {public static void main(String[] args) {SpringApplication.run(GulimallCouponApplication.class, args);}}5 访问http://127.0.0.1:8848/nacos/  账号密码nacos
出现如下页面,则表示访问成功

11 redis

Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器
的host和port正确,就可以连接使用。这在安全性上会有一定的问题,
所以需要启用Redis的认证密码,增加Redis服务器的安全性。1 修改配置文件
Redis的配置文件默认在/etc/redis.conf,找到如下行:#requirepass foobared
去掉前面的注释,并修改为所需要的密码:requirepass myPassword (其中myPassword就是要设置的密码)2 重启Redis
如果Redis已经配置为service服务,可以通过以下方式重启:service redis restart
如果Redis没有配置为service服务,可以通过以下方式重启:/usr/local/bin/redis-cli shutdown
/usr/local/bin/redis-server /etc/redis.conf3 登录验证
设置Redis认证密码后,客户端登录时需要使用-a参数输入认证密码,不
添加该参数虽然也可以登录成功,但是没有任何操作权限。如下:$ ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
使用密码认证登录,并验证操作权限:$ ./redis-cli -h 127.0.0.1 -p 6379 -a myPassword
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "myPassword"
看到类似上面的输出,说明Reids密码认证配置成功。除了按上面的方式在登录时,使用-a参数输入登录密码外。
也可以不指定,在连接后进行验证:$ ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> auth myPassword
OK
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "myPassword"4 Redis也可以通命令行客户端配置密码,这种配置方式不用重新启动Redis。配置方式如下:127.0.0.1:6379> config set requirepass newPassword
OK
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "newPassword"
注意:使用命令行客户端配置密码,重启Redis后仍然会使用redis.conf配置文件中的密码。5 如果Redis服务器,使用了集群。除了在master中配置密码外,
也需要在slave中进行相应配置。在slave的配置文件中找到如下行,
去掉注释并修改与master相同的密码即可:# masterauth master-password

11.1 主从复制

主从复制架构仅仅用来解决数据的冗余备份,从节点仅仅用来同步数据无法解决: 1.master节点出现故障的自动故障转移
1.准备3台机器并修改配置redis.conf
master
port 6377
bind 0.0.0.0
如果masterip 为 192.168.42.137,则slaveof masterip masterport 为 slaveof 192.168.42.137 6377
slave1
port 6378
bind 0.0.0.0
slaveof masterip masterport  (高版本 replicaof  masterip masterport )slave2
port 6379
bind 0.0.0.0
slaveof masterip masterport (高版本 replicaof  masterip masterport )

从前慢-各种工具的安装与卸载-风君子博客

2.启动3台机器进行测试
# 这里我把创建了data文件夹并把redis.conf放进了data文件夹中
./redis-server data/redis6377.conf
./redis-server data/redis6378.conf
./redis-server data/redis6379.conf

11.2 Redis哨兵机制

Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或
多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服
务器,以及这些主服务器属下的所有从服务器,并在被监视的
主服务器进入下线状态时,自动将下线主服务器属下的某个从
服务器升级为新的主服务器。简单的说哨兵就是带有自动故障转
移功能的主从架构。
这里我搭配了1主2从,3个哨兵
我把配置文件放在了conf文件夹下
redis6377.conf  redis6379.conf       sentinel-26378.conf  
redis6378.conf  sentinel-26377.conf  sentinel-26379.conf下面列出的就是要改的地方
redis6377.conf  (主的配置文件)bind 0.0.0.0  # 表示任何ip都可以连接,这个要开启来,否则远程连接不起作用
port 6377  # redis-server端口号
dir ./data  # 这个文件要自己创建,./表示命令所在的目录,比如redis-server这个命令所在目录为/usr/local/redis6377/bin。则./data表示/usr/local/redis6377/bin/dataredis6378.confbind 0.0.0.0
port 6378
replicaof 192.168.42.137 6377  # 主的IP地址加端口
dir ./data redis6379.conf  bind 0.0.0.0
port 6379
replicaof 192.168.42.137 6377  # 主的IP地址加端口
dir ./data sentinel-26377.conf 
port 26377 # 哨兵启动端口
bind: 0.0.0.0 # 开启远程连接
daemonize no  # 是否以后台启动
dir  ./data
sentinel monitor mymaster 192.168.42.137 6377 2  #  mymaster可以随便命令,192.168.42.137 6377 表示主的主机加端口,2表示哨兵选举谁当master时的数量,一般为哨兵数量的一半加1。我这里哨兵为3.所以算出来的值为2,.当有两个及以上的sentinel服务检测到master宕机,才会去执行主从切换的功能。
sentinel down-after-milliseconds mymaster 30000  # 多长时间没响应算master挂了,这里为30s
sentinel parallel-syncs mymaster 1 # 选取新的master时,一次有多少个开始同步数据,值越小,服务器负担越小
sentinel failover-timeout mymaster 180000 # 同步数据的超时时间,这里为18ssentinel-26378.conf  port 26378
bind: 0.0.0.0 # 开启远程连接
daemonize no
pidfile /var/run/redis-sentinel.pid
logfile ""
dir ./data
sentinel monitor mymaster 192.168.42.137 6377 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000sentinel-26379.conf
port 26379bind: 0.0.0.0 # 开启远程连接
daemonize no
pidfile /var/run/redis-sentinel.pid
logfile ""
dir ./data
sentinel monitor mymaster 192.168.42.137 6377 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000

12 Linux 系统安装MySQL

12.1 下载Linux 安装包

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

从前慢-各种工具的安装与卸载-风君子博客

12.2 安装MySQL

1) 卸载 centos 中预安装的 mysqlrpm -qa | grep -i mysqlrpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps2) 上传 mysql 的安装包alt + p -------> put  E:/test/MySQL-5.6.22-1.el6.i686.rpm-bundle.tar3) 解压 mysql 的安装包 mkdir mysqltar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /root/mysql4) 安装依赖包 yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6 libncurses.so.5 --setopt=protected_multilib=falseyum  update libstdc++-4.4.7-4.el6.x86_645) 安装 mysql-clientrpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm6) 安装 mysql-serverrpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm	

12.3 启动 MySQL 服务

service mysql startservice mysql stopservice mysql statusservice mysql restart

12.4 登录MySQL

mysql 安装完成之后, 会自动生成一个随机的密码, 并且保存在一个密码文件中 : /root/.mysql_secretmysql -u root -p 登录之后, 修改密码 :set password = password('cqm');授权远程访问 : grant all privileges on *.* to 'root' @'%' identified by 'cqm';
flush privileges;

12.5 MySQL主从复制

从前慢-各种工具的安装与卸载-风君子博客

# 0.架构规划192.168.202.201    master  主节点192.168.202.202    slave   从节点# 1.修改mysql的配置文件[root@localhost mysql]# vim /etc/my.cnf# 2.分别在配置文件中加入如下配置mysql(master):server-id=1log-bin=mysql-binlog-slave-updatesslave-skip-errors=allmsyql(slave):server-id=2log-bin=mysql-binlog-slave-updatesslave-skip-errors=all注意:两个机器的server-id不能一致

从前慢-各种工具的安装与卸载-风君子博客

# 3.重启mysql服务systemctl restart mysqld# 4.登录mysql执行如下命令检测配置是否生效SHOW VARIABLES like 'server_id';

从前慢-各种工具的安装与卸载-风君子博客

# 5.登录master节点执行如下命令show master status;

从前慢-各种工具的安装与卸载-风君子博客

# 6.登录从节点执行如下命令:change master to master_host='10.15.0.9',master_user='root',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=120;

从前慢-各种工具的安装与卸载-风君子博客

# 7.开启从节点start slave; stop  slave;

从前慢-各种工具的安装与卸载-风君子博客

# 8.查看从节点状态show slave status\G;************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 10.15.0.9Master_User: rootMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000001Read_Master_Log_Pos: 120Relay_Log_File: mysqld-relay-bin.000002Relay_Log_Pos: 283Relay_Master_Log_File: mysql-bin.000001Slave_IO_Running: YesSlave_SQL_Running: Yes注意:1.出现 Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 说名成功,2.如果在搭建过程出现错误,可以查看查看错误日志文件 cat /var/log/mysqld.log# 9.通过客户端工具进行测试# 10.关闭主从复制(在从节点执行)stop slave;

13 安装Mycat

# 1.下载mycathttp://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz# 2.解压mycattar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

从前慢-各种工具的安装与卸载-风君子博客

# 3.查看解压之后目录][root@localhost mycat]# ls总用量 12drwxr-xr-x. 2 root root  190 10月 14 22:58 bindrwxrwxrwx. 2 root root    6 3月   1 2016 catletdrwxrwxrwx. 4 root root 4096 10月 14 22:58 confdrwxr-xr-x. 2 root root 4096 10月 14 22:58 libdrwxrwxrwx. 2 root root    6 10月 28 2016 logs-rwxrwxrwx. 1 root root  217 10月 28 2016 version.txt

从前慢-各种工具的安装与卸载-风君子博客

# 4.移动到/usr目录mv mycat/ /usr/# 5.配置mycat中conf下的配置schema.xml

从前慢-各种工具的安装与卸载-风君子博客

	<!-- 定义MyCat的逻辑库  -->   <schema name="test_schema" checkSQLschema="false" sqlMaxLimit="100" dataNode="testNode"></schema><!-- 定义MyCat的数据节点 --><dataNode name="testNode" dataHost="dtHost" database="test" /><dataHost name="dtHost" maxCon="1000" minCon="10" balance="1"writeType="0" dbType="mysql" dbDriver="native" switchType="-1"  slaveThreshold="100"><heartbeat>select user()</heartbeat><!--写节点--><writeHost host="hostM1" url="192.168.28.128:3306" user="root"password="root"><!--从节点--><readHost host="hostS1" url="192.168.28.129:3306" user="root" password="root" /></writeHost></dataHost>
# 6.配置登陆mycat的权限server.xml

从前慢-各种工具的安装与卸载-风君子博客

<system><!-- 这里配置的都是一些系统属性,可以自己查看mycat文--><property name="defaultSqlParser">druidparser</property><property name="charset">utf8mb4</property>
</system><user name="root"><property name="password">root</property><property name="schemas">test_schema</property>
</user>
# 7.启动mycat./mycat console# 8.查看日志tail -f ../logs/mycat.log# 9.数据库连接配置,测试

14 Nginx

# 0.安装必要依赖yum install -y gcc pcre-devel zlib-devel# 1.下载Nginxhttp://nginx.org/en/download.html# 2.将Nginx上传到linux中,并解压缩tar -zxvf nginx-1.11.1.tar.gz# 3.查看Nginx安装目录[root@localhost nginx-1.11.1]# lsauto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src# 4.在Nginx安装目录中执行如下命令:(指定安装位置)./configure --prefix=/usr/nginx# 5.执行上述命令后,执行如下命令:make && make install# 6.编译完成后进入编译安装目录/usr/nginx目录中查看:[root@localhost nginx]# ls -l总用量 4drwxr-xr-x. 2 root root 4096 10月 14 21:17 confdrwxr-xr-x. 2 root root   40 10月 14 21:17 htmldrwxr-xr-x. 2 root root    6 10月 14 21:17 logsdrwxr-xr-x. 2 root root   19 10月 14 21:17 sbin# 7.启动nginx,进入nginx安装目录的sbin目录中执行:./nginx   # 8.在windows中浏览器访问,可以看到nginx欢迎页面:http://10.15.0.8:80/注意:关闭网络防火墙# 9.关闭nginx,进入nginx安装目录的sbin目录中执行:./nginx -s stop# 10.nginx配置文件在nginx安装目录的conf目录中:[root@localhost conf]# ls -l总用量 60-rw-r--r--. 1 root root 2656 10月 14 21:17 nginx.conf.......注意:nginx.conf为nginx的配置文件,可以在nginx.conf修改nginx默认配置

15 maven私服

私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,
目的是代理远程仓库及部署第三方构建。有了私服之后,当 
Maven 需要下载构件时,直接请求私服,私服上存在则下载
到本地仓库;否则,私服请求外部的远程仓库,将构件下载到
私服,再提供给本地仓库下载。Nexus是一个强大的Maven仓
库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。

从前慢-各种工具的安装与卸载-风君子博客

安装环境:1 操作系统:Windows 10 /Windows 72 nexus版本:nexus-3.9.0-01-win64(Nexus 专业版是需要付
费的,这里我们下载开源免费版 Nexus OSS)下载地址:https://www.sonatype.com/nexus-repository-oss

从前慢-各种工具的安装与卸载-风君子博客

解压过后,进入/nexus-3.9.1-01/bin目录下,以管理员身份打开
命令行:nexus /install ,该命令将会将Nexus Repository注册成为Windows服务。
运行nexus  /start 启动私服
打开浏览器,输出localhost:8081,出现如下界面,安装成功。补充:
nexus /install # 安装私服
nexus  /start # 启动私服
nexus  /uninstall # 卸载私服
nexus /stop # 停止私服

从前慢-各种工具的安装与卸载-风君子博客

16 Zookeeper

16.1 Zookeeper安装

a)	下载zookeeper的安装包

从前慢-各种工具的安装与卸载-风君子博客

b)	上传至linux系统中 并使用 tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz 解压缩
tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz
c)	解压缩zookeeper的tar包 重命名为zk便于操作,(可省略)
mv apache-zookeeper-3.6.2-bin zk
d)	修改zk的conf目录下的zoo_simple.cfg,修改完后,重命名为zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zkData  ----保存snapshot文件的路径
clientPort=2181各项参数说明:
tickTime:配置单元时间。单元时间是ZooKeeper的时间计算单元,
其他的时间间隔都是使用tickTime的倍数来表示的。initLimit:节点的初始化时间。该参数用于Follower(从节点)的启动,
并完成与Leader(主节点)进行数据同步的时间。Follower节点在启
动过程中,会与Leader节点建立连接并完成对数据的同步,从而确
定自己的起始状态。Leader节点允许Follower节点在initLimit时
间内完成这项工作。该参数默认值为10,表示是参数tickTime值的10倍。syncLimit:心跳最大延迟周期。该参数用于配置Leader节点和
Follower节点之间进行心跳检测的最大延时时间。在ZK集群运
行的过程中,Leader节点会通过心跳检测来确定Follower节点是
否存活。如果Leader节点在syncLimit时间内无法获取到Follower
节点的心跳检测响应,那么Leader节点就会认为该Follower节点已
经脱离了和自己的同步。该参数默认值为5,表示是参数tickTime值
的5倍。dataDir:是zookeeper持久化数据存放的目录。
myid文件处于此目录下。dataLogDir:日志目录选项,如果没有设置该参数,
默认将使用和dataDir相同的设置。clientPort:zookeeper监听客户端连接的端口,默认是2181。e)	启动zk,在zk的bin目录下,运行zkServer.sh
./zkServer.sh start /usr/local/zookeeper/conf/zoo.cfg
ps: ./zkServer.sh help 可以查看服务器端所有可以执行的指令补充: 
# 启动服务端
$ bin/zkServer.sh start# 查看状态
$ bin/zkServer.sh status# 停止
$ bin/zkServer.sh stop# 重启
$ bin/zkServer.sh restart
f)	使用jps查看启动是否成功
46193 QuorumPeerMain # 表示成功
g)	启动客户端连接到zk
./zkCli.sh -server 192.168.0.220:2181
ps:  可以通过 ./zkCli.sh help 查看客户端所有可以执行的指令

16.2 Zookeeper集群搭建

1、在每台机器zookeeper/conf目录下创建三个zk配置文件,
为 zoo.cfg(可以将zookeeper里面的zoo_sample.cfg改为zoo.cfg,zookeeper
会按这个文件进行启动)
各个内容为(每个文件都是这个内容):
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zkdata
clientPort=2181
server.1=192.168.42.129:2888:3888
server.2=192.168.42.130:2888:3888
server.3=192.168.42.131:2888:3888
server.4=192.168.42.132:2888:3888
server.5=192.168.42.133:2888:38882、在每台机器上创建数据存放的目录,存放的路径为
dataDir=/usr/local/zookeeper/zkdata(跟你上面写的内容一样)3、分别在每台机器上(dataDir=/usr/local/zookeeper/zkdata)
创建myid文件myid的内容分别是
server.1=192.168.42.129:2888:3888中的数字1,
server.2=192.168.42.130:2888:3888中的数字2,
server.3=192.168.42.131:2888:3888中的数字3,
server.4=192.168.42.132:2888:3888中的数字4,
server.5=192.168.42.133:2888:3888中的数字5ps: server.X :x为服务器的唯一标识。
192.168.42.129:服务器所在的ip地址
2888:数据同步使用的端口号
3888:选举使用的端口号4、分别启动各个zk服务器(进入zookeeper的bin目录)
./zkServer.sh  start  /usr/local/zookeeper/conf/zoo.cfg (这里可以省略 /usr/local/zookeeper/conf/zoo.cfg)5、查看各个zk服务器的角色信息(进入zookeeper的bin目录)
./zkServer.sh  status /usr/local/zookeeper/conf/zoo.cfg  (这里可以省略 /usr/local/zookeeper/conf/zoo.cfg)6、客户端连接任意zk服务器进行节点操作(进入zookeeper的bin目录)
./zkCli.sh  -server  192.168.42.129:2181(ip地址加端口)(连接本机则./zkCli.sh也行)7.停止zk服务器(进入zookeeper的bin目录)
./zkServer.sh stop  ./usr/local/zookeeper/conf/zoo.cfg  (这里可以省略 /usr/local/zookeeper/conf/zoo.cfg)
想要获取该该课程markdown笔记(脑图+笔记)。可以扫描以下
微信公众号二维码。或者搜索微信公众号-Java大世界。回复
工具即可获取笔记获取方式。

从前慢-各种工具的安装与卸载-风君子博客