常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)

常用软件运维部署篇(六)–Nacos 2.0.2(普通用户)

常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第1张图片
Nanos 2.0.2 下载地址:
https://pan.baidu.com/s/1jOgpgRMA_Lx6XwgbYp2yoA
提取码:JKGD

1.1. 安装Nacos 2.0.2(普通用户)

1.1.1. 安装

1.将下载好的nacos-server-2.0.2.tar.gz上传到 /home/lamp/soft/ 目录下
2.解压 tar -zxvf nacos-server-2.0.2.tar.gz
3.进入 /nacos/bin 目录,修改startup.sh 启动文件

单机模式:将 cluster 改为:standalone
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第2张图片
JAVA_HOME:注释掉原来的JAVA_HOME定义,重新添加实际的
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第3张图片

1.1.2. 启动服务

startup.sh

 
查看进程
ps -ef | grep nacos

1.1.3. 端口

常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第4张图片

1.1.4. 设置开机自启动(普通用户)

1.1.4.1. 添加nacos.service文件

vi /lib/systemd/system/nacos.service

[Unit]
Description=nacos
After=network.target


[Service]
Type=forking
ExecStart=/home/lamp/soft/nacos/bin/startup.sh
ExecReload=/home/lamp/soft/nacos/bin/shutdown.sh
ExecStop=/home/lamp/soft/nacos/bin/shutdown.sh
PrivateTmp=true
User=lamp
Group=wheel

[Install]
WantedBy=multi-user.target

1.1.4.2. 加入Nacos服务

systemctl daemon-reload

1.1.4.3. 设置开机自启

systemctl enable nacos.service

1.1.5. 常用命令

systemctl start nacos.service

systemctl stop nacos.service

1.1.6. 运行报错

常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第5张图片

错误原因
nacos是有java开发而成,在启动的时候需要JDK版本1.8,在系统环境中已经配置了JAVA_HOME,但是在service脚本中,会从(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin这些路径中寻找javac,只需要将我们自己的java目录软链接到/usr/bin/java即可

错误解决
查看java安装位置

在这里插入图片描述

 建立软链接
ln -s /home/lamp/soft/jdk1.8.0_181/bin/javac  /usr/bin/javac

如果还是无法启动找不到javac,将javac设置为可执行
chmod +x /home/lamp/soft/jdk1.8.0_181/bin/javac

1.1.7. 防火墙端口开放限制

若有远程调测的需求,则需要在阿里云平台的安全组中开放nacos端口8848,并限制指定的IP才能访问,避免黑客攻击。
在这里插入图片描述

1.1.8. 浏览器访问nacos

默认端口:8849

http://8.152.132.18:8848/nacos/index.html

默认账户密码:nacos/nacos

1.1.9. 结合业务添加数据库

1.1.9.1. 修改 conf/application.properties 文件, 增加数据库配置

vim conf/application.properties
spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3806/lamp_nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

db.user=root
db.password=65dw@1~21!;rt*&

在这里插入图片描述

1.1.9.2. 创建数据库

CREATE DATABASE `lamp_nacos` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

1.1.9.3. 向lamp_nacos库中导入数据库脚本:

H:\项目服务器部署\数据库\nacos-mysql.sql
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第6张图片

1.1.9.4. 重新启动nacos服务

systemctl restart nacos.service

1.1.10. 安全加固

1.1.10.1. 修改原来的默认nacos密码

一般安装nacos后登录密码默认都是nacos/nacos,但是在正式的生成环境这样肯定是不安全的。
nacos底层源码是BCryptPasswordEncoder加密器加密。
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第7张图片
我们在Java代码中使用 BCryptPasswordEncoder加密器加密

(1)导入Security的依赖
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第8张图片
(2)加密得到密文
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第9张图片
(3)修改nacos用户的密码为新生成的密码串
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第10张图片
(4)重新登录即可
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第11张图片

1.1.10.2. 开启权限认证

在之前搭建的项目中,Nacos注册服务时,没有开启权限认证,实际上线后,如果别人知道了Nacos地址,随便注册一个相同服务名的实例,则会导致大问题出现,所以开启权限认证及配置规范很重要。

(1)修改Nacos配置文件,开启权限认证,启动nacos
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第12张图片
(2)重启nacos

systemctl restart nacos.service

重新登录nacos,账号为空时,将提示权限认证,必须使用账号登录。
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第13张图片

1.1.11. 配置文件导入Nacos

1.1.11.1. 新建命名空间

登录nacos控制台, 访问 命名空间 -> 新建命名空间 分别创建正式环境和开发环境的命名空间

正式环境
命名空间ID:5756d-c089-44456547657567f14new
命名空间名称:lamp-pro-prod
描述:lamp-pro-prod(正式环境)

开发环境
命名空间ID:6bd56-f94e-4832-9cf56565e-fe565635b78c68f7
命名空间名称:lamp-pro-dev
描述:lamp-pro-dev(开发环境)

1.1.11.2. 修改nacos IP 和域名映射

修改 src/main/filters/config-dev.properties 中的 nacos.ip 为你nacos的ip, 或者在hosts文件配置映射.
vi /etc/hosts

# 映射的ip 一定是你nacos的ip
127.0.0.1 lamp.com

常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第14张图片
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第15张图片

1.1.11.3. 配置日志路径

修改 src/main/filters/config-dev.properties 中的logging.file.path 为本机已经创建好的且 当前用户拥有权限的路径。

# 日志存储路径
logging.file.path=/home/lamp/soft/nacos/projects-logs/prod

在这里插入图片描述

1.1.11.4. 导入配置文件

nacos_config_export_20220421152900.zip 压缩包进行导入
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第16张图片
(1)在 nacos 中修改 mysql.yml 的IP、 端口、 账号密码(lamp.mysql.xxx)以及多数据源类型(lamp.database.multiTenantType)

lamp:
mysql:
ip: 8.152.132.31
port: 3806
driverClassName: com.mysql.cj.jdbc.Driver
database: lamp_ds_c_defaults
username: 'root'
password: '65dw3@1~32221!;rt*&'
database: # 字段介绍参考 DatabaseProperties
# COLUMN模式中隔离 租户 的列名
tenantIdColumn: '`created_org_id`'
multiTenantType: DATASOURCE_COLUMN

(2)修改 nacos 中 redis.yml 的IP、 端口、 账号密码。

lamp:
cache:
type: REDIS
serializerType: ProtoStuff
cacheNullVal: true
redis:

# ip: 10.10.10.31
ip: 8.152.132.31
port: 6739
password: '#@d3~19238r%¥&g3dge2434!~'
database: 0

(3)修改 nacos 中 rabbitmq.yml 的IP、 端口、 账号密码

lamp:
rabbitmq:
# 若系统中有除了zipkin之外的地方使用了mq ,则一定不能设置成false
enabled: true
ip: 8.152.132.31
port: 5672
username: 'admin'
password: '*4delAE$23%31iu1u'

1.1.12. 添加新用户及授权

1.1.12.1. 添加新用户nacos_seata

在Java代码中使用 BCryptPasswordEncoder加密器加密密码
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第17张图片
并把新用户nacos_seata添加到users表中
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第18张图片
在roles表中赋予权限
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第19张图片

1.1.12.2. 添加用户注意事项

在java代码中,如果nacos用户的密码含有特殊字符,例如%@#¥&等,将会自动被转义,因此尽量新增新的用户来提供给不同业务使用,已确保安全性。

1.1.13. 常见问题

1.1.13.1. 导入配置文件失败,报未读取到合法数据

常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第20张图片
解决办法:查看nacos日志,发现是权限问题,因为nacos是使用普通用户lamp启动的,所以没有权限访问/work/Tomcat路径
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第21张图片
由于nacos是使用内置的tomcat,默认位置是在/work目录下,因此修改/work的权限即可

chmod 757 -R work/

在这里插入图片描述
重新上传配置就可以上传成功了。
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第22张图片
接下来将持续更新内容。欢迎大家关注公众号,点击 #软件运维部署 话题即可继续阅读 常用软件运维部署篇 相关内容。若需要文章中的源码或有疑问,可以在公众号中联系客服免费获取源码或沟通疑问或联系QQ:2833536029
常用软件运维部署篇(六)--Nacos 2.0.2(普通用户)_第23张图片

你可能感兴趣的:(常用软件运维部署篇,运维,java,docker,linux,服务器)