欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用systemd部署r-nacos的操作方法

 更新時間:2024年03月26日 09:44:28   作者:拾玄  
r-nacos是一個用rust實現(xiàn)的nacos服務(wù),我們用它平替java?nacos以降低服務(wù)占用內(nèi)存,提升服務(wù)的穩(wěn)定性,這篇文章主要介紹了使用systemd部署r-nacos,需要的朋友可以參考下

1、 前言

r-nacos是一個用rust實現(xiàn)的nacos服務(wù)。相較于java nacos來說,是一個提供相同功能,啟動更快、占用系統(tǒng)資源更小(初始內(nèi)存小于10M)、性能更高、運(yùn)行更穩(wěn)定的服務(wù)。

r-nacos設(shè)計上完全兼容最新版本nacos面向client sdk 的協(xié)議(包含1.x的http OpenApi,和2.x的grpc協(xié)議), 支持使用nacos服務(wù)的應(yīng)用平遷到 r-nacos。

r-nacos在本地測試使用很簡單,通過./rnacos直接啟動應(yīng)用即可。
但是生產(chǎn)環(huán)境中還是需要更規(guī)范的方式部署運(yùn)行。

目前的linux服務(wù)基本默認(rèn)支持systemd統(tǒng)一管理服務(wù)。
本文主要記錄使用systemd部分r-nacos的過程說明。

2、規(guī)劃r-nacos運(yùn)行位置

  • 服務(wù)應(yīng)用放到 /opt/rnacos/ 中
  • r-nacos配置使用 /etc/rnacos/env.conf
  • 數(shù)據(jù)放到 /var/rnacos/io/ 中
  • systemd 服務(wù)配置放到 /lib/systemd/system/rnacos.service

3、部署

  • 下載服務(wù)應(yīng)用
mkdir -p /opt/rnacos/
cd /opt/rnacos/
#download from github
curl -LO https://github.com/r-nacos/r-nacos/releases/download/v0.5.0/rnacos-x86_64-unknown-linux-musl.tar.gz

#download from gitee
#curl -LO https://gitee.com/hqp/rnacos/releases/download/v0.5.0/rnacos-x86_64-unknown-linux-musl.tar.gz

tar -xvf rnacos-x86_64-unknown-linux-musl.tar.gz
  • 增加r-nacos服務(wù)配置
mkdir -p /etc/rnacos/
cat >/etc/rnacos/env.conf <<EOF
# rnacos 指定配置文件有兩種方式:
# 1. 默認(rèn)文件(放置于運(yùn)行目錄下,文件名為“.env”,自動讀?。?
# 2. 指定文件(放置于任意目錄下, 通過 命令行參數(shù)“-e 文件路徑”形式指定, 如“./rnacos -e /etc/rnacos/conf/default.cnf”)
# 更多說明請參照  https://r-nacos.github.io/r-nacos/deplay_env.html

# r-nacos監(jiān)聽http端口,默認(rèn)值:8848
RNACOS_HTTP_PORT=8848

#r-nacos監(jiān)聽grpc端口,默認(rèn)值:HTTP端口+1000(即9848) 
#RNACOS_GRPC_PORT=9848

#r-nacos獨(dú)立控制臺端口,默認(rèn)值:HTTP端口+2000(即10848);設(shè)置為0可不開啟獨(dú)立控制臺
#RNACOS_HTTP_CONSOLE_PORT=10848

#r-nacos控制臺登錄1小時失敗次數(shù)限制默認(rèn)是5,一個用戶連續(xù)登陸失敗5次,會被鎖定1個小時 ,默認(rèn)值:1
RNACOS_CONSOLE_LOGIN_ONE_HOUR_LIMIT=5

#http工作線程數(shù),默認(rèn)值:cpu核數(shù) 
#RNACOS_HTTP_WORKERS=8


#配置中心的本地數(shù)據(jù)庫sled文件夾, 會在系統(tǒng)運(yùn)行時自動創(chuàng)建 ,默認(rèn)值:nacos_db
RNACOS_CONFIG_DB_DIR=nacos_db

#節(jié)點id,默認(rèn)值:1
RNACOS_RAFT_NODE_ID=1

#節(jié)點地址Ip:GrpcPort,單節(jié)點運(yùn)行時每次啟動都會生效;多節(jié)點集群部署時,只取加入集群時配置的值,默認(rèn)值:127.0.0.1:GrpcPort 
RNACOS_RAFT_NODE_ADDR=127.0.0.1:9848

#是否當(dāng)做主節(jié)點初始化,(只在每一次啟動時生效)節(jié)點1時默認(rèn)為true,節(jié)點非1時為false 
#RNACOS_RAFT_AUTO_INIT=true


#是否當(dāng)做節(jié)點加入對應(yīng)的主節(jié)點,LeaderIp:GrpcPort;只在第一次啟動時生效;默認(rèn)值:空 
#RNACOS_RAFT_JOIN_ADDR=127.0.0.1:9848

#日志等級:debug,info,warn,error;所有http,grpc請求都會打info日志,如果不關(guān)注,可以設(shè)置為error 減少日志量,默認(rèn)值:info
RUST_LOG=info
EOF
  • 初始化r-nacos數(shù)據(jù)目錄
mkdir -p /var/rnacos/io/

# 如果使用rnacos用戶運(yùn)行,則要開放目錄寫權(quán)限給用戶
# adduser rnacos
# chown -R rnacos:rnacos /var/rnacos
  • 初始化r-nacos 服務(wù)配置
cat >/lib/systemd/system/rnacos.service <<EOF
[Unit]
Description=r-nacos server
After=network.target

[Service]
#使用指定用戶運(yùn)行
#User=rnacos
#Group=rnacos
ExecStart=/opt/rnacos/rnacos -e /etc/rnacos/env.conf
# 進(jìn)程異常關(guān)閉時會自動重啟
Restart=always
WorkingDirectory=/var/rnacos/io

[Install]
WantedBy=multi-user.target
EOF
  • 重新加載并啟動服務(wù)
# 重新加載配置
systemctl daemon-reload
# 啟用服務(wù)并馬上啟動
systemctl enable --now rnacos

# 查看服務(wù)狀態(tài)
systemctl status rnacos

把上以的腳本連起來執(zhí)行,r-nacos服務(wù)即可部署完成。

4、管理服務(wù)

  • 使用systemctl管理服務(wù)

常用的命令

# 查看服務(wù)狀態(tài)
systemctl status rnacos

# 啟動服務(wù)
systemctl start rnacos

# 關(guān)閉服務(wù)
systemctl stop rnacos

# 啟動服務(wù),開機(jī)自動啟動
systemctl enable rnacos

# 禁用服務(wù),開機(jī)不啟動
systemctl disable rnacos

  • 同時可以結(jié)合使用journalctl 管理查看服務(wù)日志
# 查看日志
journalctl -u rnacos
# 查看最新日志
journalctl -u rnacos  -f

其它journalctl日志管理方式,可以單獨(dú)支了解,這里不展開。

5、驗證服務(wù)

5.1 shell 本地 http驗證

  • 配置中心http api例子
# 設(shè)置配置
curl -X POST 'http://127.0.0.1:8848/nacos/v1/cs/configs' -d 'dataId=t001&group=foo&content=contentTest'

# 查詢
curl 'http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=t001&group=foo'

  • 注冊中心http api例子
# 注冊服務(wù)實例
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance' -d 'port=8000&healthy=true&ip=192.168.1.11&weight=1.0&serviceName=nacos.test.001&groupName=foo&metadata={"app":"foo","id":"001"}'

curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance' -d 'port=8000&healthy=true&ip=192.168.1.12&weight=1.0&serviceName=nacos.test.001&groupName=foo&metadata={"app":"foo","id":"002"}'

 curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance' -d 'port=8000&healthy=true&ip=192.168.1.13&weight=1.0&serviceName=nacos.test.001&groupName=foo&metadata={"app":"foo","id":"003"}'

# 查詢服務(wù)實例

curl "http://127.0.0.1:8848/nacos/v1/ns/instance/list?&namespaceId=public&serviceName=foo%40%40nacos.test.001&groupName=foo&clusters=&healthyOnly=true"

5.2 nacos客戶端應(yīng)用驗證

如果客戶端應(yīng)用與nacos服務(wù)不在同一臺機(jī)器,需要開放8848,9848端口給內(nèi)網(wǎng)應(yīng)用使用。(注意8848,9848端口不能暴露到外網(wǎng)上)

在客戶端應(yīng)用中配置好nacos服務(wù)后,即可運(yùn)行驗證。

5.3 使用r-nacos控制臺

開放10848 端口后,可以通過對應(yīng)ip+端口在瀏覽器訪問控制臺。

新控制臺有完備的用戶管理、登陸校驗、權(quán)限控制,支持對外網(wǎng)暴露。

系統(tǒng)會默認(rèn)創(chuàng)建一個名為admin的用戶,密碼為admin。

6、總結(jié)

r-nacos是一個用rust實現(xiàn)的nacos服務(wù),我們用它平替java nacos以降低服務(wù)占用內(nèi)存,提升服務(wù)的穩(wěn)定性。

systemd提供便捷的服務(wù)托管功能,可以方便的將一個命令運(yùn)行的應(yīng)用,轉(zhuǎn)化成一個可方便控制的后臺服務(wù)。

使用systemd部署r-nacos,是一個比較和合適的、可用于生產(chǎn)環(huán)境的部署方案。

到此這篇關(guān)于使用systemd部署r-nacos的文章就介紹到這了,更多相關(guān)systemd部署r-nacos內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在win10上使用mingw64編譯器配置Rust開發(fā)環(huán)境和idea 配置Rust 插件

    在win10上使用mingw64編譯器配置Rust開發(fā)環(huán)境和idea 配置Rust 插件

    在win10上配置 Rust 開發(fā)環(huán)境(使用 mingw64編譯器)和 idea 配置 Rust 插件的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-03-03
  • Rust實現(xiàn)AES加解密詳解

    Rust實現(xiàn)AES加解密詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Rust語言實現(xiàn)AES加解密算法,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以了解一下
    2022-10-10
  • Rust常用特型之Drop特型

    Rust常用特型之Drop特型

    本文主要介紹了Rust常用特型之Drop特型,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • Rust?實現(xiàn)?async/await的詳細(xì)代碼

    Rust?實現(xiàn)?async/await的詳細(xì)代碼

    異步編程在 Rust 中的地位非常高,很多 crate 尤其是多IO操作的都使用了 async/await,這篇文章主要介紹了Rust?如何實現(xiàn)?async/await,需要的朋友可以參考下
    2022-09-09
  • Rust中的Copy和Clone對比分析

    Rust中的Copy和Clone對比分析

    這篇文章主要介紹了Rust中的Copy和Clone及區(qū)別對比分析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • Rust字符串字面值的一些經(jīng)驗總結(jié)

    Rust字符串字面值的一些經(jīng)驗總結(jié)

    字符串有兩種表現(xiàn)形式,一種是基本類型,表示字符串的切片,以&str表示,另一種是可變的string類型,下面這篇文章主要給大家介紹了關(guān)于Rust字符串字面值的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • rust 如何使用文件鎖防止應(yīng)用多開

    rust 如何使用文件鎖防止應(yīng)用多開

    這篇文章主要介紹了rust 如何使用文件鎖防止應(yīng)用多開,本文給出了進(jìn)程只能單開的方法,結(jié)合實例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • 一文學(xué)會Rust語言如何操作JSON

    一文學(xué)會Rust語言如何操作JSON

    JSON在Web開發(fā)中被廣泛應(yīng)用于數(shù)據(jù)交換,本文主要介紹了Rust語言操作JSON,包括序列化、反序列化、JSON創(chuàng)建等多個方面,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • rust多個mod文件引用和文件夾mod使用注意事項小結(jié)

    rust多個mod文件引用和文件夾mod使用注意事項小結(jié)

    在 Rust 項目中,可以使用 mod 關(guān)鍵字將一個文件夾或一個 rs 文件作為一個模塊引入到當(dāng)前文件中,本文給大家介紹rust多個mod文件引用和文件夾mod使用注意事項小結(jié),感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • Rust 中的 Packages 與 Crates模塊化構(gòu)建的基礎(chǔ)及開發(fā)流程

    Rust 中的 Packages 與 Crates模塊化構(gòu)建的基礎(chǔ)及開發(fā)流程

    Rust中的Crate是編譯器處理的最小代碼單元,可以是二進(jìn)制或庫,每個Crate由一個CrateRoot文件(通常是src/main.rs或src/lib.rs)定義,本文給大家介紹Rust 中的 Packages 與 Crates模塊化構(gòu)建的基礎(chǔ)及開發(fā)流程,感興趣的朋友一起看看吧
    2025-02-02

最新評論