Lưu trữ ứng dụng bản đồ web GeoServer + Openlayers trên internet? [đóng cửa]


12

Tôi đã tạo một nguyên mẫu ứng dụng bản đồ web bằng GeoServer (chạy trên Tomcat dưới dạng servlet), Openlayers và PostGIS. Vì nó là một nguyên mẫu, vào thời điểm đó, tôi không bận tâm về các khía cạnh lưu trữ của nó. Nó hoạt động tốt trên localhost (laptop) của tôi: 8080.

Bây giờ là một phần công việc của tôi, tôi được yêu cầu phát triển một ứng dụng tương tự nhưng lần này nó phải truy cập web, để người đó có thể truy cập nó qua www. Cơ quan tôi làm việc có một trang web đang hoạt động tuy nhiên họ muốn nó là một thứ riêng biệt, được lưu trữ riêng biệt với trang web.

Đây là những câu hỏi của tôi:

  1. các bước / tùy chọn cần tuân theo để lưu trữ ứng dụng bản đồ web trên web sao cho ai đó bên ngoài mạng nội bộ của cơ quan hoặc ví dụ như trong trường hợp của tôi, ai đó không phải là localhost cũng có thể truy cập ứng dụng đó? (Xem xét rằng tôi có một chức năng đang hoạt động và chỉ có thể truy cập thông qua localhost, và bây giờ tôi muốn người khác truy cập nó trên máy của họ).
  2. Nếu vậy, làm thế nào tôi có thể thực hiện điều này? Trong trường hợp cơ quan quyết định có nó như một phần của trang web của họ trong tương lai.

Tôi đã đọc qua một số bài đăng và phản hồi ở đây có liên quan đến một cách nào đó tuy nhiên tôi đang bị nhầm lẫn vì vậy tôi hy vọng ai đó có thể giúp trả lời câu hỏi cụ thể của tôi.


Bạn đã có một vài câu trả lời, nhưng bạn có thể tốt hơn nên hỏi điều này trên serverfault.com - trang SE cho nội dung quản trị hệ thống. Không có gì cụ thể cho GIS trong câu hỏi này; những người ở đó sẽ có thể giúp bạn tốt hơn.
GIS-Jonathan

Jonathan, tôi sẽ làm như bạn đề nghị.
Barbara

Một giải pháp ngoài băng mà tôi để người khác xác nhận và thu hút đại diện, sẽ là xuất bản đồ GeoServer sang bản đồ mở "giống như tĩnh" có thể được phục vụ từ lưu trữ web chung.
matt wilkie

@Barbara bạn đã có thể lưu trữ bản đồ web? nếu có, làm thế nào?
ngoằn ngoèo

Câu trả lời:


5

Tôi đã sử dụng WebFaction để lưu trữ GeoServer cùng với PostGreSQL / PostGIS. Cẩn thận, cài đặt và tinh chỉnh GeoServer trên máy chủ không dành cho người yếu tim.

Ban đầu, để khởi động và chạy ứng dụng, tôi đã chuyển đổi hình học của mình thành các tệp Geojson và đặt chúng trong cấu trúc tệp của ứng dụng. Tôi đã sử dụng OpenLayers nhưng đã chuyển sang Leaflet do dấu chân nhỏ, plugin rất hay và tài liệu. Cộng đồng hỗ trợ cũng tuyệt vời.

Nếu kích thước tệp hình học lớn và làm chậm ứng dụng, bạn có thể muốn xem xét chuyển đổi chúng thành topojson . Tôi mới bắt đầu chơi xung quanh nó và nó có vẻ hoạt động tốt.


Xin chào geomajor56, vậy WebFaction là dịch vụ lưu trữ GIS? Quy trình như (ứng dụng / tệp dữ liệu / xử lý thư mục) là gì nếu bạn phải sử dụng dịch vụ lưu trữ GIS để lưu trữ ứng dụng của mình?
Barbara

Đây không phải là dịch vụ lưu trữ web của GIS nhưng nó cung cấp PostGreSQL, PostGIS và tất cả các thư viện cần thiết. Bạn sẽ phải tự cài đặt GeoServer dưới dạng một ứng dụng tùy chỉnh. Tôi đã cài đặt nó trong Tomcat
geomajor56

Ứng dụng của bạn sẽ cho phép chỉnh sửa hình học và thuộc tính?
geomajor56

Geomajor, mạng và lưu trữ nằm ngoài tôi vì vậy tôi sẽ phải hỏi điều này: làm thế nào ứng dụng của bạn có thể truy cập qua web? Tôi thực sự tải xuống tài liệu có liên quan cho WebFaction để hiểu rõ hơn về nó nhưng xin vui lòng tôi sẽ đánh giá cao nếu bạn có thể chia sẻ kinh nghiệm thực tế của mình với dịch vụ của mình. Để bắt đầu, ứng dụng sẽ không cho phép chỉnh sửa hình học và thuộc tính.
Barbara

Khi tôi nhận được nhiệm vụ lưu trữ theo thứ tự và được ghi chép tốt để thực hiện, thì tôi phải bắt đầu công việc về việc cho phép hình học và thuộc tính có thể chỉnh sửa được, nhưng chỉ bởi người dùng được chọn.
Barbara

3

Thông thường, chúng tôi tự lưu trữ Ứng dụng. Nếu bạn đang dự định làm điều này, đây là những bước bạn nên làm theo:

  1. Đảm bảo rằng bạn không tham chiếu localhosthoặc đến một tên máy chủ cụ thể trong mã JavaScript của mình. Tốt nhất là bạn nên sử dụng một đường dẫn tương đối, để nó sẽ hoạt động trơn tru cả trong và ngoài mạng.
  2. Ứng dụng của tôi thường có xu hướng có một số tập lệnh Php. Do đó, tôi lưu trữ ứng dụng trong Apache, chạy trên cổng 80.
  3. Máy chủ địa lý của tôi chạy trong Tomcat hoặc Jetty trên Cổng 8080
  4. Các ứng dụng của tôi cũng thực hiện các cuộc gọi đến GetFeatureInfo của WFS và WMS. Thay vì sử dụng proxy.cgi, tôi sử dụng ProxyPass và ProxyPassReverse của Apache để proxy cho GeoServer. Câu trả lời này sẽ cho bạn biết làm thế nào bạn có thể cấu hình Apache cho việc này.
  5. Quản trị mạng cấu hình mạng, do đó chỉ mở cổng 80 từ internet sang hệ thống này.
  6. Ngoài ra, quản trị viên Mạng thường sẽ định cấu hình một tên miền để trỏ đến địa chỉ IP của máy này để người dùng không phải nhập địa chỉ IP. Ví dụ: nếu Tên miền của công ty tôi là : big-corp.com, Quản trị viên thường sẽ định tuyến tên miền phụ webgis.big-corp.comđể trỏ đến máy chủ này. nếu thay vì điều này, bạn muốn định tuyến big-corp.com\webgis\đến máy chủ này, điều đó cũng có thể được sắp xếp bằng cách cấu hình máy chủ chính big-corp.commột cách thích hợp.

Khi bạn thực hiện việc này, Ứng dụng sẽ có thể truy cập được từ cả bên ngoài mạng (tức là Internet) cũng như bên trong mạng LAN nội bộ


2

Tôi thấy các tùy chọn sau cho đại lý của bạn:

a) Để tìm Máy chủ GeoServer cho ứng dụng của bạn: xem Có công ty Hosting nào cung cấp Geoserver không?

Bạn sẽ bắt đầu bằng cách chọn gói lưu trữ của mình, theo không gian được yêu cầu bởi thông tin địa lý của bạn và lưu lượng truy cập hàng tháng dự kiến. (Tốt hơn là bạn nên chọn gói lưu trữ cơ bản và chuyển đổi sau, nếu cần, lên cấp cao hơn)

Ngoài ra, bạn sẽ đăng ký một tên miền mới, để đảm bảo khách truy cập có thể truy cập ứng dụng của bạn, ví dụ: Geoagency.com . Bạn sẽ có quyền truy cập vào bảng điều khiển chung được đặt tại Geoagency.com/adminpanel hoặc đại loại như thế. Khi chọn máy chủ, bạn phải đảm bảo rằng họ cung cấp trong adminpanel tất cả các công cụ cần thiết:

  • Giao diện quản lý Tomcat để quản lý các máy chủ của bạn
  • Giao diện quản lý GeoServer
  • Truy cập vào cơ sở dữ liệu PostgreSQL (thường được thực hiện bởi phpPgAdmin)
  • Công cụ GUI shp2pgsql
  • Công cụ sao lưu tự động cho PostgreSQL

Ưu điểm: Bạn không can thiệp vào trang web của cơ quan. Bạn không cần thêm thiết bị hoặc cài đặt phần mềm / nâng cấp các hoạt động khó khăn. Bạn cũng được hưởng lợi hỗ trợ kỹ thuật; bạn chỉ cần nhớ tải về định kỳ các bản sao lưu.

Nhược điểm: Nếu bạn lưu trữ nhiều dữ liệu hơn và nếu bạn có lưu lượng truy cập hàng tháng cao, chi phí lưu trữ có thể trở nên khá cao.

b) Tùy chọn thứ hai sẽ là lưu trữ ứng dụng của bạn trên máy tính trong cơ quan. Có, có thể truy cập ứng dụng thông qua một liên kết như www.agency.com/geo hoặc Geo.agency.com . Một số chi tiết triển khai có thể được tìm thấy tại http://www.gistutor.com/geoserver/21-interantly-geoserver-tutorials/38-configuring-geoserver-proxy-for-public-and-remote-data-access.html . Một quản trị viên mạng tốt sẽ có thể làm theo các giải thích. Ngoài ra, cần phải có quyền truy cập vào bản ghi DNS và bộ định tuyến đại lý để hoàn thành toàn bộ quá trình.

Ưu điểm: Bạn không có hạn chế lưu trữ hoặc hạn chế lưu lượng và bạn không phải trả tiền cho một công ty lưu trữ. Nếu bạn đã có quản trị viên mạng và máy tính chuyên dụng cho GeoServer của mình, đây là cách nên làm.

Nhược điểm: Nếu bạn không có quản trị viên mạng thì bạn cần phải thuê một người, ít nhất là cho quá trình thực hiện và sau đó, cho các nhiệm vụ bảo trì và giải quyết sự cố không thể tránh khỏi. Bạn phải chi tiền cho máy tính chuyên dụng. Nếu bạn có một ứng dụng thành công, với rất nhiều khách truy cập, bạn có thể cần chi tiêu một lần nữa để tăng tốc độ băng thông rộng internet của bạn.


Cơ quan này có Quản trị viên Mạng nối lại nhiệm vụ vào tháng 2 hoặc tháng 3 sau đó. Ở giai đoạn này, tôi đang tìm kiếm thông tin, đề xuất và mẹo có liên quan để tôi có thể thông báo lại cho ban quản lý về cuộc họp thứ hai của chúng tôi về các lựa chọn có sẵn, các cân nhắc quan trọng (kỹ thuật, tài chính và hành chính), ưu và nhược điểm, và chi phí, v.v. thực tế như kích thước dữ liệu dưới 1GB hoặc thậm chí 500MB, công việc ít hơn, v.v. Tuy nhiên, tôi đã sẵn sàng khám phá tính khả thi của tùy chọn (b). WRT liên kết theo tùy chọn (b), các chi tiết cụ thể là Linux. Tôi có thể lấy chi tiết cụ thể của Windows ở đâu?
Barbara

Tùy chọn (a) và các dịch vụ tương tự như dịch vụ do WebFaction cung cấp sẽ là những lựa chọn thay thế tốt. Tuy nhiên, cần phải khám phá tùy chọn b để có sự biện minh cho cách tiếp cận đã chọn. Sorin, nếu tôi có thêm câu hỏi tôi sẽ bình luận lại.
Barbara

Đừng lo lắng về sự hiện diện của Linux dưới liên kết tùy chọn (b); nếu bạn nhìn kỹ hơn, bạn sẽ thấy rằng tất cả các cài đặt cần thiết đều liên quan đến Máy chủ Apache và GeoServer, bất kể hệ điều hành. Các cài đặt đó phải được thực hiện trong các tệp httpd.conf và proxy.cgi (được đặt trong thư mục cài đặt Apache của bạn). Ngoài ra, không cần chỉnh sửa users.properies (nó nằm trong thư mục cài đặt GeoServer) nếu bạn đã thay đổi mật khẩu mặc định của GeoServer.
Sorin Călinică

Tuy nhiên, các cài đặt hiển thị trong bài viết là hợp lệ khi toàn bộ ứng dụng GIS và máy chủ web của cơ quan đều được cài đặt trên cùng một máy. Nhưng nó không phải lúc nào cũng giống nhau cho tất cả các công ty. Bây giờ, tôi không biết có gì trong trường hợp của bạn, nhưng nếu máy chủ web của cơ quan của bạn được đặt trên máy tính của chính nó và Ứng dụng GIS của cơ quan được cài đặt trên một máy khác, nhưng cả hai máy đều được đặt trong mạng LAN của cơ quan, trong Apache ProxyPass và ProxyPassReverse các lệnh bạn sẽ thay thế localhost bằng IP bên trong của máy tính GIS.
Sorin Călinică

Mặt khác, nếu máy chủ web được lưu trữ trên một nhà cung cấp bên ngoài và máy GIS nằm trong mạng LAN của bạn thì bạn sẽ thay thế localhost bằng IP công cộng của bạn (được chỉ định bởi ISP của bạn); đồng thời, bạn cần đăng nhập vào bộ định tuyến của mình và chuyển tiếp cổng 8080 sang máy tính GIS của bạn. Nếu bạn (hoặc quản trị viên của bạn) sẽ thực hiện cài đặt này, bạn có thể yêu cầu chi tiết cụ thể.
Sorin Călinică

1

Chỉ để chỉ ra một số điều có thể giúp bạn:

  1. Bạn có thể để máy tính xách tay / PC của bạn bật mãi mãi, vì vậy mọi người có thể truy cập ứng dụng của bạn bất cứ khi nào họ muốn (bạn nên có cấu hình ip / host / etc, v.v., v.v.). Điều này không được "khuyến nghị" trong điều khoản chung, nhưng nhiều người làm điều đó. Đây là một liên kết về nó: http://www.techsupportalert.com/how-to-set-up-your-own-web-server.htmlm
  2. Mua một máy chủ với khả năng gis. Có một vài cái, tôi biết cái này (mặc dù tôi thấy nó đắt tiền): http://www.hostgis.com/home/ . Hãy thử "dịch vụ lưu trữ gis" trong google và bạn sẽ tìm thấy nhiều tùy chọn hơn.

Xin chào Gery, đi sâu vào lựa chọn # 2. Tôi cho rằng cơ quan nên có đủ bột cho việc này.
Barbara

@Barbara chắc chắn họ nên = D hãy tiếp tục cập nhật bài đăng này khi bạn tìm thấy một câu trả lời hay để mọi người có thể tham khảo nó trong tương lai.
Gery

1
Gery, chắc chắn sẽ làm điều đó sau khi tìm kiếm linh hồn. Không chỉ vậy, tôi cũng sẽ chia sẻ những gì đã thực sự được thực hiện.
Barbara
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.