Ubuntu中结合Nginx配置nacos集群
一、软件版本
Ubuntu-20.04
Mysql-8.0.28
Nginx-1.20.2
nacos-1.1.4
二、安装Nginx-1.20.2
2.1 首先安装一些依赖
$ sudo apt-get install gcc
$ sudo apt-get install libpcre3 libpcre3-dev
$ sudo apt-get install zlib1g zlib1g-dev
$ sudo apt-get install openssl
$ sudo apt-get install libssl-dev
2.2 安装Nginx
$ tar -zxvf nginx-1.20.2.tar.gz
$ cd nginx-1.20.2
$ sudo ./configure
$ sudo make
$ sudo make install
$ cd /usr/local/nginx/sbin
启动nginx
$ sudo ./nginx
启动成功在浏览器输入localhost:80进入Nginx欢迎界面
三、安装mysql-8.0.28
$ sudo apt-get update
$ sudo apt-get install mysql-server
启动mysql服务
$ sudo service mysql start
首先查询初始账户和密码
$ sudo cat /etc/mysql/debian.cnf
显示以下信息
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = FgHMpbAOLayTb7Fu
socket = /var/run/mysqld/mysqld.sock
进入数据库
$ mysql -u debian-sys-maint -p
输入上面对应的密码
mysql> use mysql;
修改默认的账号和密码,我这里设置账户:root,密码:root
mysql>ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root’;
然后下次进入就输入root和root就行了
四、安装配置单机版nacos集群
4.1 配置application.properties文件
$ tar -zxvf nacos-server-1.1.4.tar.gz
这里是在一台虚拟机上配置nacos三节点集群
把解压出来的文件夹拷贝三份
我这里三个节点分为端口分别设为8849,8850,8851
nacos
nacos1
nacos2
$ cd nacos
更改数据库配置,切换为mysql8
$ cd conf
$ sudo vim application.properties
以下为文件部分内容
修改server.port的自定义端口,这里修改为8849
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8849
在文件末尾添加mysql配置,根据自己的账户密码修改,我这里是root,root
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=Asia/Shanghai
db.user=root
db.password=root
最后保存文件退出
4.2 mysql运行nacos的sql
切换到刚刚的数据库那里
首先创建一个数据库nacos_config
mysql>create database nacos_config;
切换到nacos_config数据库
mysql>use nacos_config;
运行nacos-mysql.sql文件
路径在 自己的路径/nacos/conf/nacos-mysql.sql
mysql>source 自己的路径/nacos/conf/nacos-mysql.sql
执行成功后运行以下命令
mysql>show tables;
出现以下表则成功:
+------------------------+
| Tables_in_nacos_config |
+------------------------+
| config_info |
| config_info_aggr |
| config_info_beta |
| config_info_tag |
| config_tags_relation |
| group_capacity |
| his_config_info |
| roles |
| tenant_capacity |
| tenant_info |
| users |
+------------------------+
11 rows in set (0.00 sec)
4.3 配置mysql8特有步骤:需要引入mysql-connector-java-8.0.28.jar包
进入nacos根目录
$ cd nacos
$ sudo mkdir plugins
$ cd plugins
$ sudo mkdir mysql
在mysql文件夹中把mysql-connector-java-8.0.28.jar下载好放入其中
4.4 配置cluster.conf文件
$ cd nacos/conf
首先把cluster.conf.example文件拷贝为cluster.conf
$ sudo cp cluster.conf.example cluster.conf
$ sudo vim cluster.conf
在文件中添加以下内容,配置为集群三个节点
127.0.0.1:8849
127.0.0.1:8850
127.0.0.1:8851
4.5 配置startup.sh启动文件
$ cd nacos/bin
$ sudo vim startup.sh
以下为文件部分内容
首先注释文件中四行JAVA_HOME,然后添加自己的JAVA_HOME,根据自己的自行更改,我这里为/usr/java/jdk1.8.0_321
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java
#[ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME
JAVA_HOME=/usr/java/jdk1.8.0_321
(选配)如果内存不足可以更改JVM参数,我这里修改为了Xms256m -Xmx256m -Xmn128m
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
4.6 配置Nginx结合nacos
回到之前的nginx文件夹
$ cd nginx/conf
$ sudo vim nginx.conf
以下为文件部分内容
在#gzip on;下面添加以下内容
upstream cluster{
server 127.0.0.1:8849;
server 127.0.0.1:8850;
server 127.0.0.1:8851;
}
修改listen的默认端口80为自定义的1111端口(自己设定),访问的时候需要防火墙开放端口号
location中注释前两行,添加proxy_pass http://cluster;
server {
listen 1111;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://cluster;
}
修改完成保存退出
重启Nginx
4.7其余两个拷贝的nacos文件修改application.properties文件
分别修改server.port的自定义端口,一个修改为8850
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8850
另一个修改为8851
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8851
4.8 启动三个nacos
启动第一个nacos
$ cd nacos/bin
$ sudo bash startup.sh
启动第二个nacos
$ cd nacos1/bin
$ sudo bash startup.sh
启动第三个nacos
$ cd nacos2/bin
$ sudo bash startup.sh
通过以下命令显示为3表示成功启动三个nacos
$ ps -ef|grep nacos|grep -v grep|wc -l
最后在Ubuntu系统浏览器里面访问localhost:1111/nacos
或者通过ifconfig获取Ubuntu ip地址,在windows浏览器中输入ip地址:1111/nacos
看到以下界面,则运行成功