Centos 环境下安装jdk1.8 和nacos-server 2.2.3

JDK1.8安装

1.下载地址jdk1.8

https://www.oracle.com/java/technologies/downloads/
image

2.ftp上传

## /usr/local/software/jdk-8u391-linux-x64.tar.gz
cd /usr/local/software/ 
tar -zxvf jdk-8u391-linux-x64.tar.gz
## 重命名
mv /usr/local/software/jdk1.8.0_391 /usr/local/jdk1.8
## 配置环境变量(也可以在/etc/profile.d目录下新建 java.sh,把变量配置进去)
cp /etc/profile /etc/profile_bak
vi /etc/profile 
## 在最下面添加
export JAVA_HOME=/usr/local/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
# Esc后wq保存退出
source /etc/profile
## 测试 
java -version

Nacos-server 2.2.3 安装配置

网址:https://github.com/alibaba/nacos/releases
下载链接 https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz
下载建议使用迅雷下载(p2p),使用网页下载会经常失败

1.ftp上传,启动nacos,关闭nacos

# /usr/local/software/nacos-server-2.2.3.tar.gz
# 解压
tar -zxvf nacos-server-2.2.3.tar.gz
# 解压后同级目录下有nacos
cd /usr/local/software/nacos/bin
# 下面有四个脚本 shutdown.cmd  shutdown.sh  startup.cmd  startup.sh # *.cmd为window执行,*.sh为linux
./startup.sh -m standalone
# ps 也可以直接修改vi startup.sh 修改MODE="standalone"
./shutdown.sh # 关闭退出

2.开启nacos auth

数据库安装配置(省略),创建数据库nacos并运行sql文件
/usr/local/software/nacos/conf/mysql-schema.sql

mysql -uroot -p123456 # 进入到mysql命令行
mysql>create database if not exists nacos; # 创建名称为nacos的数据库
mysql>use nacos;  # 使用nacos数据库
mysql>source /usr/local/software/nacos/conf/mysql-schema.sql; #执行脚本文件

使用mysql保存nacos信息配置

vi /usr/local/software/nacos/conf/application.properties
# 修改如下内容
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=root
### If turn on auth system:
nacos.core.auth.enabled=true
# authkey authvalue secret.key 自定义
nacos.core.auth.server.identity.key=authkey
nacos.core.auth.server.identity.value=authvalue
nacos.core.auth.plugin.nacos.token.secret.key=axjsoijkxo()_@(!#*(@&#(*!&$#&)!*(@)#*)sxaxs*)#!*@_


# 保存退出,并启动nacos
# PS:登陆 http://IP:8848/nacos(初始化密码/账户nacos/nacos),记得修改密码

配置nacos 开机启动

# cd /usr/lib/systemd/system/ && touch nacos.service
[Unit]
Description=nacos service
After=mysqld.service
[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/jdk1.8"
ExecStart=/usr/local/software/nacos/bin/startup.sh -m standalone
ExecReload=/usr/local/software/nacos/bin/shutdown.sh
ExecStop=/usr/local/software/nacos//bin/shutdown.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

## 保存退出
# 执行
systemctl enable --now nacos
- Unit
   - Description,服务的描述
   - Documentation,文档介绍
   - After,该服务要在什么服务启动之后启动,比如Mysql需要在network和syslog启动之后再启动
- Install
   - WantedBy,值是一个或多个Target,当前Unit激活时(enable)符号链接会放入/etc/systemd/system目录下面以Target名+.wants后缀构成的子目录中
   - RequiredBy,它的值是一个或多个Target,当前Unit激活(enable)时,符号链接会放入/etc/systemd/system目录下面以Target名+.required后缀构成的子目录中
   - Alias,当前Unit可用于启动的别名
   - Also,当前Unit激活(enable)时,会被同时激活的其他Unit
- Service
   - Type,定义启动时的进程行为。它有以下几种值。
   - Type=simple,默认值,执行ExecStart指定的命令,启动主进程
   - Type=forking,以 fork 方式从父进程创建子进程,创建后父进程会立即退出
   - Type=oneshot,一次性进程,Systemd 会等当前服务退出,再继续往下执行
   - Type=dbus,当前服务通过D-Bus启动
   - Type=notify,当前服务启动完毕,会通知Systemd,再继续往下执行
   - Type=idle,若有其他任务执行完毕,当前服务才会运行
   - ExecStart,启动当前服务的命令
   - ExecStartPre,启动当前服务之前执行的命令
   - ExecStartPost,启动当前服务之后执行的命令
   - ExecReload,重启当前服务时执行的命令
   - ExecStop,停止当前服务时执行的命令
   - ExecStopPost,停止当其服务之后执行的命令
   - RestartSec,自动重启当前服务间隔的秒数
   - Restart,定义何种情况 Systemd 会自动重启当前服务,可能的值包括always(总是重启)、on-success、on-failure、on-abnormal、on-abort、on-watchdog
   - TimeoutSec,定义 Systemd 停止当前服务之前等待的秒数
   - Environment,指定环境变量

测试demo连接

application.yml

server:
  port: 10080
spring:
  application:
    name: app-provider
  cloud:
    nacos:
      username: nacos # nacos登录账户(在localhost:8848/nacos 上创建的用户密码)
      password: nacospwd # nacos登录密码
      discovery:
        server-addr: 127.0.0.1:8848

服务器安全组or防火墙

  1. 主端口:默认为8848,用于客户端、控制台及OpenAPI的HTTP通信。
  2. 客户端gRPC请求服务端端口:默认为9848,用于客户端向服务端发起gRPC连接和请求。
  3. 服务端gRPC请求服务端端口:默认为9849,用于服务间的数据同步和其他服务端之间的通信。
  4. Jraft请求服务端端口:默认为7848,用于处理服务端间的Raft相关请求,比如集群管理中的选主和日志复制等。

在实际部署环境中,至少需要确保主端口(8848)和客户端gRPC端口(9848)对外开放,并且根据实际需求和网络配置,可能也需要开放服务端gRPC请求服务端端口(9849)和Jraft请求服务端端口(7848)。同时,为了保障安全,应当采取相应的安全措施,比如使用防火墙控制访问、启用身份验证和授权、以及加密通信等。

posted @ 2023-11-24 13:57  一个小笨蛋  阅读(182)  评论(0编辑  收藏  举报