Linux下部署Geoserver
環境
操作系統 |
Centos7 |
|
軟件 |
jdk-8u101-linux-x64.tar.gz |
|
|
apache-tomcat-8.5.5.tar.gz |
|
|
geoserver-2.10-beta-war.zip |
|
JDK安裝
拷貝jdk的安裝包到服務器上
執行
創建目錄 mkdir /usr/java
拷貝 cp /home/gis/jdk-8u101-linux-x64.tar.gz/usr/java/ jdk-8u101-linux-x64.tar.gz
解壓縮包 tar -zxvf jdk-8u101-linux-x64.tar.gz
配置環境變量
vi /etc/profile
在最後加入
#for java
export JAVA_HOME=/usr/java/jdk1.8.0_101
exportCLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
保存,退出
執行 source/etc/profile
執行 javac 如果正確執行 證明jdk安裝成功
Tomcat部署
1. 拷貝安裝包到服務上
2. 解壓 tar-zxvf / home / gis/apache-tomcat-8.5.5.tar.gz
3. 啓動Tomcat
cd /home/gis/tomcat-8.5.5/server/bin
./startup.sh
4. 停止tomcat
./shutdown.sh
5. 加入自啓動
vi /etc/rc.d/rc.local
輸入
exportJAVA_HOME=/usr/java/jdk1.8.0_101
/home/gis/apache-tomcat-8.5.5/bin/startup.sh start
保存退出,
執行 chmod +x /etc/rc.d/rc.local
Geoserver部署
1. 解壓geoserver-2.10-beta-war.zip壓縮包。
2. 將獲取的war包放入apache-tomcat-8.5.5/webapps路徑下
3. 在 tomcat/bin/Catalina.sh文件中
找到 -Djava.security.manager \
-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\""\
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\""\
在每段後追加一句
-Djava.awt.headless=true \
該步驟解決使用中無法選擇數據路徑的問題。
4. 啓動tomcat服務
5. 進行tomcat跨域配置
由於跨域會導致地圖無法正常顯示,需要進行跨域配置。
在apache-tomact-8.5.5/webapps/root目錄中加入
, 這兩個文件
找到apache-tomact-8.5.5/webapps/geoserver/WEB-INF/下的web.xml
加入如下代碼:
<!-- corsfilter config-->
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
</init-param>
<init-param>
<param-name>cors.exposed.headers</param-name>
<param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
</init-param>
<init-param>
<param-name>cors.support.credentials</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.preflight.maxage</param-name>
<param-value>10</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
保存,重啓tomcat。即可解決跨域訪問的問題