ps: 我使用的是docker配置nginx、nacos、mysql 步骤有点复杂 作此记录
Mysql配置
docker pull mysql:5.7
docker run --name mysql5.7 -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
--name取别名
-d后台运行
-p 把容器的3306端口与主机3306端口做映射
-e 传递环境变量 MYSQL_ROOT_PASSWORD=123456设置mysql密码
mysql -uroot -p123456
默认root用户名
Nacos配置
docker pull nacos/nacos-server
mkdir -p /usr/etc/nacos
docker run --name nacos -d -p 8848:8848 nacos/nacos-server
docker cp [容器id/容器别名]:/home/nacos/conf /usr/etc/nacos
1、application.properties
`
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.0.113:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
`
2、cluster.conf
`
192.168.0.113:3333
192.168.0.113:4444
192.168.0.113:5555
`
docker run --name nacos-3333-pay-cloud -d -p 3333:8848 -v /usr/etc/nacos/conf/:/home/nacos/conf -e JVM_XMS=256m -e JVM_XMX=512m -e MYSQL_SERVICE_PORT=3306 -e NACOS_SERVER_IP=192.168.0.113 nacos/nacos-server:1.3.2
docker run --name nacos-4444-pay-cloud -d -p 4444:8848 -v /usr/etc/nacos/conf/:/home/nacos/conf -e JVM_XMS=256m -e JVM_XMX=512m -e MYSQL_SERVICE_PORT=3306 -e NACOS_SERVER_IP=192.168.0.113 nacos/nacos-server:1.3.2
docker run --name nacos-5555-pay-cloud -d -p 5555:8848 -v /usr/etc/nacos/conf/:/home/nacos/conf -e JVM_XMS=256m -e JVM_XMX=512m -e MYSQL_SERVICE_PORT=3306 -e NACOS_SERVER_IP=192.168.0.113 nacos/nacos-server:1.3.2
-v 挂载目录
ps:如果出现启动容器后 容器状态为exited(1) 有可能是虚拟内存不足引起的
遇到一个问题:nacos一直启动不成功
用docker logs nacos-3333-pay-cloud查看日志得知nacos找不到mysql端口号
启动时使用 -e MYSQL_SERVICE_PORT=3306即可正常启动
Nginx配置
docker pull nginx
docker run -d nginx
docker cp nginx:/etc/nginx /usr/etc
`
upstream cluster{
server 192.168.0.113:3333;
server 192.168.0.113:4444;
server 192.168.0.113:5555;
}
server {
listen 1111;
listen [::]:80;
server_name localhost;
location / {
proxy_pass http://cluster
}
`
docker run --name nginx-1111-pay-cloud -d -p 1111:1111 -v /usr/etc/nginx/conf.d:/etc/nginx/conf.d nginx
测试
至此,配置就完成了。 通过192.168.0.113:1111/nacos/#/login访问成功~
新建工程 在application.yml中配置
spring:
cloud:
nacos:
discovery:
server-addr: 192.168.0.113:1111
这个配置客户端报错 但nacos后台可以看见注册的实例 也可以拿到nacos上的配置信息…
failed to req API:/nacos/v1/ns/instance after all servers([192.168.0.113:1111]) tried:
failed to req API:192.168.0.113:1111/nacos/v1/ns/instance. code:500 msg:
java.net.SocketTimeoutException: Read timed out
究其原因 再研究研究把
|