官方標準運行方式
下載解壓可運行包
curl -O https://github.com/alibaba/nacos/releases/download/1.3.2/nacos-server-1.3.2.tar.gz
tar -zxvf nacos-server-1.3.2.tar.gz
cd nacos/bin
執行運行
# Linux/Unix/Mac 啟動命令(standalone代表著單機模式運行,非集群模式):
sh startup.sh -m standalone
# 如果您使用的是ubuntu系統,或者運行腳本報錯提示[[符號找不到,可嘗試如下運行:
bash startup.sh -m standalone
# Windows 啟動命令(或者雙擊startup.cmd運行檔案)
cmd startup.cmd
為什么要原始碼化運行
1. 方便開發程序使用
如果從 Spring Cloud Netflix 體系遷移到 Spring Cloud Alibaba 技術體系,明顯的感受是整個體系得到簡化, Nacos 承擔整個 Spring Cloud 的服務發現、配置管理部分的實作, 是整個開發程序中強依賴,啟動微服務業務要去檢查 Nacos Server 是否已經啟動,解壓安裝的方式變的非常不便,
如果把 Nacos Server 作為整個微服務框架的一部分直接 Main 啟動,是不是更加方便便利?
2. UI 個性定制化
- 若以解壓運行方式,修改 UI 幾乎不可能,可以下載 Nacos 原始碼繼續修改 然后重新打包運行, 非常的不方便
git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/
// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin
- 若以原始碼方式運行,可以試試的調整 UI 然后 build 看到效果,
3. 保證 Server & Client 保持一致
-
pig 作為微服務開源專案,更新迭代速度非常快,每個版本依賴的 Nacos Client 版本都可能發生變化,這就意味著對應的 Nacos Server 版本也要對應升級,這需要用戶自行下載升級成本很高,
-
Nacos 具有良好小版本向下兼容性,但是大版本功能變化挺大,比如 1.2 、1.3 權限的變更,所以建議大家在實際開發程序中保持版本一致,
-
若以原始碼運行的方式,可以很好的解決此問題,
如何實作
1. 下載 Nacos 原始碼
- 只需保留 nacos console 模塊,其他模塊均可洗掉

2. console 原始碼結構說明
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── alibaba
│ │ └── nacos
│ │ ├── Nacos.java # main 啟動類
│ │ └── console # 控制臺相關原始碼
│ └── resources
│ ├── application.properties # nacos 組態檔
│ └── static # 靜態頁面目錄
└── test # 單元測驗部分
3. 修改 Nacos.java 類
- 主要在 main 方法中增加 兩個引數,是否是單機啟動 & 是否關閉權限校驗
@SpringBootApplication(scanBasePackages = "com.alibaba.nacos")
@ServletComponentScan
@EnableScheduling
public class Nacos {
public static void main(String[] args) {
# 通過環境變數的形式 設定 單機啟動
System.setProperty(ConfigConstants.STANDALONE_MODE, "true");
# 通過環境變數的形式 設定 關閉權限校驗
System.setProperty(ConfigConstants.AUTH_ENABLED, "false");
SpringApplication.run(Nacos.class, args);
}
}
4. 修改 console/pom.xml
-
由于不在使用 nacos bom 管理,需要給所有依賴坐標增加版本號
-
由于 nacos-config /nacos-naming 等包沒有上傳至中央參考 無法下載到,groupId 變更為
com.pig4cloud.nacos即可下載 -
變更后參考如下
<dependency>
<groupId>com.pig4cloud.nacos</groupId>
<artifactId>nacos-config</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>7.0.59</version>
</dependency>
<dependency>
<groupId>com.pig4cloud.nacos</groupId>
<artifactId>nacos-naming</artifactId>
<version>1.3.2</version>
</dependency>
...
總結
-
- 以上修改后原始碼參考: https://gitee.com/log4j/pig
-
- 是否以原始碼形式運行,此問題仁者見仁智者見智 根據你們實際情況來,
專案推薦: Spring Cloud 、Spring Security OAuth2的RBAC權限管理系統 歡迎關注
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/112853.html
標籤:其他
