Nacos - Linux單機簡易部署


一. 准備工作

  1. 下載Nacos
    1. 官網提供穩定版:https://github.com/alibaba/nacos/releases
    2. 可以選擇源碼自編譯或二進制可執行文件壓縮包(Windows下載.zip包;Linux和MacOS下載.tar.gz)
  2. JDK 1.8+
    1. JDK最低要求版本是1.8
    2. 官網:https://www.oracle.com/java/technologies/downloads/#java8
    3. 注意分清楚使用的處理器和操作系統位數。ARM 32/64用於ARM處理器;x86/x64用於x84處理器,其中i586是32位,x64是64位。Nacos只支持64位OS和JDK,注意安裝版本。
    4. 建議不要下載.rpm,不好設置安裝路徑,還是.tar.gz方便。
  3. MySQL 5.*
    1. 因為Nacos啟動需要配置數據源配置,而且目前只支持MySQL,所以啟動之前一定要有一個MySQL。
    2. 詳見:MySQL個人用戶的安裝配置詳解[windows]Docker安裝並配置MySQL5.7

二. 安裝Nacos

  1. JDK
    # 上傳jdk.tar.gz,創建java目錄
    mkdir -p /usr/java
    # 解壓到java目錄
    tar -xvf [路徑/包名] -C /usr/java
    # 編輯環境變量
    nano /etc/profile
    # 末尾添加
    JAVA_HOME=/usr/java/jdk1.8.0_321
    CLASSPATH=$JAVA_HOME/lib/
    PATH=$PATH:$JAVA_HOME/bin
    export PATH JAVA_HOME CLASSPATH
    # 保存退出,刷新配置
    source /etc/profile
    
  2. Nacos
    # 上傳Nacos.tar.gz,解壓到軟件路徑
    tar -xvf [路徑/包名] -C /usr/local
    
    從解壓的路徑中獲取 nacos-mysql.sql 文件,在MySQL中創建一個數據庫名為nacos,並執行.sql文件中的SQL語句。

三. 配置並啟動

  1. 配置MySQL
    # 切換到nacos的conf目錄下
    cd [路徑]/nacos/conf
    # 編輯application.properties.example
    nano application.properties.example
    # 去掉以下幾行的注釋並配置為正確的連接串
    ### If use MySQL as datasource:
    spring.datasource.platform=mysql
    ### Count of DB:
    db.num=1
    ### Connect URL of DB:
    db.url.0=jdbc:mysql://[ip]:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReco>
    db.user.0=[user]
    db.password.0=[password]
    # 保存並退出
    
  2. 啟動Nacos
    # 切換到nacos/bin目錄
    cd [路徑]/nacos/bin
    # 單機模式啟動
    sh startup.sh -m standalone
    
    執行啟動命令后,會顯示以下提示:
    nacos is starting with standalone
    nacos is starting,you can check the /usr/local/nacos/logs/start.out
    
    此時需要檢查一下啟動日志,是否成功啟動
    tail -200f /usr/local/nacos/logs/start.out
    
    如果看到一個用字符拼成的Nacos,右側還有版本、端口和控制台URL等信息,說明已經啟動,等到看到這一行日志時,說明已經啟動成功:INFO Nacos started successfully in stand alone mode. use external storage
  3. 訪問Nacos
    Nacos的控制台地址一般在上方的日志中就已經打出來了,直接在瀏覽器中訪問即可。
    http://[ip]:8848/nacos/index.html
    默認的用戶名和密碼都是:nacos
  4. 停止Nacos
    # 還是在nacos/bin目錄下
    cd [路徑]/nacos/bin
    # 執行停止命令
    sh shutdown.sh
    
    看到一下輸出信息即為停機:
    The nacosServer([pid]) is running...
    Send shutdown request to nacosServer([pid]) OK
    
  5. 配置為Linux服務(這里不建議開機自啟,因為可能連不上數據庫)
    切換路徑 cd /etc/systemd/system ,創建nacos服務配置文件 sudo nano nacos.service,寫入以下配置。
    # 注:以下用[!]包裹的內容需要根據自身Linux配置情況手動修改
    [Unit]
    Description=nacos
    After=network.target
    
    [Service]
    Type=forking
    Environment="JAVA_HOME=[!JDK路徑]"
    ExecStart=[!Nacos路徑]/nacos/bin/startup.sh [!-m standalone]
    ExecReload=[!Nacos路徑]/nacos/bin/shutdown.sh
    ExecStop=[!Nacos路徑]/nacos/bin/shutdown.sh
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    
    保存並推出nano后,執行以下命令:
    # 重新加載服務
    systemctl daemon-reload
    # 啟動服務
    systemctl start nacos.service
    # 檢查服務狀態
    systemctl status nacos.service
    
    看到 Active: active (running) 即啟動成功。

四. Q & A

  1. Q:啟動Nacos時,不提示nacos is starting
    A:很有可能是沒有配置JDK(和環境變量),或者是JDK版本、位數不對,檢查且java -version成功且顯示64-Bit才正確。
  2. Q:start.out日志中沒有成功而是一大堆Data Source報錯
    A:沒有配置或配置錯了MySQL數據庫鏈接,檢查一下nacos庫中是否有足夠的表(重新執行一遍.sql也是個辦法)。
  3. Q:nacos啟動成功了,但瀏覽器訪問console控制台報無法訪問
    A:肯定是Linux沒有開放8848(tcp)端口,開放命令如下:
    # 防火牆一般是默認開啟的,檢查一下防火牆狀態
    systemctl status firewalld
    # 查看防火牆規則列表
    firewall-cmd --zone=public --list-ports
    # 添加8848的tcp端口
    firewall-cmd --permanent --zone=public --add-port=8848/tcp
    # 刷新防火牆配置
    firewall-cmd --reload
    # 檢查一下是否開啟成功
    firewall-cmd --query-port=8848/tcp
    # 注意:不用的端口規則及時刪除
    firewall-cmd --permanent --zone=public --remove-port=8848/tcp
    
  4. Q:Nacos會額外占用哪些端口?
    A:(不保證正確) 使用命令 ss -lntu 或者 lsof -i 進行前后對比得出:
    TCP:7848、8848、9848、9849
    UDP:隨機占用2個5位數空閑端口
    


免責聲明!

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



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