首页 > 其他分享 >Nacos 的单机部署搭建

Nacos 的单机部署搭建

时间:2023-05-07 21:22:24浏览次数:47  
标签:单机 app 端口 nacos Nacos systemctl 安装 搭建

Nacos 是阿里巴巴的产品,主要用来做微服务的注册中心和配置中心,界面美观,功能强大,在国内非常受欢迎。

本篇博客主要介绍如何搭建单机版的 Nacos ,为编写后续的博客做准备。后面也会介绍 Nacos 集群的搭建,搭建过程都很简单。

官方建议使用 2.x 的版本,本篇博客将以当前最新的 2.2.2 版本为例进行搭建,分别展示 Windows 和 Linux 的搭建过程。


一、安装包下载

访问 Nacos 的官网:http://nacos.io/zh-cn/index.html 点击【前往 GitHub】进入 GitHub 页面。

在 GitHub 页面的右侧点击 Release 进入 https://github.com/alibaba/nacos/releases 下载页面。

image

nacos-server-2.2.2.zip 用于 windows 安装。

nacos-server-2.2.2.tar.gz 用于 Linux 安装,本篇博客使用 CentOS7 进行安装。

把这两个安装包下载下来。Nacos 的安装非常简单,解压缩就相当于安装。


二、Windows 安装

首先需要安装 jdk ,建议版本是 1.8 或更高版本,这里省略了 jdk 的安装介绍。

本篇博客将 nacos-server-2.2.2.zip 解压缩到 D:\SoftWareInstall 目录下,建议文件夹不要包含中文、空格等,不要自己给自己找麻烦。解压后 SoftWareInstall 下就会有一个 nacos 的文件夹,其包含的文件如下:

image

配置文件在 conf 文件夹中,进入 conf 文件夹,内容如下:

image

对于 nacos 来说,默认情况下,使用自己内嵌的 derby 数据库,这是一款使用 Java 编写的开源数据库,具体介绍自己可以百度。如果仅仅是做开发测试,那就使用它吧。对于生产环境,还是老老实实的使用 Mysql 数据库存储 Nacos 的数据比较好。

在 mysql 上创建一个数据库,名称就可以随便取名,本篇博客取名为 nacos,然后运行上图中 conf 文件夹下的 mysql-schema.sql 文件,初始化相关的数据库表,结果如下所示:

image

打开 conf 文件夹下的 application.properties 文件(这个是 nacos 的配置文件),对 nacos 进行配置。

由于 application.properties 文件内容太多,这里就不列出来了,最主要关注 5 个配置项:

# 这个是 nacos 的启动端口,默认就是 8848,这里不做更改
# 需要注意的是 nacos 2.0 版本以上,新增了 grpc 端口,是在启动端口上加 1000,也就是 9848
# 防火墙需要把 8848 和 9848 端口都进行开放,少开放一个端口,就会导致 Java 程序连接 nacos 时有报错信息
server.port=8848

# 下面是配置 nacos 有关连接 mysql 的一些参数配置
# 由于本篇博客没有采用读写分离,只有一个 mysql 库,所以 db.num=1
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.216.128:3306/nacos?characterEncoding=utf8
db.user.0=root
db.password.0=root

# 该配置项决定访问 nacos 时是否账号密码认证,默认值是 false,强烈建议修改为 true
nacos.core.auth.enabled=true

# 下面这俩配置项,其实没啥用,没什么作用,但是其值不能空着,否则 nacos 无法正常工作。
# 默认值为空字符串,随便填写一个值就行
nacos.core.auth.server.identity.key=jobs
nacos.core.auth.server.identity.value=888

# 这个配置项,我也没有发现有什么用,默认值为空字符串,但是其值不能空着,否则 nacos 无法正常工作。
# 找一个在线生成 base64 字符串的网站,随便输入一个拥有32个字符组成的字符串,生成 base64 字符串,填写到这里即可。
nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=

然后使用命令行窗口,进入 D:\SoftWareInstall\nacos\bin 目录下,运行以下命令启动 nacos

# -m 表示 mode 模式,standalone 表示单机启动。
# 默认采用集群的方式启动,因此如果直接运行 startup.cmd 表示集群启动
startup.cmd -m standalone

image

因为 nacos 是部署在我本机的 windows 上,因此只需要访问 http://loacalhost:8848/nacos/index.html 即可。

登录 nacos 网站的默认账号和密码都是 nacos

image


三、将 nacos 安装成 Windows 服务

nssm.exe 的下载地址为:http://www.nssm.cc/download

当前最新版本是 2.24,下载完成后,解压缩会发现有分为 32 位和 64 位,
我的电脑是 64 位,因此我将 64 位的 nssm.exe 复制到 nexus-3.48.0-01 的 bin 目录下(D:\SoftWareInstall\nexus\nexus-3.48.0-01\bin)。

然后打开控制台,将 nssm.exe 拖动控制台窗口,后面跟上 install 参数,运行命令:

nssm.exe install

image

弹出如下窗口,然后录入相关的信息:

image

Application Path:填写 startup.cmd 的绝对路径。

Startup directory:这个是 nacos 的启动目录,自动填充到了 nacos 所在的 bin 目录即可。

Arguments:启动时指定的参数,这里填写 -m standalone 即可。

Service name:服务的名字,这个名字会显示在 Windows 服务中,这里取名为 NacosService。

以上参数填写好后,点击 Install service 即可。安装成功后,到打开 服务 管理器,启动服务即可。

image


四、CentOS7 安装

在 CentOS7 上安装,跟 Windows 相同的地方是:解压缩,修改配置文件内容,因此下面就可以简略介绍了。

首先还是得先安装 jdk ,版本在 1.8 或更高版本,这里省略了 jdk 的安装介绍。

在根目录创建一个 app 文件夹:mkdir /app

将安装包上传到 /app 目录下,然后进行解压缩:tar -zxvf nacos-server-2.2.2.tar.gz

这样在 /app 目录下就会多出一个 nacos 目录,然后就可以删除安装包了:rm -rf nacos-server-2.2.2.tar.gz

修改 nacos 的配置文件:vim /app/nacos/conf/application.properties

具体修改的内容,跟上面的 windows 安装中修改的内容,一模一样

然后将 nacos 安装为 linux 的服务,这样后续方便 nacos 后续的维护操作,进入系统服务目录:cd /etc/systemd/system

创建一个 nacos.service 的文件:touch nacos.service

编辑 nacos.service 文件:vim nacos.service 输入以下内容:

[Unit]
Description=Nacos
After=syslog.target network.target
 
[Service]
Type=forking
Environment='JAVA_HOME=/app/jdk1.8'
ExecStart=/app/nacos/bin/startup.sh -m standalone
ExecStop=/app/nacos/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

保存退出后,只要服务的文件有变化,就需要运行命令:systemctl daemon-reload

然后就可以运行 systemctl start nacos 启动 nacos 服务。

为了能够让 nacos 能够开机启动,运行 systemctl enable nacos 即可。

对 nacos 的常用操作命令,主要如下:

# 启动 nacos 服务
systemctl start nacos
# 停止 nacos 服务
systemctl stop nacos
# 重启 nacos 服务
systemctl restart nacos
# 让 nacos 服务开机启动
systemctl enable nacos
# 禁止 nacos 服务开机启动
systemctl disable nacos

由于 CentOS 有防火墙,本篇博客的 nacos 使用默认的 8848 端口,因此 grpc 端口是 9848,需要开放这俩端口:

# 防火墙开放 8848 端口
firewall-cmd --zone=public --add-port=8848/tcp --permanent
# 防火墙开放 9848 端口
firewall-cmd --zone=public --add-port=9848/tcp --permanent
# 重新加载防火墙配置
firewall-cmd --reload

# 查看防火墙已经开放的端口
firewall-cmd --list-ports

# 当然你也可以关闭防火墙
systemctl stop firewalld

一般情况下,我们也最好关闭 CentOS 的 Selinux 的安全控制。

vim /etc/selinux/config

将 SELINUX 的值修改为 disabled

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

然后重启 CentOS7 即可禁用 Selinux 的配置生效。

标签:单机,app,端口,nacos,Nacos,systemctl,安装,搭建
From: https://www.cnblogs.com/studyjobs/p/17380184.html

相关文章

  • Vulkan学习笔记之开发环境搭建
    一、概述最近因为工作需要开始学习Vulkan的相关知识,作为初学者,发现相对较好的学习资料莫过于vulkan-tutorial,在自己学习Vulkan的过程中,决定将自己的理解记录下来,一是为了加深记忆,二是为了分享给大家一起探讨学习,因此有了本系列文章,开发环境搭建是本系列文章的第一篇。二、开发环......
  • 遇到的问题:nacos配置管理,无法获取到nacos中的配置内容
    nacos中的配置: bootstrap.yml文件:    1spring:2application:3name:userservice4profiles:5active:dev#环境6cloud:7nacos:8server-addr:localhost:8848#nacos地址9config:10file-extensio......
  • MyCat05——基于Docker搭建MySQL主从复制
    1安装mysql的镜像如果服务器较少,为了充分发挥现有服务器的利用率,可以使用容器化技术来安装mysql。如果服务器没有docker,需要先安装dockeryuminstall-ydockerdocker安装后,启动服务servicedockerstart下载mysql5.7版本的docker镜像dockerpullmysql:5.72启动mysql服务启动......
  • 使用 NutUI 搭建「自定义业务风格」的组件库 | 京东云技术团队
    本文介绍,如何使用NutUI组件库,搭建一套为专属业务风格的业务组件库。NutUI是一款京东风格的移动端组件库。NutUI目前支持Vue和React技术栈,支持Taro多端适配。当下的实现方式一般组件库,都会给用户提供修改主题的方式。比如在NutUI组件库中,给用户提供了两种方式:修改CSS变量,Nu......
  • 搭建openldap与phpldapadmin
    现在很多ldap文档不太适合centos7下安装使用ldap,于是自己搓了一篇作为留底LDAP基础概念:在开始部署前,要了解一些LDAP知识点:条目entry区别名/唯一标识名DistinguishedName/DN属性attributeLDAP的条目(entry)是具有区别名(DistinguishedNamed/DN唯一标识名)的属性(attribute)。DN......
  • UIOTOS:一款无门槛的前端0代码搭建工具
    什么是UIOTOS?UIOTOS中文名称前端大师,是一款基于图形技术的前端0代码工具,支持通过连线和嵌套无门槛来搭建各类复杂的的交互界面,包括后台管理系统、组态数据大屏等,实现跟代码开发媲美的效果。为什么要做?前端技术更新快,开发和学习成本高在软件开发领域,UI界面开发技术更新迭代最......
  • openGauss 5.0 一主两从 复制环境 搭建手册
    openGauss5.0一主两从复制环境搭建手册2023-04-0713:49850原创openGauss本文链接:https://www.cndba.cn/dave/article/116528在之前的博客我们了解了单机版的openGauss安装。 Linux7.6平台openGauss3.1.1单机版安装手册https://www.cndba.cn/dave/article/116......
  • golang的vscode环境搭建
    因为墙的原因,vscode安装go插件会有报错,需要切换成国内的镜像 GOPROXYhttps://proxy.golang.com.cn,direct ......
  • 【Angular2】搭建开发环境
    一、前言      随着前端工程化的浪潮到来,最近公司的新项目需要使用Angular2作为前端的开发语言。当然小编之前是没有接触的,而且Angular2也是在AngularJs的基础上发展出来的。但是官网说他们相同的地方不多,事实证明确实不多。但是经过小编几个月的研究也是很快就是上手了Angul......
  • 零代码基础,一分钟教你快速搭建微信ChatGPT机器人!
    本教程收集于:ChatGPT聊天机器人搭建全攻略汇总:精心整理Github登录账号后,先Forck下仓库:https://github.com/zhayujie/chatgpt-on-wechat功能介绍:多端部署:有多种部署方式可选择且功能完备,目前已支持个人微信,微信公众号和企业微信应用等部署方式基础对话:私聊及群聊的消息智能......