Nacos微服務部署(超詳細)基於Centos7


Nacos集群部署與持久化

准備環境

請確保是在環境中安裝使用:

  1. 64 bit OS Linux/Unix/Mac,推薦使用Linux系統。
  2. 64 bit JDK 1.8+;下載.配置
    3. Maven 3.2.x+;下載.配置
  3. 3個或3個以上Nacos節點才能構成集群。 nacos-server-1.1.4.tar.gz下載

本次集群部署使用:1個Nginx、3個Nacos、1個Mysql

Linux-Centos-7安裝Mysql5.7數據庫

  1. 安裝wget指令

    [root@localhost opt]# yum -y install wget
    
  2. 在線下載Mysql安裝源

    [root@localhost opt]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
    
  3. 安裝Mysql安裝源

    [root@localhost opt]# yum -y localinstall mysql57-community-release-el7-11.noarch.rpm 
    
  4. 在線安裝Mysql

    [root@localhost opt]# yum -y install mysql-community-server
    
  5. 啟動Mysql服務

    [root@localhost opt]# systemctl start mysqld
    
  6. 設置開機啟動

    [root@localhost opt]# systemctl enable mysqld
    [root@localhost opt]# systemctl daemon-reload
    
  7. 修改root登錄密碼

    # mysql安裝完成之后,會在/var/log/mysqld.log文件中給root生成了一個臨時的默認密碼
    [root@localhost opt]# cat /var/log/mysqld.log
    
    # A temporary password is generated for root@localhost: hNR?y3TWzct1(密碼)
    
  8. 登錄Mysql

    [root@localhost opt]# mysql -u root -p
    # 粘貼上述密碼
    
  9. 修改mysql默認密碼策略

    # mysql5.7默認密碼策略要求密碼必須是大小寫字母數字特殊字母的組合,至少8位
    mysql> set global validate_password_policy=0;
    # 修改密碼,此時默認密碼長度為8
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
    # 查看密碼長度
    mysql> select @@validate_password_length;
    +----------------------------+
    | @@validate_password_length |
    +----------------------------+
    |                          8 |
    +----------------------------+
    1 row in set (0.00 sec)
    # 設置密碼長度
    mysql> set global validate_password_length=1;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select @@validate_password_length;
    +----------------------------+
    | @@validate_password_length |
    +----------------------------+
    |                          4 |
    +----------------------------+
    1 row in set (0.00 sec)
    # 再次修改密碼
    mysql>  ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
    Query OK, 0 rows affected (0.00 sec)
    
    
  10. 退出Mysql

    mysql> exit
    

Mysql 5.7 開放端口允許遠程登錄、修改編碼為UTF-8

  • 設置允許遠程登錄

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    
  • 防火牆開放端口3306

    [root@localhost opt]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
    [root@localhost opt]# firewall-cmd --reload
    
  • 配置Mysql默認編碼UTF-8

    # 修改/etc/my.cnf配置文件,在[mysqld]下添加編碼配置
    character_set_server=utf8
    init_connect='SET NAMES utf8'
    # 保存並退出
    # 重啟mysql服務
    [root@localhost opt]# systemctl restart mysqld
    

Nacos壓縮包上傳及Mysql數據庫配置

Nacos版本:nacos-server-1.1.4.tar.gz

  1. 上傳tar包至linux並解壓

    [root@localhost opt]# tar -zxvf nacos-server-1.1.4.tar.gz 
    
  2. 查看Nacos自帶的sql腳本

    [root@localhost opt]# /opt/nacos/conf/nacos-mysql.sql
    
  3. 創建數據庫

    [root@localhost conf]# mysql -u root -p
    mysql> create datebase nacos_config;
    
  4. 執行數據庫腳本

    mysql> use nacos_config; 
    mysql> source /opt/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        |
    | permissions            |
    | roles                  |
    | tenant_capacity        |
    | tenant_info            |
    | users                  |
    +------------------------+
    12 rows in set (0.00 sec)
    
  5. 修改Nacos數據庫信息(將Nacos內置型的數據庫切換為Mysql數據庫)

    # 備份application.properties
    [root@localhost conf]# cp /opt/nacos/conf/application.properties /opt/nacos/conf/application.properties.bf
    
    # 修改application.properties配置文件
    [root@localhost conf]# vim /opt/nacos/conf/application.properties
    
    ### 添加mysql數據庫配置信息
    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_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
    db.user=root
    db.password=123456
    
    # :wq! 保存退出
    

Nacos集群部署

在Linux服務器上配置nacos的集群配置文件cluster.conf

  1. 復制配置文件

    [root@localhost conf]# cd /opt/nacos/conf
    
    [root@localhost conf]# cp cluster.conf.example cluster.conf
    
  2. 修改配文件信息

    # 查看本機網卡IP地址
    [root@localhost conf]# hostname -I
    192.168.2.123
    # 編輯 cluster.conf
    [root@localhost conf]# vim cluster.conf
    #it is ip
    #example
    #192.168.16.101:8847
    #192.168.16.102
    #192.168.16.103
    # 填寫本機 IP+端口號
    192.168.2.123:8818
    192.168.2.123:8828
    192.168.2.123:8838
    

編輯Nacos集群的啟動腳本

# 備份啟動腳本
[root@localhost bin]# cp /opt/nacos/bin/startup.sh /opt/nacos/bin/startup.sh.bf

# 修改啟動腳本
[root@localhost bin]# vim /opt/nacos/bin/startup.sh

while getopts ":m:f:s:p:" opt
do
    case $opt in
        m)
            MODE=$OPTARG;;
        f)
            FUNCTION_MODE=$OPTARG;;
        s)
            SERVER=$OPTARG;;
        p)
            PORT=$OPTARG;;
        ?)
        echo "Unknown parameter"
        exit 1;;
    esac
done

# 在142行添加 $JAVA-Dserver.port=${EMBEDDED_STORAGE}
142 nohup $JAVA -Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &

啟動集群

[root@localhost bin]# cd /opt/nacos/bin
[root@localhost bin]# ./startup.sh -p 8818
[root@localhost bin]# ./startup.sh -p 8828
[root@localhost bin]# ./startup.sh -p 8838

# 查看nacos是否啟動
[root@localhost bin]# ps -ef|grep nacos|grep -v grep|wc -l

Nginx負載均衡部署

Nginx下載地址:nginx-1.18.0

下載並上傳

# 解壓壓縮包
$ tar -zxvf nginx-1.18.0.tar.gz

依賴庫安裝

  1. 安裝 gcc 環境

    # nginx 編譯時依賴 gcc 環境
    $ sudo yum -y install gcc gcc-c++
    
  2. 安裝 pcre

    # 讓nginx 支持重寫功能
    $ sudo yum -y install pcre pcre-devel 
    
  3. 安裝 zlib

    # zlib 庫提供了很多壓縮和解壓縮的方式,nginx 使用 zlib 對 http 包內容進行 gzip 壓縮
    $ sudo yum -y install zlib zlib-devel 
    
  4. 安裝 openssl

    # 安全套接字層密碼庫,用於通信加密
    $ sudo yum -y install openssl openssl-devel
    

Nginx編譯安裝

  1. 進入解壓目錄

    $ cd nginx-1.18.0
    
  2. 檢查編譯環境

     # --prefix=/usr/local/nginx  是 nginx 編譯安裝的目錄(默認),安裝完后會在此目錄下生成相關文件
    $ ./configure --prefix=/usr/local/nginx # 檢查平台安裝環境
    
  3. 源碼編譯與安裝

    # 編譯
    $ make 
    
    # 安裝
    $ make install 
    

Nginx啟動

  1. 啟動服務

    $ /usr/local/nginx/sbin/nginx
    
  2. 查看Nginx服務進程

    $ ps -ef | grep nginx
    
  3. web端訪問Nginx,默認端口80

    # 瀏覽器中輸入虛擬機IP地址即可訪問
    
  4. 重新加載服務

    $ /usr/local/nginx/sbin/nginx -s reload
    
  5. 停止服務

    $ /usr/local/nginx/sbin/nginx -s stop
    

Nginx整合Nacos

  1. 備份配置文件Nginx配置文件nginx.conf

    $ cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bf
    
  2. 配置nginx.conf

    $ vim /usr/local/nginx/conf/nginx.conf
    
    # 配置負載均衡+反向代理
    # 監聽端口號1111
    
     33     #gzip  on;
     34 
     35     upstream cluster{
     36         server 127.0.0.1:8818;
     37         server 127.0.0.1:8828;
     38         server 127.0.0.1:8838;
     39     }
     40     
     41     server {
     42         listen       1111;
     43         server_name  localhost;
     44         
     45         #charset koi8-r;
     46         
     47         #access_log  logs/host.access.log  main;
     48         
     49         location / {
     50            # root   html;
     51            # index  index.html index.htm;
     52            proxy_pass http://cluster;
     53         }
    
  3. 以nginx.conf配置文件的形式啟動Nginx

    $ cd /usr/local/nginx/sbin
    $ ./nginx -c /usr/local/nginx/conf/nginx.conf
    
  4. 啟動Nacos集群

    $ cd /opt/nacos/bin
    $ ./startup.sh -p 8818
    $ ./startup.sh -p 8828
    $ ./startup.sh -p 8838
    
  5. web訪問測試

    # 虛擬機IP:1111/nacos
    # 賬號: nacos
    # 密碼: nacos
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM