- JDK1.8+
- Maven3.3+
- Nginx作为负载均衡
- MySQL5.7+
- 手动下载(官网地址下载缓慢,建议手动下载)
- 这里下载的是1.4.2版本,就是下载nacos-server-1.4.2.tar.gz
- 下载地址
- 下载完成后在/usr/local/路径下新建一个nacos文件夹(根据自己需要放在对应的路径都可)
- 将下载好的压缩包放到/usr/local/nacos/路径下
- 云下载
wget https://github.com/alibaba/nacos/releases/download/1.4.2/nacos-server-1.4.2.tar.gz
- 转到放置压缩包的路径下
cd /usr/local/nacos/
- 解压
tar zxvf nacos-server-1.4.2.tar.gz
- 修改文件名
- 解压后ls查看,在/usr/local/nacos/目录下多了一个nacos文件夹
ls
- 将其重命名为带端口号的文件夹如nacos8849
mv nacos nacos8849
- 多次重复以上解压和修改文件名步骤,得到多份nacos副本,这里分别命名为nacos8849|nacos8850|nacos8851(这里是一台虚拟机三个Nacos,实际可在多台虚拟机上部署)
以8849实例为例,其余的实例修改相同(端口不同)(1)修改数据源配置,使用外置数据源
- 修改application.properties配置
cd /usr/local/nacos/nacos8849/conf/ vim application.properties
- 将server.port修改为8849
- 将数据源修改,将spring.datasource.platform=mysql的注释去掉
- 设置数据连接数量,将db.num=1的注释去掉
- 设置数据库连接参数及数据库账号密码,设置为自己数据库连接参数及账号密码(修改模板并去掉注释)
- 修改后的application.properties配置参考
#*************** Spring Boot Related Configurations ***************# ### Default web context path: server.servlet.contextPath=/nacos ### Default web server port: server.port=8849 #*************** Network Related Configurations ***************# ### If prefer hostname over ip for Nacos server addresses in cluster.conf: # nacos.inetutils.prefer-hostname-over-ip=false ### Specify local server's IP: # nacos.inetutils.ip-address= #*************** Config Module Related Configurations ***************# ### If use MySQL as datasource: spring.datasource.platform=mysql ### Count of DB: db.num=1 ### Connect URL of DB: db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=root db.password.0=123456 ### Connection pool configuration: hikariCP db.pool.config.connectionTimeout=30000 db.pool.config.validationTimeout=10000 db.pool.config.maximumPoolSize=20 db.pool.config.minimumIdle=2 #*************** Naming Module Related Configurations ***************# ### Data dispatch task execution period in milliseconds: # nacos.naming.distro.taskDispatchPeriod=200 nacos.naming.empty-service.auto-clean=true nacos.naming.empty-service.clean.initial-delay-ms=50000 nacos.naming.empty-service.clean.period-time-ms=30000 #*************** CMDB Module Related Configurations ***************# ### The interval to dump external CMDB in seconds: # nacos.cmdb.dumpTaskInterval=3600 ### The interval of polling data change event in seconds: # nacos.cmdb.eventTaskInterval=10 ### The interval of loading labels in seconds: # nacos.cmdb.labelTaskInterval=300 ### If turn on data loading task: # nacos.cmdb.loadDataAtStart=false #*************** Metrics Related Configurations ***************# ### Metrics for prometheus #management.endpoints.web.exposure.include=* ### Metrics for elastic search management.metrics.export.elastic.enabled=false #management.metrics.export.elastic.host=http://localhost:9200 ### Metrics for influx management.metrics.export.influx.enabled=false #management.metrics.export.influx.db=springboot #management.metrics.export.influx.uri=http://localhost:8086 #management.metrics.export.influx.auto-create-db=true #management.metrics.export.influx.consistency=one #management.metrics.export.influx.compressed=true #*************** Access Log Related Configurations ***************# ### If turn on the access log: server.tomcat.accesslog.enabled=true ### The access log pattern: server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i ### The directory of access log: server.tomcat.basedir= #*************** Access Control Related Configurations ***************# ### If enable spring security, this option is deprecated in 1.2.0: #spring.security.enabled=false ### The ignore urls of auth, is deprecated in 1.2.0: nacos.security.ignore.urls=/,/error,*.css,*.js,*.html,*.map,*.svg,*.png,*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/** ### The auth system to use, currently only 'nacos' is supported: nacos.core.auth.system.type=nacos ### If turn on auth system: nacos.core.auth.enabled=false ### The token expiration in seconds: nacos.core.auth.default.token.expire.seconds=18000 ### The default token: nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789 ### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay. nacos.core.auth.caching.enabled=true ### Since 1.4.1, Turn on/off white auth for user-agent: nacos-server, only for upgrade from old version. nacos.core.auth.enable.userAgentAuthWhite=true ### Since 1.4.1, worked when nacos.core.auth.enabled=true and nacos.core.auth.enable.userAgentAuthWhite=false. ### The two properties is the white list for auth and used by identity the request from other server. nacos.core.auth.server.identity.key= nacos.core.auth.server.identity.value= #*************** Istio Related Configurations ***************# ### If turn on the MCP server: nacos.istio.mcp.server.enabled=false(2)导入nacos数据库数据
- 创建nacos(你自己的连接配置中的库名)数据库,确保使用的MySQL版本是5.7+,字符集使用utf8mb4
- 执行/usr/local/nacos/nacos8849/conf/文件夹下的nacos-mysql.sql导入数据
- 拷贝/usr/local/nacos/nacos8849/conf/文件夹下的cluster.conf.example文件进行修改
cp cluster.conf.example cluster.conf
- 修改里面的地址,本例中修改结果如下(一般改为公网地址,这里在同一台虚拟机就直接使用127.0.0.1了)
192.168.100.201:8849 192.168.100.201:8850 192.168.100.201:8851
- 转到/usr/local/nacos/nacos8849/bin/路径下
- 记事本编辑startup.sh文件
- 找到JVM配置如下图位置
- 本人的虚拟机内存较小,容易引发内存不足,需要修改JVM内存参数,修改结果如下图
- 尝试启动8849端口的nacos服务
./startup.sh
- 查看启动日志,启动成功则会打印Nacos started successfully in cluster mode
tail -f ../logs/start.out
- 登录nacos主页(【虚拟机ip地址】:8849/nacos),登录成功说明开启成功,否则查看防火墙和安全组是否开发
- 拷贝配置文件到8850和8851(询问是否覆盖均为y)
cd /usr/local/nacos/ cp ./nacos8849/conf/application.properties ./nacos8850/conf/application.properties y cp ./nacos8849/conf/application.properties ./nacos8851/conf/application.properties y cp ./nacos8849/conf/cluster.conf ./nacos8850/conf/cluster.conf cp ./nacos8849/conf/cluster.conf ./nacos8851/conf/cluster.conf cp ./nacos8849/bin/startup.sh ./nacos8850/bin/startup.sh y cp ./nacos8849/bin/startup.sh ./nacos8851/bin/startup.sh y
- 修改8850和8851的application.properties中的端口分别为8850和8851
- 启动启动8850和8851端口的nacos服务
- 转到Nginx路径下(本人在/use/local/nginx/)
- 在http内添加负载均衡和反向代理
http{ ... upstream nacoscluster { server 127.0.0.1:8851; sercer 127.0.0.1:8850; sercer 127.0.0.1:8849; } ... server { listen 8847; server_name localhost; location /nacos/{ proxy_pass http://nacoscluster/nacos/; } } }
- 启动/重启nginx(./nginx或./nginx -s reload)
- 登录http://192.168.100.201:8847/nacos/,账号/密码:nacos/nacos
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)