Red Hat 7.x 配置ArcGIS Enterprise開機自動啟動
前言
要想在Red Hat 7.x上配置ArcGIS Datastore、ArcGIS Server、Portal for ArcGIS、WebAdaptor所在的tomcat自動啟動,和之前的版本是不同的。在7之前的版本,參考教程為:
絕對不要嘗試在Red Hat 7.x上使用RedHat6.8上的實施方案。
一、Portal, Server, Datastore 開機啟動
在開始之前,預設您已經按照Linux上安裝ArcGIS Enterprise超詳細教程——以Redhat7.2上安裝ArcGIS Enterprise 10.5為例的步驟將ArcGIS Enterprise安裝完畢。
1.拷貝
用root使用者登入
將 <Portal for ArcGIS installation directory>/framework/etc/arcgisportal.service 服務註冊檔案複製到 /etc/systemd/system
將 <ArcGIS Server 安裝目錄>/framework/etc/scripts/arcgisserver.service 單元檔案複製到 /etc/systemd/system
將 <ArcGIS Data Store installation directory>/framework/etc/scripts/arcgisdatastore.service 複製到 /etc/systemd/system
具體命令:
cp /home/arcgis/arcgis/server/framework/etc/scripts/arcgisserver.service /etc/systemd/system/arcgisserver.service
cp /home/arcgis/arcgis/arcgisportal/framework/etc/arcgisportal.service /etc/systemd/system/arcgisserver.service
cp /home/arcgis/arcgis/arcgisdatastore/framework/etc/arcgisportal.service /etc/systemd/system/arcgisserver.service
2.修改許可權
檔案複製完成後,請確保將其檔案許可權設定為 600。
chmod -R 600 /etc/systemd/system/arcgisserver.service
chmod -R 600 /etc/systemd/system/arcgisportal.service
chmod -R 600 /etc/systemd/system/arcgisdatastore.service
3.配置啟動
仍然以root使用者的身份執行以下命令,以在 /etc/systemd/system/multi-user.target.wants 中自動建立連結:
systemctl enable arcgisportal.service
systemctl enable arcgisserver.service
systemctl enable arcgisdatastore.service
4.如果想要驗證是否配置正確
先停止了以上的產品。例如各產品安裝目錄下的./stopxxx
利用systemd 重新啟動服務後檢查其狀態。以ArcGIS Server為例
systemctl stop arcgisserver.service
systemctl start arcgisserver.service
systemctl status arcgisserver.service
可以重啟此伺服器進行測試。看Server Datastore Portal服務能否起來。
reboot
二、Tomcat自動啟動
同樣的,預設您已經按照Linux上安裝ArcGIS Enterprise超詳細教程——以Redhat7.2上安裝ArcGIS Enterprise 10.5為例的步驟將ArcGIS Enterprise安裝完畢。Linux版的ArcGIS WebAdaptor 是執行在tomcat 容器裡的。所以設定了tomcat開機自動啟動也就實現了WebAdaptor開機自動啟動。
使用root使用者
1.建立pid檔案
在tomcat目錄下新建一個空檔案tomcat.pid 命令如下
cd /home/tomcat8
vi tomcat.pid
:wq!
2.設定tomcat記錄pid
在/home/tomcat8/bin目錄下新建setenv.sh(catalina.sh呼叫)
cd /home/tomcat8/bin
vi setenv.sh
$CATALINA_BASE為tomcat安裝的目錄路徑,將tomcat.pid指給了CATALINA_PID
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
:wq
CATALINA_PID 是個變數,在tomcat啟動的時候會寫入值到tomcat.pid
3.增加systemctl的tomcat服務
在/etc/systemd/system/目錄下增加tomcat.service,目錄必須是絕對目錄。
cd /etc/systemd/system
vi /tomcat.service
[Unit]
Description=Apache Tomcat 8
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/home/tomcat8/tomcat.pid
ExecStart=/home/tomcat8/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
:wq
設定600許可權
chmod -R 600 /etc/systemd/system/tomcat.service
4.配置開機啟動
systemctl enable tomcat
5.測試啟動tomcat失敗
啟動tomcat
systemctl start tomcat
得到報錯為
Job for tomcat.service failed because the control process exited with error code. See "systemctl status tomcat.service" and "journalctl -xe" for details.
檢視錯誤資訊
systemctl status tomcat
● tomcat.service - Tomcat
Loaded: loaded (/usr/lib/systemd/system/tomcat.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since 五 2016-12-16 17:52:49 CST; 5s ago
Process: 34944 ExecStop=/bin/kill -s QUIT $MAINPID (code=exited, status=1/FAILURE)
Process: 34953 ExecStart=/usr/local/apache-tomcat-8.5.6/bin/startup.sh (code=exited, status=1/FAILURE)
Main PID: 34899 (code=exited, status=0/SUCCESS)
12月 16 17:52:49 klmy-460-res01 systemd[1]: Starting Tomcat...
12月 16 17:52:49 klmy-460-res01 startup.sh[34953]: Neither the JAVA_HOME nor the JRE_HOME environment varia...ined
12月 16 17:52:49 klmy-460-res01 startup.sh[34953]: At least one of these environment variable is needed to ...gram
12月 16 17:52:49 klmy-460-res01 systemd[1]: tomcat.service: control process exited, code=exited status=1
12月 16 17:52:49 klmy-460-res01 systemd[1]: Failed to start Tomcat.
12月 16 17:52:49 klmy-460-res01 systemd[1]: Unit tomcat.service entered failed state.
12月 16 17:52:49 klmy-460-res01 systemd[1]: tomcat.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
可以看到失敗的原因是 讀不到環境變數
startup.sh[34953]: Neither the JAVA_HOME nor the JRE_HOME environment varia...ined
startup.sh[34953]: At least one of these environment variable is needed to ...gram
而經過檢查JAVA_HOME 和JRE_HOME都是正常的。只能強行在catalina.sh裡寫入環境變數。
切換到tomcat bin目錄下
cd /home/tomcat/bin
vi catalina.sh
export JAVA_HOME=/home/jdk8
export JRE_HOME=/home/jdk8/jre
再執行
systemctl start tomcat
systemctl status tomcat
成功。
可以重啟此伺服器進行測試。看tomcat服務能否起來。
reboot
相關文章
- Red Hat Enterprise Linux 9的簡介Linux
- Red Hat Enterprise Linux Server 7.4 安裝LinuxServer
- redhat enterprise linux中vsftp開機自啟動RedhatLinuxFTP
- Linux Red Hat啟動時顯示system not foundLinux
- How to disable transparent hugepages (THP) on Red Hat Enterprise Linux 7Linux
- How to disable transparent Hugepage (THP) on Red Hat Enterprise Linux 8?Linux
- oracle配置開機自啟動Oracle
- Linux開機自啟動配置Linux
- Red Hat Enterprise Linux 10 下載 - 紅帽企業 LinuxLinux
- 《Red Hat Enterprise Linux 9 系統管理實戰》簡介Linux
- Red Hat 7.9安裝達夢資料庫DM8 使用Xmanager Enterprise 5啟動圖形化時報錯資料庫
- G005-OS-INS-02 Red Hat Enterprise Linux V8.2 安裝Linux
- CentOS 7 - 配置服務實現開機自啟動CentOS
- Red Hat 7.5 Yum Replacement
- KVM虛機開機自啟和取消自啟動
- Nginx設定成服務並開機自動啟動的配置詳解Nginx
- Linux 新增開機自啟動Linux
- Android開機自啟動程式Android
- Windows10 開機自動啟動 VagrantWindows
- nginx 加入到開機自動啟動Nginx
- 甲骨文與紅帽擴大合作,將Red Hat Enterprise Linux引入 Oracle Cloud InfrastructureLinuxOracleCloudASTStruct
- Ubuntu自動啟動配置指令碼Ubuntu指令碼
- ArcGIS如何自動獲得隨機取樣點?隨機
- Apache DolphinScheduler如何開啟開機自啟動功能?Apache
- Linux配置開機自啟動執行指令碼方法有哪些?Linux指令碼
- windows如何開機自動啟動某些應用?Windows
- 【OEM】Oracle oem取消開機自動啟動(linux)OracleLinux
- ubuntu15中tomcat開機自動啟動UbuntuTomcat
- 如何設定win10軟體開機自動啟動 win10軟體開機自動啟動的方法Win10
- springboot 配置熱啟動 不需重啟自動部署Spring Boot
- springboot自動配置原理和啟動流程Spring Boot
- EON 開機自動開啟 WIFI 熱點WiFi
- Red Hat Enterprise Linux 6 7關閉透明大頁面及透明大頁面基礎概念Linux
- Linux 新增指令碼開機自啟動Linux指令碼
- Linux 下軟體開機自啟動Linux
- linux7 開機自啟動oracleLinuxOracle
- win10如何禁止autodesk開機自啟_win10禁止autodesk開機自動啟動的方法Win10
- 4 配置Oracle資料庫自動啟動Oracle資料庫