引言
這裡按照官方介紹進行Linux 中的Nacos快速搭建。整個安裝主要依賴下面幾個環境:
- 64 bit OS,支援 Linux/Unix/Mac/Windows,推薦選用 Linux/Unix/Mac。
- 64 bit JDK 1.8+;下載 & 配置。
- Maven 3.2.x+;下載 & 配置。
安裝JDK
Select the appropriate JDK version and click Download.
根據自己的作業系統進行相關的環境下載,由於個人使用的是Window宿主機+ 虛擬機器安裝Linux CetnerOs的經典搭配,所以下載的版本為最下面的版本:
勾選然後下載:
之後Oracle官方會提示登入之後才能下載:
這個登入比較讓人討厭,有時候會因為外網下載非常緩慢要等很久。個人從網上找到一個“帖子”,裡面有國外網友分享了不登入Oracle下載JDK8相關包的映象。
Java SE Development Kit 8 Downloads:https://www.oracle.com/java/technologies/downloads/#java8-windows
原帖:download java from oracle without login (github.com)
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/windows-i586/jdk-8u331-docs-all.zip
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/linux-i586/jdk-8u331-linux-aarch64.rpm
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/linux-i586/jdk-8u331-linux-aarch64.tar.gz
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/linux-i586/jdk-8u331-linux-arm32-vfp-hflt.tar.gz
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/linux-i586/jdk-8u331-linux-i586.rpm
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/linux-i586/jdk-8u331-linux-i586.tar.gz
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/linux-i586/jdk-8u331-linux-x64.rpm
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/linux-i586/jdk-8u331-linux-x64.tar.gz
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/unix-i586/jdk-8u331-macosx-x64.dmg
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/solaris-i586/jdk-8u331-solaris-sparcv9.tar.Z
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/solaris-i586/jdk-8u331-solaris-sparcv9.tar.gz
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/solaris-i586/jdk-8u331-solaris-x64.tar.Z
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/solaris-i586/jdk-8u331-solaris-x64.tar.gz
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/windows-i586/jdk-8u331-windows-i586.exe
- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/windows-i586/jdk-8u331-windows-x64.exe
相關依賴包下載之後,可以選擇Xftp等工具將包上傳到Linux系統,有了網友分享的源之後,我們也可以在Linux中拉取相關映象包即可:
[zxd@localhost ~]$ wget https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/linux-i586/jdk-8u331-linux-x64.tar.gz
--2022-12-23 14:40:07-- https://javadl.oracle.com/webapps/download/GetFile/1.8.0_331-b09/165374ff4ea84ef0bbd821706e29b123/linux-i586/jdk-8u331-linux-x64.tar.gz
Resolving javadl.oracle.com (javadl.oracle.com)... 223.119.233.65, 2600:140e:6:9b9::3311, 2600:140e:6:987::3311
Connecting to javadl.oracle.com (javadl.oracle.com)|223.119.233.65|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://sdlc-esd.oracle.com/ESD6/JSCDL/jdk/8u331-b09/165374ff4ea84ef0bbd821706e29b123/jdk-8u331-linux-x64.tar.gz?GroupName=JSC&FilePath=/ESD6/JSCDL/jdk/8u331-b09/165374ff4ea84ef0bbd821706e29b123/jdk-8u331-linux-x64.tar.gz&BHost=javadl.sun.com&File=jdk-8u331-linux-x64.tar.gz&AuthParam=1671750069_f11ee1690781cd0db9f8308ea2097081&ext=.gz [following]
--2022-12-23 14:40:07-- https://sdlc-esd.oracle.com/ESD6/JSCDL/jdk/8u331-b09/165374ff4ea84ef0bbd821706e29b123/jdk-8u331-linux-x64.tar.gz?GroupName=JSC&FilePath=/ESD6/JSCDL/jdk/8u331-b09/165374ff4ea84ef0bbd821706e29b123/jdk-8u331-linux-x64.tar.gz&BHost=javadl.sun.com&File=jdk-8u331-linux-x64.tar.gz&AuthParam=1671750069_f11ee1690781cd0db9f8308ea2097081&ext=.gz
Resolving sdlc-esd.oracle.com (sdlc-esd.oracle.com)... 223.119.245.111, 2402:4f00:4001:1b6::b3b, 2402:4f00:4001:1a5::b3b
Connecting to sdlc-esd.oracle.com (sdlc-esd.oracle.com)|223.119.245.111|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 148003999 (141M) [application/x-gzip]
Saving to: ‘jdk-8u331-linux-x64.tar.gz’
100%[==============================================================================================================================================================================================================================================>] 148,003,999 1.15MB/s in 1m 57s
2022-12-23 14:42:05 (1.21 MB/s) - ‘jdk-8u331-linux-x64.tar.gz’ saved [148003999/148003999]
下載完成之後,我們進行解壓縮,然後把JDK檔案放到相關位置。
[zxd@localhost ~]$ ls
a.out hello.c jdk-8u331-linux-x64.tar.gz mysql-community-release-el7-5.noarch.rpm
[zxd@localhost ~]$ tar -zxf jdk-8u331-linux-x64.tar.gz
下面是設定JAVA_HOME的介紹,JDK8只需要設定JAVA_HOME就可以正常執行JAVA命令:
Set JAVA_HOME.
- Korn and bash shells:
export JAVA_HOME=/opt/jdk8
export PATH=\$JAVA_HOME/bin:$PATH
我們根據教程進行設定:
[zxd@localhost jdk8]$ export JAVA_HOME=/opt/jdk8
[zxd@localhost jdk8]$ echo $JAVA_HOME
/opt/jdk8
[zxd@localhost jdk8]$ export PATH=$JAVA_HOME/bin:$PATH
[zxd@localhost jdk8]$ echo $PATH
/opt/jdk8/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/zxd/.local/bin:/home/zxd/bin
設定環境變數之後,執行java
、javac
、java -version
如果存在對應的列印內容說明配置正確。但是注意這種方式是臨時生效的,伺服器遇到重啟或者切換使用者,那麼JAVA環境變數的設定就會失效。
所以我們可以使用下面的方式讓配置永久生效:
[zxd@localhost ~]$ vim /etc/bashrc
// 進入之後會看到很多其他命令,直接跳轉到末尾,按鍵 i 修改新增下面內容
// /opt/jdk8 修改為自己存放JDK原始碼的位置
export JAVA_HOME=/opt/jdk8
export PATH=$JAVA_HOME/bin:$PATH
[zxd@localhost ~]$ source /etc/bashrc
注意在修改配置之後需要source
或者重啟讓配置修改生效,此外需要注意$PATH
的配置需要追加,如果直接設定JAVA_HOME的環境變數會出現直接覆蓋的問題。
安裝Maven
目前個人下載的最新版maven為3.8.6,官方要求的最低版本為3.2.X是可以滿足的,我們進入maven的下載頁面對應連結右鍵複製,然後在Linux當中直接下載即可:
[zxd@localhost ~]$ wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.zip
--2022-12-23 16:45:19-- https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.zip
Resolving dlcdn.apache.org (dlcdn.apache.org)... 151.101.2.132, 2a04:4e42::644
Connecting to dlcdn.apache.org (dlcdn.apache.org)|151.101.2.132|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8760013 (8.4M) [application/zip]
Saving to: ‘apache-maven-3.8.6-bin.zip’
100%[==============================================================================================================================================================================================================================================>] 8,760,013 39.6MB/s in 0.2s
2022-12-23 16:45:19 (39.6 MB/s) - ‘apache-maven-3.8.6-bin.zip’ saved [8760013/8760013]
[zxd@localhost ~]$ ls
a.out apache-maven-3.8.6-bin.zip hello.c jdk-8u331-linux-x64.tar.gz mysql-community-release-el7-5.noarch.rpm
由於是zip包,這裡直接安裝unzip
,安裝命令如下:
[zxd@localhost ~]$ sudo yum install -y unzip
安裝完成之後,直接解壓maven壓縮包到當前目錄,或者放到自己喜歡的目錄。接下來的設定為maven一樣,需要設定環境變數。
[zxd@localhost ~]$ vim /etc/bashrc
export JAVA_HOME=/opt/jdk8
export MAVEN_HOME=/opt/maven-3.8.6
export PATH=$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
然後執行source /etc/bashrc
,最後透過mvn -version
檢查版本。
[zxd@localhost maven-3.8.6]$ mvn -version
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: /opt/maven-3.8.6
Java version: 1.8.0_331, vendor: Oracle Corporation, runtime: /opt/jdk8/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.76.1.el7.x86_64", arch: "amd64", family: "unix"
安裝Git
Linux當中的git安裝十分簡單,只需要按照官方文件說明進行安裝即可:
Debian/Ubuntu
For the latest stable version for your release of Debian/Ubuntu
apt-get install git
For Ubuntu, this PPA provides the latest stable upstream Git version
add-apt-repository ppa:git-core/ppa` `# apt update; apt install git
Fedora
(up to Fedora 21)
yum install git
(Fedora 22 and later)
dnf install git
這裡使用yum
方式安裝,安裝完成之後使用下面的命令檢查Git版本:
[root@localhost logs]# git --version
git version 1.8.3.1
下載原始碼或者安裝包
透過原始碼和發行包兩種方式來獲取 Nacos。
從 Github 上下載原始碼方式
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
下載編譯後壓縮包方式
unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz cd nacos/bin
啟動Nacos服務
Linux/Unix/Mac
啟動命令(standalone代表著單機模式執行,非叢集模式):
sh startup.sh -m standalone
如果您使用的是ubuntu系統,或者執行指令碼報錯提示[[符號找不到,可嘗試如下執行:
bash startup.sh -m standalone
如果出現下面的內容,則證明啟動成功:
[root@localhost logs]# cat start.out
/opt/jdk8/bin/java -Djava.ext.dirs=/opt/jdk8/jre/lib/ext:/opt/jdk8/lib/ext -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Dnacos.member.list= -Xloggc:/opt/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/opt/nacos/plugins,/opt/nacos/plugins/health,/opt/nacos/plugins/cmdb,/opt/nacos/plugins/selector -Dnacos.home=/opt/nacos -jar /opt/nacos/target/nacos-server.jar --spring.config.additional-location=file:/opt/nacos/conf/ --logging.config=/opt/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
,--.
,--.'|
,--,: : | Nacos 2.2.0
,`--.'`| ' : ,---. Running in stand alone mode, All function modules
| : : | | ' ,'\ .--.--. Port: 8848
: | \ | : ,--.--. ,---. / / | / / ' Pid: 3479
| : ' '; | / \ / \. ; ,. :| : /`./ Console: http://192.168.58.128:8848/nacos/index.html
' ' ;. ;.--. .-. | / / '' | |: :| : ;_
| | | \ | \__\/: . .. ' / ' | .; : \ \ `. https://nacos.io
' : | ; .' ," .--.; |' ; :__| : | `----. \
| | '`--' / / ,. |' | '.'|\ \ / / /`--' /
' : | ; : .' \ : : `----' '--'. /
; |.' | , .-./\ \ / `--'---'
'---' `--`---' `----'
2022-12-23 18:43:26,832 INFO Tomcat initialized with port(s): 8848 (http)
2022-12-23 18:43:27,037 INFO Root WebApplicationContext: initialization completed in 4515 ms
2022-12-23 18:43:35,759 INFO Adding welcome page: class path resource [static/index.html]
2022-12-23 18:43:36,555 WARN You are asking Spring Security to ignore Ant [pattern='/**']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead.
2022-12-23 18:43:36,557 INFO Will not secure Ant [pattern='/**']
2022-12-23 18:43:36,674 INFO Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2a76b80a, org.springframework.security.web.context.SecurityContextPersistenceFilter@7a138fc5, org.springframework.security.web.header.HeaderWriterFilter@4816c290, org.springframework.security.web.csrf.CsrfFilter@552518c3, org.springframework.security.web.authentication.logout.LogoutFilter@44a2b17b, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@307765b4, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2c95ac9e, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7eb01b12, org.springframework.security.web.session.SessionManagementFilter@16423501, org.springframework.security.web.access.ExceptionTranslationFilter@455351c4]
2022-12-23 18:43:36,724 INFO Exposing 1 endpoint(s) beneath base path '/actuator'
2022-12-23 18:43:36,928 INFO Tomcat started on port(s): 8848 (http) with context path '/nacos'
2022-12-23 18:43:37,047 INFO Nacos started successfully in stand alone mode. use embedded storage
2022-12-23 18:44:49,368 INFO Initializing Servlet 'dispatcherServlet'
2022-12-23 18:44:49,369 INFO Completed initialization in 1 ms
介紹啟動引數
我們根據Nacos的啟動日誌,簡單分析JVM啟動引數的設定:
/opt/jdk8/bin/java -Djava.ext.dirs=/opt/jdk8/jre/lib/ext:/opt/jdk8/lib/ext -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Dnacos.member.list= -Xloggc:/opt/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/opt/nacos/plugins,/opt/nacos/plugins/health,/opt/nacos/plugins/cmdb,/opt/nacos/plugins/selector -Dnacos.home=/opt/nacos -jar /opt/nacos/target/nacos-server.jar --spring.config.additional-location=file:/opt/nacos/conf/ --logging.config=/opt/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
下面的引數是讀取JAVA的環境變數。
-Djava.ext.dirs=/opt/jdk8/jre/lib/ext:/opt/jdk8/lib/ext
-Xms512m -Xmx512m -Xmn256m
- -Xms 為jvm啟動時分配的記憶體,比如-Xms512m,表示分配512M
- -Xmx 為jvm執行過程中分配的最大記憶體,比如-Xms512m,表示jvm程式最多隻能夠佔用512M記憶體
- -Xmn 表示年輕代的大小設定。
-Dnacos.standalone=true
標識強制使用單機方式執行,如果是單機執行一定要加入此引數(預設啟動為叢集方式)。
-Dnacos.member.list=
代表設定nacos叢集節點列表,該引數可以看作是cluster.conf
檔案的一個替代。
- 單機模式下:StandaloneMemberLookup
叢集模式
cluster.conf
檔案存在:FileConfigMemberLookup- cluster.conf檔案不存在或者 -Dnacos.member.list沒有設定:AddressServerMemberLookup
-Xloggc:/opt/nacos/logs/nacos_gc.log
-Xloggc:指定GC log的位置,以檔案輸出,幫助開發人員分析問題
gc檔案可以在/nacos/logs
中找到,比如使用cat nacos_gc.log.0.current
可以查詢GC日誌:
[root@localhost logs]# cat nacos_gc.log.0.current
Java HotSpot(TM) 64-Bit Server VM (25.331-b09) for linux-amd64 JRE (1.8.0_331-b09), built on Mar 10 2022 11:12:57 by "java_re" with gcc 7.3.0
Memory: 4k page, physical 995668k(78184k free), swap 2097148k(2009596k free)
CommandLine flags: -XX:GCLogFileSize=104857600 -XX:InitialHeapSize=536870912 -XX:MaxHeapSize=536870912 -XX:MaxNewSize=268435456 -XX:NewSize=268435456 -XX:NumberOfGCLogFiles=10 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseGCLogFileRotation
2022-12-23T18:43:21.752+0800: 1.859: [GC (Allocation Failure) 2022-12-23T18:43:21.752+0800: 1.859: [DefNew: 209792K->5071K(235968K), 0.0136621 secs] 209792K->5071K(498112K), 0.0137497 secs] [Times: user=0.02 sys=0.00, real=0.02 secs]
2022-12-23T18:43:22.539+0800: 2.646: [Full GC (Metadata GC Threshold) 2022-12-23T18:43:22.539+0800: 2.646: [Tenured: 0K->6454K(262144K), 0.0522422 secs] 187940K->6454K(498112K), [Metaspace: 20388K->20388K(1069056K)], 0.0523591 secs] [Times: user=0.05 sys=0.00, real=0.05 secs]
// 省略大量列印
我們提取其中一行進行介紹:
2022-12-23T18:43:21.752+0800: 1.859: [GC (Allocation Failure) 2022-12-23T18:43:21.752+0800: 1.859: [DefNew: 209792K->5071K(235968K), 0.0136621 secs] 209792K->5071K(498112K), 0.0137497 secs] [Times: user=0.02 sys=0.00, real=0.02 secs]
DefNew: 209792K->5071K(235968K), 0.0136621 secs]
標識新生代可用空間是235968K
,垃圾此時佔用了209792K
,回收之後剩下5071K
的存活物件。
-verbose:gc -XX:+PrintGCDetails
-verbose:gc
和-XX:+PrintGCDetails
在官方文件中有說明兩者功能一樣,都用於垃圾收集時的資訊列印。但是也有不同點:
-verbose:gc 是 穩定版本
參見:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html
-XX:+PrintGC 是 非穩定版本
可能在未通知的情況下刪除,在下面官方文件中是-XX:-PrintGC
。
因為被標記為manageable,所以可以透過如下三種方式修改:
1、com.sun.management.HotSpotDiagnosticMXBean API
2、JConsole
3、jinfo -flag
介紹完GC日誌列印之後,是接連幾個重要的引數:
-XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M
我們先介紹前兩個引數,這兩個引數都是給列印日誌新增日期使用的:
-XX:+PrintGCDateStamps
GC日誌中新增日期標誌(日誌每行開頭顯示絕日期及時間,單位為秒)
-XX:+PrintGCDateStamps
日誌輸出示例:
2014-01-03T12:08:38.102-0100: [GC 66048K->53077K(251392K), 0,0959470 secs]
2014-01-03T12:08:38.239-0100: [GC 119125K->114661K(317440K), 0,1421720 secs]
日誌中新增時間標誌(日誌每行開頭顯示自從JVM啟動以來的時間)
-XX:+PrintGCTimeStamps
日誌輸出示例:
0,185: [GC 66048K->53077K(251392K), 0,0977580 secs]
0,323: [GC 119125K->114661K(317440K), 0,1448850 secs]
接下來的三個引數經常被放到一起使用:
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M
我們以Nacos的配置為例,每個檔案為100M,其實檔案為,一共劃分為10個檔案,也就是說最大儲存的GC日誌為1G的大小。 此引數的作用是可以將日誌檔案進行切割,防止單個日誌檔案過大。這個引數實際上實際上被網友不推薦使用,具體可以看下面的文章:
http://link.zhihu.com/?target=https%3A//dzone.com/articles/try-to-avoid-xxusegclogfilerotation
- Dloader.path=/opt/nacos/plugins,/opt/nacos/plugins/health,/opt/nacos/plugins/cmdb,/opt/nacos/plugins/selector
Java在啟動時-Dloader.path
引數指定載入jar包的路徑,plugins
為擴充套件外掛。
/opt/nacos/target/nacos-server.jar
這個不需要過多解釋,jar包的執行位置。接下來有一個SpringBoot所需的引數:
--spring.config.additional-location=file:/opt/nacos/conf/
這個配置在SpringBoot文件的解釋如下:
原文:https://docs.spring.io/spring-boot/docs/2.1.9.RELEASE/reference/html/boot-features-external-config.html
我們提取原文:
Alternatively, when custom config locations are configured by usingspring.config.additional-location
, they are used in addition to the default locations. Additional locations are searched before the default locations. For example, if additional locations ofclasspath:/custom-config/,file:./custom-config/
are configured, the search order becomes the following:
(另外,)當使用spring.config.extra-location配置自定義配置位置時,它們會在預設位置之外使用。附加位置會在預設位置之前被搜尋到。例如,如果配置了classpath:/custom-config/
,file:./custom-config/
的附加位置,搜尋順序變成如下:
1. file:./custom-config/
2. classpath:custom-config/
3. file:./config/
4. file:./
5. classpath:/config/
6. classpath:/
--logging.config=/opt/nacos/conf/nacos-logback.xml
logback的配置檔案位置,這裡擷取該檔案的一段配置:
<appender name="naming-server"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME}/naming-server.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/naming-server.log.%d{yyyy-MM-dd}.%i</fileNamePattern>
<maxFileSize>1GB</maxFileSize>
<maxHistory>7</maxHistory>
<totalSizeCap>7GB</totalSizeCap>
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
<encoder>
<Pattern>%date %level %msg%n%n</Pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
和單詞的意思一致,指定Http請求頭的大小。這裡換算下來是512KB:
--server.max-http-header-size=524288
這裡說一個題外話,這個值在 Spring Boot 2.1 開始,可使用DataSize可解析值,上面的值可以替換為下面的內容:
server.max-http-header-size=512KB
引數設定有待商榷,因為Tomcat預設的大小為8KB,同時Server.max-http-header-size
是無論大小都會為介面開闢指定的 記憶體用來接收請求。
以上就是Nacos的JVM啟動引數介紹,可以發現有部分引數其實是不合理的。
訪問Nacos
最後訪問:http://192.168.58.128:8848/nacos/#/login 出現Nacos介面,搭建成功。
預設的使用者名稱和密碼都是 nacos。
總結
以上就是快速部署一個Nacos的過程,整個過程非常簡單,比較值得關注的是最後的JVM引數介紹部分。