Linux下部署Geoserver

    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。即可解決跨域訪問的問題

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章