docker安装容器
docker安装 elasticsearch kibana
docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2
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
docker run --name kibana --net mynetwork -e ELASTICSEARCH_HOSTS=http://172.18.0.2:9200 -p 5601:5601 -d kibana:7.4.2
注意:Docker安装es7.6和kibana7.6(并解决Unable to revive connection: http://192.168.75.128:9200/的问题)
elasticsearch安装ik分词
//安装wget命令
yum install wget
//下载分词器包
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip
//安装解压缩命令
yum install unzip
//解压缩包
unzip elasticsearch-analysis-ik-7.4.2.zip
//查看文件权限
pwd
//开启全部权限
chmod -R 777 ik/
java后端整合elasticsearch client
1.导入依赖
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.4.2</version>
</dependency>
注意:springboot在父依赖指定了elasticsearch的版本,在这里需要修改成自己当前elasticsearch的版本
<elasticsearch.version>7.4.2</elasticsearch.version>
2.编写配置
//向spring容器中注入elasticsearch的bean
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(
new HttpHost("localhost", 9200, "http"),
new HttpHost("localhost", 9201, "http")));
3.测试elasticsearch的使用
Docker安装nginx
docker pull nginx
docker run --name nginx -p 80:80 -d nginx
docker container cp nginx:/etc/nginx .
mv ningx conf
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
nginx搭建域名
1.搭建域名访问-(反向代理配置)
2.搭建域名访问-(负载均衡到网关)
首先在nginx.config文件中添加上游服务器
upstream myapp1 {
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
然后在自己cp default.config juyi.config配置自己的上游服务器,和域名
重启nginx
配置网关
注意:nginx在代理给网关的时候会丢失host信息,设置请求头的host信息,只有给上游转发的时候配置加上head,相当于路由到网关会加头,其他没设置的路径默认都不加
proxy_set_header Host $host
gateway配置的时候一定要写在最后面,网关一进来,就算是发的api请求,由于优先匹配到域名,所以直接路由给商品服务,就会去商品服务里面找api全路径,商品服务真正的是要把api商品服务截串的,相当于就把下面的配置禁用掉了,导致没有截串 所有的api请求,发生404
Docker安装redis
docker pull redis
//redis的conf目录下可能不存在redis.conf文件,需要先创建
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
//直接进去redis客户端。
docker exec -it redis redis-cli
//默认是不持久化的。在配置文件中输入appendonly yes,就可以aof持久化了。修改完docker restart redis,docker -it redis redis-cli
vim /mydata/redis/conf/redis.conf
//插入下面内容
appendonly yes
保存
docker restart redis
Docker安装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
注意:4369,25672(ErLang发现&集群端口)
5672,5671(AMQP端口)
15672(web管理后台端口)
61613,61614(STOMP协议端口)
Docker安装mysql
sudo 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/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
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/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:latest
注意:4369,25672(ErLang发现&集群端口)
5672,5671(AMQP端口)
15672(web管理后台端口)
61613,61614(STOMP协议端口)