โฮสต์ GeoServer + Openlayers เว็บแอพพลิเคชั่นแผนที่บนอินเทอร์เน็ต? [ปิด]


12

ฉันสร้างต้นแบบแอปพลิเคชั่นการทำแผนที่เว็บโดยใช้ GeoServer (ทำงานบน Tomcat เป็น servlet), Openlayers และ PostGIS เนื่องจากมันเป็นต้นแบบในเวลานั้นฉันไม่ได้สนใจเรื่องโฮสติ้งของมัน มันทำงานได้ดีบน localhost (แล็ปท็อป) ของฉัน: 8080

ตอนนี้เป็นส่วนหนึ่งของงานของฉันฉันได้รับการร้องขอให้พัฒนาแอพพลิเคชั่นที่คล้ายกัน แต่คราวนี้มันต้องไปบนเว็บเช่นคน x สามารถเข้าถึงได้ผ่าน www เอเจนซี่ที่ฉันทำงานมีเว็บไซต์ที่ทำงานอยู่ แต่พวกเขาต้องการให้มันแยกจากของตัวเองโดยแยกออกจากเว็บไซต์

นี่คือคำถามของฉัน:

  1. อะไรคือขั้นตอน / ตัวเลือกที่ต้องปฏิบัติเพื่อโฮสต์แอปพลิเคชันการจับคู่เว็บบนเว็บเพื่อให้คนที่อยู่นอกอินทราเน็ตของเอเจนซี่หรือในกรณีของฉันคนอื่นที่ไม่ใช่ localhost สามารถเข้าถึงได้เช่นกัน (พิจารณาว่าฉันมีสิ่งหนึ่งที่ใช้งานได้และสามารถเข้าถึงได้ผ่าน localhost เท่านั้นและตอนนี้ฉันต้องการให้คนอื่นเข้าถึงได้บนเครื่องของพวกเขาด้วย)
  2. ถ้าเป็นเช่นนั้นฉันจะใช้สิ่งนี้ได้อย่างไร ในกรณีที่หน่วยงานตัดสินใจที่จะให้มันเป็นส่วนหนึ่งของเว็บไซต์ของพวกเขาในอนาคต

ฉันได้อ่านโพสต์และคำตอบที่นี่ที่เกี่ยวข้องอย่างใด แต่ฉันสับสนดังนั้นฉันหวังว่าบางคนสามารถช่วยตอบคำถามเฉพาะของฉัน


คุณมีคำตอบหลายข้อ แต่คุณควรถามคำถามนี้ในserverfault.com - หน้า SE สำหรับผู้ดูแลระบบ ไม่มีอะไรเฉพาะเจาะจงกับ GIS ในคำถามนี้ คนจะช่วยคุณได้ดีกว่า
GIS-Jonathan

โจนาธานฉันจะทำตามที่คุณแนะนำ
บาร์บาร่า

การแก้ปัญหานอกวงซึ่งฉันปล่อยให้คนอื่นทำหน้าที่แทนและรวบรวมเพื่อจะส่งแผนที่ GeoServer ไปยังแผนที่ openlayers "แบบคงที่" ซึ่งสามารถให้บริการจากเว็บโฮสติ้งที่ใช้ร่วมกันทั่วไป
แมตต์วิลคี

@Barbara คุณสามารถโฮสต์แผนที่เว็บได้หรือไม่ ถ้าใช่เป็นอย่างไร
ziggy

คำตอบ:


5

ฉันใช้WebFactionเพื่อโฮสต์ GeoServer พร้อมกับ PostGreSQL / PostGIS ระวังการติดตั้งและปรับแต่ง GeoServer บนเซิร์ฟเวอร์นั้นไม่ได้อยู่ที่ความกังวลใจ

ในขั้นต้นเพื่อให้แอพของฉันทำงานและใช้งานได้ฉันแปลงรูปทรงเรขาคณิตของฉันเป็นไฟล์ geojson และวางไว้ในโครงสร้างไฟล์ของแอพ ฉันใช้ OpenLayers แต่ได้เปลี่ยนเป็นLeafletเนื่องจากมีรอยเท้าเล็ก ๆ ปลั๊กอินที่ดีมากและเอกสาร ชุมชนการสนับสนุนก็ยอดเยี่ยมเช่นกัน

ถ้าขนาดของไฟล์รูปทรงเรขาคณิตที่มีขนาดใหญ่และชะลอตัวลง app ที่คุณอาจต้องการที่จะต้องพิจารณาการแปลงให้topojson ฉันเพิ่งเริ่มเล่นกับมันและดูเหมือนว่าจะทำงานได้ดี


สวัสดี geomajor56 ดังนั้น WebFaction เป็นบริการโฮสติ้ง GIS หรือไม่ ขั้นตอนเช่น (แอปพลิเคชัน / ไฟล์ข้อมูล / การจัดการโฟลเดอร์) คืออะไรหากคุณต้องใช้บริการโฮสต์ GIS เพื่อโฮสต์แอปพลิเคชันของคุณ
บาร์บาร่า

ไม่ใช่บริการเว็บโฮสติ้ง GIS แต่ให้บริการ PostGreSQL, PostGIS และห้องสมุดที่จำเป็นทั้งหมด คุณจะต้องติดตั้ง GeoServer ด้วยตัวคุณเองเป็นแอพที่กำหนดเอง ฉันติดตั้งภายใน Tomcat
geomajor56

แอปของคุณจะอนุญาตให้แก้ไขรูปทรงเรขาคณิตและคุณลักษณะได้หรือไม่
geomajor56

Geomajor, การสร้างเครือข่ายและการโฮสต์นั้นอยู่เหนือฉันดังนั้นฉันจะต้องถามสิ่งนี้: แอปของคุณสามารถเข้าถึงผ่านทางเว็บได้อย่างไร? ฉันกำลังดาวน์โหลดเอกสารที่เกี่ยวข้องสำหรับ WebFaction เพื่อให้ได้รับข้อมูลเชิงลึก แต่โปรดฉันขอขอบคุณถ้าคุณสามารถแบ่งปันประสบการณ์จริงของคุณกับบริการของมัน สำหรับการเริ่มต้นแอปจะไม่อนุญาตให้แก้ไขรูปทรงและคุณลักษณะ
บาร์บาร่า

เมื่อฉันได้รับงานโฮสติ้งตามลำดับและมีเอกสารดีสำหรับการนำไปใช้งานแล้วฉันจะต้องเริ่มทำงานในส่วนของการอนุญาตให้ใช้รูปทรงเรขาคณิตและคุณลักษณะที่สามารถแก้ไขได้ แต่เฉพาะผู้ใช้ที่เลือก
บาร์บาร่า

3

โดยปกติเราโฮสต์แอปพลิเคชันด้วยตนเอง หากคุณวางแผนที่จะทำสิ่งเหล่านี้เป็นขั้นตอนที่คุณควรปฏิบัติตาม:

  1. ตรวจสอบให้แน่ใจว่าคุณไม่ได้อ้างถึงlocalhostหรือชื่อโฮสต์เฉพาะในรหัส JavaScript ของคุณ เป็นการดีที่สุดที่คุณจะใช้เส้นทางสัมพัทธ์เพื่อที่จะทำงานได้อย่างราบรื่นทั้งภายในและภายนอกเครือข่าย
  2. แอปพลิเคชันของฉันมักจะมีสคริปต์ Php เนื่องจากสิ่งนี้ฉันโฮสต์แอปพลิเคชันใน Apache ทำงานบนพอร์ต 80
  3. My Geoserver ทำงานใน Tomcat หรือ Jetty บนพอร์ต 8080
  4. แอพของฉันยังโทรไปยัง WFS และ GetFeatureInfo ของ WMS แทนที่จะใช้ proxy.cgi ฉันใช้ ProxyPass และ ProxyPassReverse ของ Apache เพื่อใช้กับ GeoServer คำตอบนี้จะบอกคุณว่าคุณสามารถกำหนดค่า Apache สำหรับสิ่งนี้ได้อย่างไร
  5. ผู้ดูแลเครือข่ายกำหนดค่าเครือข่ายเพื่อเปิดพอร์ต 80 เท่านั้นจากอินเทอร์เน็ตไปยังระบบนี้
  6. นอกจากนี้ผู้ดูแลเครือข่ายมักจะกำหนดค่าชื่อโดเมนให้ชี้ไปที่ที่อยู่ IP ของเครื่องนี้เพื่อให้ผู้ใช้ไม่ต้องป้อนที่อยู่ IP ตัวอย่างเช่นหากชื่อ บริษัท ของฉันคือ: big-corp.comผู้ดูแลระบบจะกำหนดเส้นทางโดเมนย่อยwebgis.big-corp.comให้ชี้ไปที่เซิร์ฟเวอร์นี้ หากแทนที่จะเป็นเช่นนี้คุณต้องการกำหนดเส้นทางbig-corp.com\webgis\ไปยังเซิร์ฟเวอร์นี้ซึ่งสามารถจัดเรียงได้ด้วยการกำหนดค่าเซิร์ฟเวอร์หลักbig-corp.comอย่างเหมาะสม

เมื่อคุณทำสิ่งนี้แอปพลิเคชันจะสามารถเข้าถึงได้จากทั้งนอกเครือข่าย (เช่นอินเทอร์เน็ต) และภายใน LAN ภายใน


2

ฉันเห็นตัวเลือกต่อไปนี้สำหรับตัวแทนของคุณ:

a)ในการค้นหาโฮสต์ GeoServer สำหรับแอปพลิเคชันของคุณ: ดูมี บริษัท โฮสติ้งใดบ้างที่ให้บริการ Geoserver

คุณจะเริ่มต้นด้วยการเลือกแผนบริการโฮสต์ของคุณตามพื้นที่ที่ต้องการโดยข้อมูลทางภูมิศาสตร์และปริมาณการใช้งานรายเดือนที่คาดหวัง (เป็นการดีกว่าสำหรับคุณที่จะเลือกแผนการโฮสต์พื้นฐานและสลับในภายหลังหากจำเป็นให้อยู่ในระดับที่สูงขึ้น)

นอกจากนี้คุณจะลงทะเบียนโดเมนใหม่เพื่อให้มั่นใจว่าผู้เข้าชมสามารถเข้าถึงโปรแกรมประยุกต์ของคุณเช่นgeoagency.com คุณจะสามารถเข้าถึงแผงการบริหารทั่วไปที่geoagency.com/adminpanelหรืออะไรทำนองนั้น เมื่อเลือกโฮสต์คุณจะต้องตรวจสอบให้แน่ใจว่าพวกเขามีเครื่องมือจัดการที่จำเป็นในadminpanel :

  • อินเตอร์เฟสการจัดการ Tomcat เพื่อจัดการเซิร์ฟเล็ตของคุณ
  • ส่วนต่อประสานการจัดการ GeoServer
  • เข้าถึงฐานข้อมูล PostgreSQL (โดยทั่วไปจะทำโดย phpPgAdmin)
  • เครื่องมือ GUI shp2pgsql
  • เครื่องมือสำรองข้อมูลอัตโนมัติสำหรับ PostgreSQL

จุดเด่น:คุณจะไม่เข้าไปยุ่งกับเว็บไซต์ของเอเจนซี่ คุณไม่ต้องการอุปกรณ์เพิ่มเติมหรือติดตั้งซอฟต์แวร์ / อัพเกรดกิจกรรมที่ยาก คุณยังได้รับประโยชน์จากการสนับสนุนทางเทคนิค คุณอย่าลืมดาวน์โหลดแบ็คอัพเป็นระยะ

ข้อด้อย:ถ้าคุณเก็บข้อมูลเพิ่มเติมและถ้าคุณมีปริมาณการใช้งานต่อเดือนสูงต้นทุนการโฮสต์อาจสูงมาก

b)ตัวเลือกที่สองคือโฮสต์แอปพลิเคชันของคุณบนคอมพิวเตอร์ภายใน บริษัท ตัวแทน ใช่มันเป็นไปได้ที่จะเข้าถึงแอพลิเคชันผ่านการเชื่อมโยงเช่นwww.agency.com/geoหรือgeo.agency.com บางส่วนของรายละเอียดการดำเนินการสามารถพบได้ที่http://www.gistutor.com/geoserver/21-intermediate-geoserver-tutorials/38-configuring-geoserver-proxy-for-public-and-remote-data-access.html . ผู้ดูแลระบบเครือข่ายที่ดีจะสามารถติดตามคำอธิบายได้ นอกจากนี้ยังจำเป็นต้องมีการเข้าถึงระเบียน DNS และเราเตอร์เอเจนซี่เพื่อให้กระบวนการทั้งหมดเสร็จสมบูรณ์

ข้อดี:คุณไม่มีข้อ จำกัด ด้านการจัดเก็บหรือข้อ จำกัด ด้านการจราจรและคุณไม่ต้องจ่าย บริษัท โฮสติ้ง หากคุณมีผู้ดูแลระบบเครือข่ายและคอมพิวเตอร์เฉพาะสำหรับ GeoServer ของคุณนี่คือวิธีที่จะไป

ข้อด้อย:หากคุณไม่มีผู้ดูแลระบบเครือข่ายคุณต้องจ้างอย่างน้อยหนึ่งอย่างสำหรับกระบวนการดำเนินการและหลังจากนั้นงานบำรุงรักษาและการแก้ไขปัญหาที่หลีกเลี่ยงไม่ได้ คุณต้องใช้เงินสำหรับคอมพิวเตอร์โดยเฉพาะ หากคุณมีแอปพลิเคชันที่ประสบความสำเร็จมีผู้เข้าชมจำนวนมากคุณอาจต้องใช้จ่ายอีกครั้งเพื่อเพิ่มความเร็วอินเทอร์เน็ตบรอดแบนด์ของคุณ


เอเจนซี่มีผู้ดูแลระบบเครือข่ายที่กลับมาปฏิบัติหน้าที่ในเดือนกุมภาพันธ์หรือเดือนมีนาคม ในขั้นตอนนี้ฉันกำลังค้นหาข้อมูลคำแนะนำและเคล็ดลับที่เกี่ยวข้องเพื่อให้ฉันสามารถแจ้งฝ่ายจัดการอีกครั้งในการประชุมครั้งที่สองของเราเกี่ยวกับตัวเลือกที่มีข้อควรพิจารณาที่สำคัญ (ด้านเทคนิคการเงินและการบริหาร) ข้อดีข้อเสียและค่าใช้จ่ายเป็นต้น ใช้งานได้จริงเช่นขนาดข้อมูลน้อยกว่า 1GB หรือแม้แต่ 500MB ทำงานน้อยลง ฯลฯ อย่างไรก็ตามฉันยังสำรวจความเป็นไปได้ของตัวเลือก (b) WRT ลิงก์ภายใต้ตัวเลือก (b), รายละเอียดเฉพาะ Linux ฉันจะรับรายละเอียดเฉพาะของ Windows ได้จากที่ใด
บาร์บาร่า

ตัวเลือก (a) และบริการที่คล้ายกับที่ให้ไว้โดย WebFaction จะเป็นทางเลือกที่ดี ความจำเป็นในการสำรวจตัวเลือก b คือการมีเหตุผลสำหรับวิธีการที่เลือกไว้ โซรินถ้าฉันมีข้อสงสัยเพิ่มเติมฉันจะแสดงความคิดเห็นอีกครั้ง
บาร์บาร่า

ไม่ต้องกังวลกับการมีอยู่ของ Linux ภายใต้ลิงก์ตัวเลือก (b) หากคุณมองใกล้คุณจะเห็นว่าการตั้งค่าที่จำเป็นทั้งหมดนั้นเกี่ยวข้องกับ Apache Server และ GeoServer ไม่ว่าระบบปฏิบัติการจะเป็นเช่นไร ต้องทำการตั้งค่าเหล่านั้นในไฟล์ httpd.conf และ proxy.cgi (ซึ่งอยู่ในโฟลเดอร์การติดตั้ง Apache ของคุณ) นอกจากนี้ไม่จำเป็นต้องแก้ไข users.properties (อยู่ในโฟลเดอร์การติดตั้ง GeoServer) หากคุณเปลี่ยนรหัสผ่านเริ่มต้นของ GeoServer แล้ว
Sorin Călinică

อย่างไรก็ตามการตั้งค่าที่แสดงในบทความนั้นจะถูกต้องเมื่อทั้งแอปพลิเคชั่น GIS และเอเจนซีเว็บเซิร์ฟเวอร์ติดตั้งในเครื่องเดียวกัน แต่มันก็ไม่เหมือนกันสำหรับทุก บริษัท ตอนนี้ฉันไม่ทราบว่ามีอะไรในกรณีของคุณ แต่ถ้าเว็บเซิร์ฟเวอร์เอเจนซี่ของคุณตั้งอยู่บนคอมพิวเตอร์ของตัวเองและติดตั้ง GIS Application ของเอเจนซี่บนอีกเครื่อง แต่ทั้งสองเครื่องอยู่ใน LAN ของเอเจนซี่ใน Apache ProxyPass และ ProxyPassReverse คำสั่งคุณจะแทนที่ localhost ด้วย IP ภายในของคอมพิวเตอร์ GIS
Sorin Călinică

ในทางกลับกันหากเว็บเซิร์ฟเวอร์โฮสต์บนผู้ให้บริการภายนอกและเครื่อง GIS อยู่ใน LAN ของคุณคุณจะแทนที่ localhost ด้วย IP สาธารณะของคุณ (กำหนดโดย ISP ของคุณ) นอกจากนี้คุณต้องลงชื่อเข้าใช้เราเตอร์ของคุณและส่งต่อพอร์ต 8080 ไปยังคอมพิวเตอร์ GIS ของคุณ หากคุณ (หรือผู้ดูแลระบบของคุณ) จะทำการติดตั้งนี้คุณอาจขอรายละเอียดเฉพาะ
Sorin Călinică

1

เพียงชี้บางสิ่งที่อาจช่วยคุณได้:

  1. คุณสามารถให้แล็ปท็อป / พีซีของคุณเปิดตลอดไปเพื่อให้ผู้คนสามารถเข้าถึงแอพของคุณได้ทุกเมื่อที่ต้องการ นี่ไม่ใช่ "แนะนำ" ตามเงื่อนไขทั่วไป แต่หลายคนทำเช่นนั้น นี่คือลิงค์เกี่ยวกับมัน: http://www.techsupportalert.com/how-to-set-up-your-own-web-server.htm
  2. ซื้อโฮสต์ที่มีความสามารถ GIS มีหลายคนที่มีฉันรู้ว่าคนนี้ (ฉันคิดว่ามันแพงแม้ว่า): http://www.hostgis.com/home/ ลอง "บริการโฮสติ้ง GIS" ใน google แล้วคุณจะพบตัวเลือกเพิ่มเติม

สวัสดี Gery, ดำน้ำในตัวเลือก # 2 ฉันคิดว่าหน่วยงานควรมีแป้งเพียงพอสำหรับเรื่องนี้
บาร์บาร่า

@Barbara มั่นใจว่าพวกเขาควร = D โปรดอัปเดตโพสต์นี้ต่อเมื่อคุณพบคำตอบที่ดีเพื่อให้ผู้คนสามารถอ้างอิงได้ในอนาคต
Gery

1
Gery แน่นอนว่าจะทำอย่างนั้นหลังจากการค้นหาวิญญาณ ไม่เพียงแค่นั้นฉันจะแบ่งปันสิ่งที่ทำจริง
บาร์บาร่า
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.