安裝
如何完成初始設定ERDDAP™在您的伺服器上
ERDDAP™可以在任何支持的伺服器上執行Java和 Tomcat (以及杰蒂等其他應用服 務器 但我們不支持他們) .ERDDAP™已在 Linux 上驗證 (包括亞馬遜的AWS) 麥克和Windows電腦
- 亞馬遜 -- 如果你正在安裝ERDDAP™在 Amazon 網路服務 EC2 實例中,請參考此Amazon 網路服務概述先
- 嵌入器 -- Axiom 現在提供ERDDAP™嵌入容器而IOOS現在提供快速啟動指南ERDDAP™在容器中. 這是標準ERDDAP™但Axiom把它放進了容器 如果您已經使用 Docker, 您可能會更喜歡 Docker 版本 。 如果你沒有用多克 我們一般不建議這樣 如果您選擇安裝ERDDAP™我們不支援安裝程序 我們還沒和多克合作呢 如果你用這個工作,請發給我們你的評論。
- Linux 和 macs --ERDDAP™在Linux和Mac電腦上做得很好 參考以下指示.
- 視窗 -- 視窗可以做測試ERDDAP™供私人使用 (参见以下指令) 但我們不建議公開使用ERDDAPs. 執行ERDDAP™在 Windows 上可能會有問題:ERDDAP™可能無法快速刪除和(或)重命名檔案 。 可能是因為防病毒軟體 (例如,McAfee和Norton) 是檢查病毒的檔案 如果你碰到這個問題 (以錯誤訊息在log.txt檔案如"無法刪除...") 改變抗病毒軟體的設定, 或者考慮使用 Linux 或者 Mac 伺服器 。
標準ERDDAP™Linux、Macs和Windows 電腦的安裝指令是:
- 確保任何依賴性被安裝 。 在非窗口機上 (Linux 和 Mac) 你需要csh。
Java
-
為ERDDAP™v2.19+, 设置Java21. 出于安全原因,使用最新版本的Java21. 請下載並安裝最新版本 領養的 OpenJDK (特穆林) 21 (升) . 要驗證安裝, 輸入 "/javaJreBin Directory/java - version" , 例如 : 本地/jdk-21.0.3+9/jre/bin/java - 版本
ERDDAP™合作Java但我們建議領養, (就像啤酒和演講) 版本Java21 提供长期支持 (初版后多年的免費更新) . 出于安全原因,請更新您的ERDDAP版本Java定期作为新版本Java21人由收养所提供。
ERDDAP™已與 21 個版本相關, 由於种种原因 我們不試驗也不支持其他版本Java.
托姆卡特
你可以再用一個Java應用程式伺服器 (例如,杰蒂) 但我們只和Tomcat一起做測試
- 下載Tomcat並在您的伺服器或電腦上解開它 。 為了安全起见, 使用最新版本的Tomcat 10 幾乎總是最好的 (第9版及以下不能接受) 它旨在配合Java21或更新。 下面的Tomcat目錄將被稱為_tomcat_.
警告! 如果您已經有 Tomcat 執行其他的網絡應用程式 (特别是THREDDS) 我們建議你安裝ERDDAP™ in第二隻湯姆貓因為ERDDAP™需要不同的 Tomcat 設定, 並不需要與其他應用程式對抗內存。
- 在Linux,下載「 核心 」 tar.gz" Tomcat分布拆開它 我們建議用本地語言來解開它
- 在Mac上,Tomcat可能已經安裝在/Library/Tomcat中,但應該更新到最新的Tomcat 10. 如果你下載下載「 核心 」 tar.gz" Tomcat分布把它打包在/Library/Tomcat中。
- 在視窗上,你可以下載「 Core」 「 Zip」 Tomcat 發布 (它不與 Windows 登記器相混, 您從 DOS 命令列控制它) 并把它打包在适当的目錄中。 (為了發展,我們使用"Core""zip"分配. 我們做一個/程式目錄 并在那里解開它。) 或者你可以下載"Core""64位Windows zip"的發行,其中包括更多的功能. 如果发行是 Windows 安裝器, 它可能會放入 Tomcat, 例如 / Program 檔案/ apache- tomcat-10.0.23 。
伺服器.xml
- 伺服器.xml- 在_tomcat_/conf/server.xml 檔案中,您要對兩者各做兩項變更<連接器 & gt; 標籤 - 1 for
<Connector port="8080"
和一個為
<Conector port="8443"
- (推荐) 增加連接Timeout 參數值, 可能增加到 3000 (毫秒) (5分鐘) .
- (推荐) 新增參數: relaxed QueryChars="\[\]|" 這是可選的, 安全性稍低, 但當這些字元出現在使用者要求的 URL 的參數中時, 使用者不需要用% 编码 。
內容. xml
- 上下文. xml - 資源快取 - 在_tomcat_/conf/context.xml,正前方</ context> 標籤, 變更資源標籤 (如果還沒到,就加上去) 設定快取 最大大小參數為 80000 : <資源缓存Allowed="真"缓存MaxSize="80000"/ & gt; 在卡塔琳娜, 從那開始 汪汪\[主要\]org.apache.catalina.webresources.cache.get 資源 無法新增資源於\[/WEB-INF/类/...]".
Apache 超時
- 在 Linux 電腦上, 變更 Apache 超時設定, 讓耗時的使用者要求不超時 (常常出現的「 Proxy 」 或「 Bad Gateway 」 錯誤) . 根使用者 :
- 修改 Apachehttpd.conf 文件 (通常在/etc/httpd/conf/) : 變更已存在的<超時( gt; ) 設定 (或 在檔案的尾端添加一個) 至3600 (秒) ,而不是預設的60或120秒。 變更已存在的<代理超時 & gt; 設定 (或 在檔案的尾端添加一個) 至3600 (秒) ,而不是預設的60或120秒。
- 重新啟動 Apache: /usr/ sbin/ apachectl -好极了 (但有時它會在不同的目錄中) .
- 安保: 看這些指令增加您的Tomcat安裝的安全性, 特别是公共伺服器的安全性 。
- 公開ERDDAP™Linux 和 Macs 上的設置, 最好建立 Tomcat (程式) 屬於使用者「 Tomcat 」 (使用權限有限的單一使用者沒有密碼) . 因此,只有超使用者可以切換成使用者Tomcat。 這讓黑客無法登入您的伺服器為使用者tompcat。 不管怎樣,你應該讓 tomcat 使用者在伺 服器的檔案系統上有非常有限的權限(read+write+execution權限的 apache-tomcat 目錄樹和<bigParrent Briedery> 和對有資料的目錄只讀權限ERDDAP™)
-
您可以建立 tomcat 使用者帳號 (沒有密碼) 使用命令 sudo 使用者添加 tomcat -s /bin/bash - p '\* ' '
-
您可以用命令切換為使用者 Tomcat 工作 sudo su - Tomcat (它會要求您提供超過使用者的密碼 以便您允許這麼做)
-
您可以使用命令停止使用 Tomcat 。 退出
-
做大部分的托姆卡特和ERDDAP™設定指令為使用者「 Tomcat 」 。 後來, 將啟動的.sh 和關閉的.sh 文稿做成使用者的「 Tomcat 」 , 讓Tomcat 有權寫入它的日志檔案 。
-
從 apache- tomcat 目錄的母目錄中解開Tomcat:
- 將 apache-tomcat 目錄樹的擁有權變更為 tomcat 使用者 。 彩色 - R 圖片格式 - _ 0.0.23_ (但取代您的 Tomcat 目錄的實名) .
- 變更「 群組 」 以成為 tomcat, 您的使用者名稱, 或是包含 tomcat 和 Tomcat 的所有管理者的小群組的名稱 。ERDDAP例如, chgrp -R 你的 使用者名稱 apache-tomcat_10.0.23_
- 變更權限, 讓 tomcat 與群組有讀、 寫、 執行權限, 例如 。 chmod - Rug+rwx apache-tomcat - 1.0.23
- 移除使用者的讀、寫或執行權限 : chmod - R o-rwx apache-tomcat - 1.0.23 這很重要 因為它阻止其他使用者讀取可能敏感的資訊ERDDAP™設定檔案 。
-
記憶
- 設定Tomcat 的環境變數
在 Linux 和 Macs 上 : 建立檔案 tomcat/bin/setenv.sh (在紅帽企業 Linux 中\[瑞爾\],編輯 ~tomcat/conf/tomcat10.conf) 設定Tomcat的環境變數。 此檔案將被 tomcat/bin/ sartup.sh 及關閉.sh 使用 。 檔案中應該有類似的東西:
export JAVA\\_HOME=/usr/local/jdk-21.0.3+9
export JAVA\\_OPTS='-server -Djava.awt.headless=true -Xmx1500M -Xms1500M'
export TOMCAT\\_HOME=/usr/local/apache-tomcat-_10.0.23_
export CATALINA\\_HOME=/usr/local/apache-tomcat-_10.0.23_
(但取代您電腦上的目錄名稱) .
(如果你之前設置了JREXHOME,你可以移除它。)
在Macs上,你可能不需要设置JAVAQHOME。
在視窗上 : 建立檔案 tomcat\bin\setenv.bat 來設定Tomcat的環境變數 。 此檔案將用於 tomcat%bin\ startup. bat 與shutdown.bat. 檔案中應該有類似的東西:
SET "JAVA\\_HOME=\\_someDirectory_\\jdk-21.0.3+9"
SET "JAVA\\_OPTS=-server -Xmx1500M -Xms1500M"
SET "TOMCAT\\_HOME=\\Program Files\\apache-tomcat-_10.0.23_"
SET "CATALINA\\_HOME=\\Program Files\\apache-tomcat-_10.0.23_"
(但取代您電腦上的目錄名稱) . 如果這只是當地試驗, 請移除「 伺服器 」 。 (如果你之前設置了JREXHOME,你可以移除它。)
Xmx 和 -Xms 記憶體設定值很重要, 因為ERDDAP™更有記憶力更好 總是設定 - Xms 與 - Xmx 相同 。
-
32位操作系統和32位操作系統Java: 64 位Java比32比特好多了Java但32位Java只要伺服器不忙,它就會工作 伺服器內存越多越好: 4+ GB真的很好, 2 GB是好的, 32 位Java即便有丰富的物 理記憶 Tomcat和Java如果您試著設定 - Xmx 遠超 1500M , 不會跑 。 (1200M上一些電腦) . 如果您的伺服器內存小于 2GB, 請減少 - Xmx 值 (在 M'egaBytes 中) 至電腦物理記憶體的1/2.
-
64位操作系統和64位操作系統Java: 64 位Java只工作於64位操作系統。
- 用Java8, 您需要在 setenv. bat 的 Tomcat CATALINA OPTS 參數中加入 \-d64 。
- 用Java21,你選64位Java下載版本Java標記為"64位"
有64位Java托姆卡特和Java可使用很高的 - Xmx 和 - Xms 設定值。 伺服器內存越多越好 我們建議您設定 - Xmx 和 - Xms (在 M'egaBytes 中) 至 1/2 (或以下) 電腦的物理記憶體 你可以看到,如果Tomcat,Java和ERDDAP™正在以 64 位模式執行 。ERDDAP每日報告電子郵件, 或是在_ BigParent Birdy_/logs/ 中log.txt文件 (大家长介面(_B)設定. xml) .
垃圾收集
- 在ERDDAP™是log.txt檔案,你會看到很多「GC」 (分配失敗) " 消息。 這通常不是問題 通常由正常操作者發出的訊息Java因為伊甸園裡沒有房間了 (區域Java堆放非常年輕的物件) . 通常訊息會顯示您的 _ memory uses before_Q>memory uses befter。 如果這兩個數字是相關的 這意味著垃圾收集沒有效果 這個訊息只是很常見的麻煩 (每幾秒) 數量大且不增長,Java需要更多的記憶力, 這可能發生在壓力大的時候,然後消失。 但如果它持續,那就代表了麻煩。
- 如果你看到java.lang。ERDDAP™是log.txt文件,参见出自記憶錯誤如何判斷和解決問題
權限
- 在 Linux 和 Macs 上更改權限全部\*.sh檔案在 tomcat/bin/ 中由所有者執行,例如,與
chmod +x \\*.sh
字体
如果您選擇不使用 DejaVu 字型, 您需要更改設定中的字型家庭設定 。 xml 。<字型家庭 & gt; SansSerif</ font Family> , 全部可用Java分配。 如果你把字型「家庭」設為不可用字型的名稱,ERDDAP™不會載入並會在log.txt 檔案中列印可用的字型清單 。 您必須使用其中一個字型 。
如果您選擇使用 DejaVu 字型, 請確定設定中的字型家庭設定 。 xml 是<字体 家庭 & gt; DejaVu Sans</font Family>.
要安裝 DejaVu 字型, 請下載德雅弗恩茨.zip (5,522,795字節,MD5=33E1E61FAB06A547851ED308B4FFEF42) 將字型檔案解析到暫時目錄。
- 在 Linux 上 :
- 用于 Linux 收养Java分布,参见這些指令.
- 与其他Java分布 : 作为 Tomcat 的使用者, 將字型檔案複製成 JAVAXHOME/lib/fonts 以至Java能找到字型。 記住:如果/當你稍后升級到更新版本時Java,您需要重新安裝這些字型 。
- 在 Macs 上: 對每個字型檔案, 請雙擊它, 然後點擊安裝字型 。
- 在 Windows 7 和 10 上: 在 Windows Explorer 中, 選擇所有的字型檔案 。 右按 點擊安裝
測試Tomcat
- 試試你的Tomcat設置。
-
Linux :
- 以使用者「 Tomcat 」 身份執行 _ tomcat_/ bin/ startup.sh
- 在瀏覽器中檢視您的 URL + ": 8080/" (例如, http://coastwatch.pfeg.noaa.gov:8080/ ) .
- 你應該看看Tomcat"恭喜"的頁面 如果有麻煩, 請參考Tomcat 紀錄檔_ tomcat_/logs/catalina.
-
麥克 (以系統管理員使用者身份執行 tomcat) :
- 執行 tomcat/bin/啟動.sh
- 在瀏覽器中檢視您的 URL + ": 8080/" (例如, http://coastwatch.pfeg.noaa.gov:8080/ ) . 注意你的Tomcat只有你才能使用 它不向公众开放。
- 你應該看看Tomcat"恭喜"的頁面 如果有麻煩, 請參考Tomcat 紀錄檔_ tomcat_/logs/catalina.
-
Windows 本地端主機 :
- 右擊系統托盤中的 Tomcat 圖示, 選擇「 啟動服務 」 。
- 查看 http://127.0.0.1:8080/ 或者 http://localhost:8080/ 在您的瀏覽器中。 注意你的Tomcat只有你才能使用 它不向公众开放。
- 你應該看看Tomcat"恭喜"的頁面 如果有麻煩, 請參考Tomcat 紀錄檔_ tomcat_/logs/catalina.
-
Tomcat設置有問題嗎?
- 在Linux和Mac上 如果你找不到Tomcat或者ERDDAP™ (也許你無法從防火牆外面的電腦 找到他們) ,您可以通过輸入來測試Tomcat是否在聽端口 8080 。 (作为根) 在伺服器的命令行上:
netstat -tuplen | grep 8080
這應該是一行的
tcp 0 0 :::8080 :::\\* LISTEN ## ##### ####/java
("#"是位數字) ,表示"java"程序 (大概是Tomcat吧) 8080號港口的交通量 如果沒有返回行, 如果返回的行相差很大, 或者如果返回了兩條或多條行, 那么端口設定可能有問題 。
- 參考Tomcat紀錄檔_tomcat_/logs/catalina. out. Tomcat的問題和一些ERDDAP™啟動問題幾乎總是被指出。 這在您第一次建立時很常见ERDDAP™.
- 看托姆卡特但請告訴我們你有什麼問題,
- 看我們的部分.
ERDDAP™內容
-
建立_tomcat_/content/erddap配置文件 。
在Linux、Mac和Windows上下載erddap 內容.zip (版本 1.0.0, 20333字節, MD5=2B8D2A5AE5ED73E3A42B529C168C60B5,日期2024-10-14) 將它解析成 tomcat, 建立_tomcat_/content/erddap.\[先前的一些版本也有: 2.17 (19,792字節,MD5=8F892616BAEEF2DF0F4BB036DCB4AD7C,日期2022-02-16)
2.18 (19,792字節,MD5=8F892616BAEEF2DF0F4BB036DCB4AD7C,日期2022-02-16)
2.21 (19,810字節,MD5=1E26F62E7 A06191E6868C40B9A29362,日期2022-10-09)
2.22 (19,810字节,MD5=1E26F62E7A06191E6868C40B9A29362,日期2022-12-08) 2.23 (19,810字節,MD5=1E26F62E7A06191E6868C40B9A29362,日期2023-02-27) 將它解析成 tomcat, 建立_tomcat_/content/erddap.\]
其他目錄
紅帽企業 Linux (瑞爾) 或是你無法修改Tomcat目錄 或者你想/需要放進ERDDAP™某些其它位置的內容目錄 (例如,如果你用Jetty代替Tomcat) , 解字串.zip進入想要的目錄 (只有使用者=tomcat才有存取權) 設置erddapContentDirectory系統屬性 (例如,erddapContentDirectory=~tomcat/content/erddap) 所以ERDDAP™找到此新內容目錄。
設定. xml
- 讀取註解_tomcat_/content/erddap/ 設定. xml 并做要求的修改。 設定. xml 是所有設定值的檔案, 指定您如何設定ERDDAP™行為 在初始設定中, 您至少必須改變這些設定 :
<bigParentDirectory>, <emailEverythingTo>, <baseUrl>, <email.\\*>, <admin.\\*> (and <baseHttpsUrl> when you set up https).
當您從大家长會的父目錄中建立大家长會:
- 使使用者=tomcat 成為大家长會的主人,例如,
chown -R tomcat _bigParentDirectory_
- 變更「 群組 」 以成為 tomcat, 您的使用者名稱, 或是包含 tomcat 和 Tomcat 的所有管理者的小群組的名稱 。ERDDAP例如,
chgrp -R _yourUserName_ _bigParentDirectory_
- 變更權限, 讓 tomcat 與群組有讀、 寫、 執行權限, 例如 。
chmod -R ug+rwx _bigParentDirectory_
- 移除使用者的讀取、寫入或執行權限 。 這對防止讀取可能敏感的資訊很重要ERDDAP™使用私密數據集資訊紀錄檔案與檔案 :
chmod -R o-rwx _bigParentDirectory_
環境變數
從開始ERDDAP™v2.13,ERDDAP™管理員可以指定一個命名的環境變數, 以設定. xml 取代任何值ERDDAPXQ值Name _ 在執行前ERDDAP™. 例如,使用ERDDAPQQBaseUrl 覆蓋<baseUrl> 值。 部署時可以方便ERDDAP™使用像 Docker 的容器, 因為您可以在 setup. xml 中設定標準設定值, 並通過環境變數提供特殊設定值 。 如果你提供秘密信息ERDDAP™確保這些資訊將保密。ERDDAP™每個啟動的第一秒只讀取一次環境變數, 所以使用的方法之一是: 設定環境變數, 啟動ERDDAP,直到ERDDAP™已啟動,然後取消環境變數。