---------Shicifangday01-----------------
(1) 端口
shicifang-base 端口号:9001
shicifang-recruit 端口号:9002
shicifang-qa 端口号:9003
shicifang-article 端口号:9004
shicifang-gathering 端口号:9005
shicifang-spit 端口号:9006
shicifang-search 端口号:9007
shicifang-user 端口号:9008
shicifang-sms 端口号:9009
shicifang-friend 端口号:9010
shicifang-manager 端口号:9011
shicifang-web 端口号:9012
shicifang-eureka 端口号:8861
---------Shicifangday04-----------------
(2) 远程连接MongoDB
mongo 192.168.26.128
---------Shicifangday05-----------------
---------windows部分--------------------
(3) 启动本地elasticsearch服务
cmd 进入 F:\env\elasticsearch-5.6.8\bin 目录后输入 elasticsearch 命令即可启动本地服务
浏览器地址栏输入:http://127.0.0.1:9200 测试本地服务是否启动成功
(4) 新建索引_index和_type
post请求: http://127.0.0.1:9200/dwq_index/test
body:
{
"title":"dwq测试",
"content":"我来测测是否成功!"
}
(5)查询所有索引的数据
get请求: http://127.0.0.1:9200/dwq_index/test/_search
(6)匹配查询
get请求: http://127.0.0.1:9200/dwq_index/test/_search?q=title:测试
模糊查询用 *代 替任意字符
(7)使用elasticsearch-head插件图形化界面来管理Elasticsearch
1. 安装node.js
2. 安装npm
3. 安装cnpm,利用淘宝镜像服务
npm install ‐g cnpm --registry=https://registry.npm.taobao.org
4. 安装Grunt项目构建工具
npm install -g grunt-cli
5. 安装依赖
cmd 进入 F:\env\elasticsearch-head 目录下输入 cnpm install 命令
6. 启动服务
grunt server
7.head插件连接elasticsearch
浏览器地址栏输入: http://localhost:9100
修改 F:\env\elasticsearch-5.6.8\config\elasticsearch.yml下的文件添加允许跨域命令
http:
cors:
enabled: true
allow-origin: "*"
连接 http://localhost:9200
(8) 配置IK分词器
1. 解压elasticsearch-analysis-ik-5.6.8.zip,将解压后的 elasticsearch 文件夹重命名文件夹为 ik
2. 将 ik 文件夹拷贝到 F:\env\elasticsearch-5.6.8\plugins 目录下。
3. 重启本地elasticsearch服务,即可加载 IK 分词器
4. 测试ik分词器是否可用
浏览器地址栏输入: http://127.0.0.1:9200/_analyze?analyzer=ik_smart&pretty=true&text=我是程序员 ---最少切分
http://127.0.0.1:9200/_analyze?analyzer=ik_max_word&pretty=true&text=我是程序员 ---最细切分
(9) Logstash与MySQL数据同步
1. 在logstash-5.6.8安装目录下新建文件夹 mysqletc
2. 文件夹下创建mysql.conf, 内容如下:
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://192.168.26.128:3306/shicifang_article?characterEncoding=UTF8"
jdbc_user => "root"
jdbc_password => "123456"
jdbc_driver_library => "F:\env\el-logstash-5.6.8\mysqletc\mysql-connector-java-5.1.46.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
statement => "select id,title,content,state from tb_article"
#分、时、天、月、年,每30分钟触发一次
schedule => "30 * * * *"
}
}
output {
elasticsearch {
hosts => "localhost:9200"
index => "shicifang"
document_id => "%{id}"
document_type => "article"
}
stdout {
codec => json_lines
}
}
3. 执行logstash命令
cmd 进入 F:\env\el-logstash-5.6.8\bin 下输入 logstash -f ../mysqletc/mysql.conf
---------linux部分--------------------
(10) linux系统调优
vi /etc/security/limits.conf 追加以下内容
* soft nofile 65536
* hard nofile 65536
vi /etc/sysctl.conf 追加以下内容
vm.max_map_count=655360
(11) docker创建elasticsearch容器并挂载目录(宿主机:容器目录)
docker run -di --name=shicifang_elasticsearch -p 9200:9200 -p 9300:9300 -v /home/shicifang/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml --restart=always elasticsearch:5.6.8
浏览器地址栏输入: http://192.168.26.128:9200 测试远程服务是否启动成功
(12) IK分词器安装
1. 快捷键alt+p进入sftp , 将ik文件夹上传至宿主机
put -r F:\env\elasticsearch-5.6.8\plugins\ik
2. 在宿主机中将ik文件夹拷贝到容器内 /usr/share/elasticsearch/plugins 目录下。
docker cp ik shicifang_elasticsearch:/usr/share/elasticsearch/plugins
3. 重新启动容器,即可加载IK分词器
docker restart shicifang_elasticsearch
(13) elasticsearch-head插件安装
1. 修改 /home/shicifang/elasticsearch.yml下的文件添加以下内容
http.host: 0.0.0.0
transport.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
2. 重新启动elasticseach容器
3. 创建head容器
docker run -di --name=elasticsearch_head -p 9100:9100 --restart=always mobz/elasticsearch-head:5
4. 浏览器地址栏输入: http://192.168.26.128:9100 连接 http://192.168.26.128:9200
---------Shicifangday06-----------------
(14) windows环境下安装RabbitMQ
1. 下载并安装 Eralng 配套软件中已提供otp_win64_20.2.exe (以管理员身份运行安装)
2. 下载并安装rabbitmq 配套软件中已提供rabbitmq-server-3.7.4.exe。双击安装,注意不要安装在包含中文和空格的目录下!安装后window服务中就存在rabbitMQ了,并且是启动状态。
3. 安装管理界面(插件)进入rabbitMQ安装目录的sbin目录,输入命令 rabbitmq-plugins enable rabbitmq_management
4. 重启服务中的rabbitMQ
5. 打开浏览器,地址栏输入http://127.0.0.1:15672 ,即可看到管理界面的登陆页 username: guest; password: guest
(15) docker环境下的安装RabbitMQ
1. 下载镜像 docker pull rabbitmq:management
2. 创建容器,rabbitmq需要有映射以下端口: 5671 5672 4369 15671 15672
docker run -di --name=shicifang_rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 --restart=always rabbitmq:management
3. 打开浏览器,地址栏输入http://192.168.26.128:15672, 即可看到管理界面的登陆页 username: guest; password: guest
---------Shicifangday09-----------------
(16) 创建私有仓库容器
1. docker run -di --name=registry --restart=always -p 5000:5000 registry
2. 修改 daemon.json (/etc/docker/daemon.json) 添加以下内容,保存退出
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
"insecure‐registries":["192.168.187.128:5000"] //作用是让docker信任该私有仓库地址
}
3. 重启docker服务
systemctl restart docker
(17) 使用DockerMaven插件自动打包并发布到私有仓库
1. 修改宿主机的docker配置,让其可以远程访问
vi /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
2. 刷新配置,重启服务
systemctl daemon-reload
systemctl restart docker
docker start registry
3. pom文件中加入插件
<build>
<finalName>app</finalName>
<plugins>
<!--spring-boot打包插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker的maven插件-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>192.168.26.128:5000/${project.artifactId}:${project.version}</imageName>
<baseImage>java:8</baseImage>
<entryPoint>["java", "-jar","/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<dockerHost>http://192.168.26.128:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>
4. IDEA-->Terminal下执行打包命令: mvn clean package docker:build -DpushImage //docker:build打包,-DpushImage传到私有仓库
(18) 创建shicifang-eureka容器
docker run -di --restart=always -p 8861:8861 --name=shicifang-eureka 192.168.26.128:5000/shicifang-eureka:1.0-SNAPSHOT
打开浏览器,地址栏输入http://192.168.26.128:8861 即可打开eureka可视化界面
(19) 创建gogs容器
1. docker run -di --name=shicifang_gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data --restart=always gogs/gogs:latest
2. 打开浏览器,在地址栏输入http://192.168.26.128:3000 会进入首次运行安装程序页面
3. 提交本地代码到Git仓库, VCS->Git->Commit Directory
4. 从Git仓库push到http://192.168.26.128:3000/itcast/shicifang.git ; user: admin, password: 123456
(20) 安装Jenkins
1. 安装jdk,将 jdk-8u171-linux-x64.rpm 上传到服务器上, 使用rpm方式执行安装命令: rpm -ivh jdk-8u171-linux-x64.rpm ,根目录为: /usr/java/jdk1.8.0_171-amd64
2. 下载Jenkins
a) jenkins包下载地址 https://pkg.jenkins.io/redhat-stable/
b) alt+p, put将jenkins-2.138.4-1.1.noarch.rpm上传到服务器上
c) rpm -ivh jenkins-2.138.4-1.1.noarch.rpm
d) 修改 vi /etc/sysconfig/jenkins配置文件, 修改用户和端口: JENKINS_USER="root"; JENKINS_PORT="8088"
e) 启动服务: systemctl start jenkins
f) 浏览器访问http://192.168.26.128:8088
g) 修改 vi /var/lib/jenkins/updates/default.json 下的配置 将http://www.google.com 改为 http://www.baidu.com
h) 修改 vi /var/lib/jenkins/hudson.model.UpdateCenter.xml 的下载插件源地址 https://updates.jenkins.io/update-center.json 为国内备用地址 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
i) 重启服务 systemctl restart jenkins
j) 从cat /var/lib/jenkins/secrets/initialAdminPassword 中获取初始密码串填入Administrator password输入框
k) jenkins用户名: admin, 密码: 123456 ,全名: itcast
(21) Jenkins构建shicifang-eureka任务
1. 源码管理: http://192.168.26.128:3000/dengwenqing/shicifang.git
2. Build:shicifang-parent/shicifang-eureka/pom.xml
clean package docker:build
(22) 创建shicifang-eureka容器 docker run -di --restart=always -p 8861:8861 --name=shicifang-eureka shicifang-eureka:1.0-SNAPSHOT
(23) 创建shicifang-base容器 docker run -di --restart=always -p 9001:9001 --name=shicifang-base shicifang-base:1.0-SNAPSHOT
(24) 创建shicifang-recruit容器 docker run -di --restart=always -p 9002:9002 --name=shicifang-recruit shicifang-recruit:1.0-SNAPSHOT
(25) 创建shicifang-qa容器 docker run -di --restart=always -p 9003:9003 --name=shicifang-qa shicifang-qa:1.0-SNAPSHOT
(26) 创建shicifang-article容器 docker run -di --restart=always -p 9004:9004 --name=shicifang-article shicifang-article:1.0-SNAPSHOT
(27) 创建shicifang-gathering容器 docker run -di --restart=always -p 9005:9005 --name=shicifang-gathering shicifang-gathering:1.0-SNAPSHOT
(28) 创建shicifang-spit容器 docker run -di --restart=always -p 9006:9006 --name=shicifang-spit shicifang-spit:1.0-SNAPSHOT
(29) 创建shicifang-search容器 docker run -di --restart=always -p 9007:9007 --name=shicifang-search shicifang-search:1.0-SNAPSHOT
(30) 创建shicifang-user容器 docker run -di --restart=always -p 9008:9008 --name=shicifang-user shicifang-user:1.0-SNAPSHOT
(31) 创建shicifang-sms容器 docker run -di --restart=always -p 9009:9009 --name=shicifang-sms shicifang-sms:1.0-SNAPSHOT
(32) 创建shicifang-friend容器 docker run -di --restart=always -p 9010:9010 --name=shicifang-friend shicifang-friend:1.0-SNAPSHOT
(33) 创建shicifang-manager容器 docker run -di --restart=always -p 9011:9011 --name=shicifang-manager shicifang-manager:1.0-SNAPSHOT
(34) 创建shicifang-web容器 docker run -di --restart=always -p 9012:9012 --name=shicifang-web shicifang-web:1.0-SNAPSHOT