Configuration avancée de Production GeoServer

La plupart des téléchargements GeoServer visent à montrer rapidement les capacités, avec un tableau de démos, couches de l’échantillon et un conteneur de servlet incorporé. Si vous utilisez GeoServer dans un environnement de production, il y a quelques petites choses, que nous tenons à recommander. Dans cette section la tâche consiste à configurer votre système pour l’utiliser en production.

Note

Avant de commencer, assurez-vous que le « administrateur Web Interface - serveur » section est terminée.

Configuration de votre conteneur pour production

Note

Plus open source Java web conteneurs, tels que Tomcat, sont fournis avec des configurations de mode de développement qui permettent pour un démarrage rapide, mais ne fournissent pas les meilleures performances.

Assurez-vous que dans le « setenv.sh », ou « setenv.bat » sur les machines Windows, le fichier existe la configuration suivante pour configurer les options de machine virtuelle Java dans votre conteneur. Ouvrir le fichier « setenv.sh/.bat » dans ‘<TRAINING_ROOT>’ annuaire et regarder les options :</TRAINING_ROOT>

../../../_images/java_opts.png

Définition de la JAVA_OPTS pour conteneur Tomcat *

  • -server: Inexistant parmi les options de formation, cette option permet à la JVM du serveur, qui JIT compile bytecode beaucoup plus tôt, et avec des optimisations plus fortes. Démarrage et les premiers appels seront plus lents en raison de la compilation JIT prendre plus de temps, mais les suivantes seront plus rapides (pour vous donner quelques chiffres, sur la même machine vanille VM renvoie GML à la vitesse de 7 Mo / s, un un -server fonctionne à 10 Mo / s). Cette option est nécessaire uniquement si la JMV ne reçoit pas déjà en mode serveur, ce qui se passe sur un système de Opearting serveur (serveur Linux, Windows) avec au moins 2 coeurs et 2 GB de mémoire.

Note

Ce paramètre est nécessaire uniquement pour les environnements Windows de station de travail

  • -Xms512m -Xmx512M: donner la mémoire de votre serveur. Par défaut JVM utilisera seulement 64 Mo de tas. Si vous servez juste des données vectorielles, vous serez streaming, donc avoir beaucoup de mémoire ne sera pas aider beaucoup, mais si vous êtes couvertures servant JAI allez utiliser un cache pour éviter de heurter le disque souvent. Dans ce cas, donner Geoserver au moins 256 Mo ou de la mémoire, ou plus si vous avez beaucoup de RAM, et aller configurer la taille de cache titre JAI dans le panneau de configuration Geoserver afin qu’il utilise 75% du tas (0,75). Si vous avez beaucoup de mémoire, il est suggéré de mettre -Xms à la même valeur que -Xmx, cela rendra la gestion de tas plus stable au cours lourde charge de servir. D’une manière générale, ne pas allouer plus de 2 Go pour le tas de GeoServer.

  • - XX: MaxPermSize = 128m (ou plus): la génération permanente est la partie du tas où le bytecode de la classe est stockée. GeoServer utilise beaucoup de classes, et il peut épuiser l’espace menant rapidement à des erreurs de mémoire. Si you’redeploying GeoServer avec d’autres applications dans le même récipient ou si vous avez besoin de déployer plusieurs instances de GeoServer à l’intérieur du même conteneur (par exemple, les différentes instances pour différents clients ou des besoins similaires) il vaut mieux relever les MaxPermSize à 128m ou plus.

Avertissement

Afin d’obtenir les meilleures performances, installez le natif ** ** Version JAI dans votre JDK. En particulier, l’installation de la JAI natif est important pour tout le traitement de trame, qui est largement utilisé dans les deux WMS et WCS pour redimensionner, couper et reprojeter trames. Installation de la JAI natif est également importante pour tous lecture et l’écriture raster, qui affecte les deux WMS et WCS. Enfin, natif JAI est très utile, même si il n’y a pas de données raster impliqués, comme WMS encodage de sortie nécessite l’écriture des images PNG / GIF / JPEG, qui sont eux-mêmes trames. Pour plus d’informations comment INSTALLA JAI et ImageIO voir la: ref: Installation du ImageIO <geoserver.jai_io_install> section natif JAI et

Configurer la journalisation pour la production

Note

Exploitation forestière peut visiblement affecter les performances de votre serveur. Haut niveaux d’enregistrement sont souvent nécessaires pour traquer les problèmes, mais par défaut, vous devez exécuter avec la plus faibles (et vous pouvez passer les niveaux d’enregistrement lors de l’exécution, donc ne vous inquiétez pas d’avoir à arrêter le serveur afin de recueillir plus d’informations). Vous pouvez modifier le niveau d’enregistrement en allant dans le panneau de configuration de GeoServer, section serveur.

  1. Allez dans “http://localhost:8083/geoserver <http: localhost:8083/geoserver=”“>’ _ et cliquez sur le « Global » lien dans la section”Paramètres”.</http:>

  2. Sélectionnez « PRODUCTION_LOGGING.properties » à * profil * enregistrement et cliquez sur soumettre.

../../../_images/login_setup.png

Set up logging for production

Choix d’une stratégie de service

Note

Une stratégie de service est la façon dont nous servons la sortie au client. Fondamentalement, il faut choisir entre être absolument sûr de signaler les erreurs avec les codes appropriés de OGC et servant de sortie rapidement.

Vous pouvez configurer la stratégie de service modifier le fichier web.xml situé dans ‘<TOMCAT_HOME>/instances/instance1/webapps/geoserver/WEB-INF’ répertoire de votre installation de GeoServer :</TOMCAT_HOME>

  1. Définissez le nom de param « serviceStrategy » avec « Vitesse ».

Toutes les stratégies possibles sont :

  • Vitesse : servir tout de suite les sorties. La stratégie plus rapide, le rendent peu probable de pouvoir signaler bon Erreurs OGC WFS cependant (elles sont déclarées uniquement si l’erreur se produit avant l’encodingstarts GML).

  • TAMPON : stocke le résultat dans la mémoire et puis il sert lorsque la sortie est terminée. Cela garantit la bonne erreur OGC, reporting, mais retarde la réponse un peu et épuisera mémoire si la réponse est grande.

  • FICHIER : identique au tampon, mais utilise un stockage de fichier pour la mise en mémoire tampon. Plus lent que la mémoire tampon, assure qu’il n’y aura des problèmes de mémoire.

  • PARTIELLE-buf2 : un équilibre entre les deux, essaie de mettre en mémoire tampon en mémoire quelques kilo-octets de réponse, puis se comporte comme la vitesse.

Configuration de toutes les données et les métadonnées de votre instance

Note

Il peut être tentant de sauter certaines étapes de configuration, laisser dans les mêmes mots-clés et résumé comme échantillon. S’il vous plaît ne sont pas, comme cela ne sera qu’embrouiller les utilisateurs potentiels. Ils auront une liste de GeoServers appelé « My GeoServer ».

  • Remplir complètement les sections WFS et WMS contenu.

  • Equipez votre propre URI (par exemple, le nom de votre site Web) pour le Namespace (données-> Workspace) et supprimer les valeurs par défaut.

  • Assurez-vous que vos entrepôts de données tous les utilisent votre URI.

  • Enlever les couches de l’échantillon (États, spearfish, New York routes et similaires, la plus simple façon est d’aller et supprimer les espaces de travail de démonstration, tout ce qu’ils contiennent seront supprimés ainsi)

Changer le mot de passe administrateur

GeoServer est livré par défaut avec « admin » et « geoserver » comme le nom d’utilisateur administrateur par défaut et le mot de passe. Avant de mettre le GeoServer on-line, il est impératif de changer au moins le mot de passe administrateur.

L’utilisation d’un répertoire de données externe pour stocker vos configurations

Note

Les données de configuration se trouve dans le GEOSERVER_DATA_DIR. Pour augmenter la portabilité de leurs données et de faciliter les mises à jour GeoServer, vous devrez placer ce répertoire en dehors de GeoServer éditant le fichier web.xml par le chemin que vous préférez

Voir le paramètre de contexte « GEOSERVER_DATA_DIR » en ‘<TRAINING_ROOT>/tomcat-6.0.36/instances/instance1/webapps/geoserver/WEB-INF’:</TRAINING_ROOT>

<context-param>
  <param-name>GEOSERVER_DATA_DIR</param-name>
  <param-value>$GEOSERVER_DATA_DIR</param-value>
</context-param>

Note

Le répertoire de données externes peut aussi être configuré via les variables d’environnement sur le fichier « setenv.sh/.bat ».

À l’aide d’une base de données Spatial

Nous faisons des fichiers de formes disponibles comme une banque de données, car ils sont un tel format commun. Mais si vous exécutez GeoServer dans un environnement de production et si vous avez besoin pour gérer les index spatiaux, opérations ou si vous avez des besoins spécifiques impliquant l’utilisation d’une base de données, mise en place d’une base de données spatiales et de la conversion de vos fichiers de formes est fortement recommandé. Si vous faites des transactions contre GeoServer ce qui est essentiel. Même si nous avons un cadre de transaction très agréable, doublant avec le soutien de transaction natif de bases de données relationnelles assure intégrité de vos données. La plupart des toutes les grandes DBS spatiales fournissent un soutien à tourner facilement les fichiers de formes dans leur format natif. Nous recommandons PostGIS, extensions open source à la DB de PostgreSQL, la plupart de notre test n’a été effectué contre elle. Oracle, DB2, SQL Server et ArcSDE sont également bien pris en charge. Pour le moment nous ne recommandons pas MySQL, car il a des problèmes avec des reculs sur les tables de la géométrie, et manque de fonctionnalité spatiale avancée, mais il est une option.

Mise en sécurité

GeoServer inclut par défaut WFS-T, qui permet aux utilisateurs de modifier votre base de données principale. Si vous ne voulez pas que cela se produise, vous pouvez désactiver les transactions dans l’outil d’administration Web, Service Panel -> WFS et définir le niveau de service à la base. Si vous souhaitez que certains utilisateurs d’être en mesure de le modifier, mais pas tous, vous aurez à mettre en place la sécurité au niveau de l’accès aux données. Pour plus de sécurité lors de l’utilisation en mode lecture seule, assurez-vous que la connexion au magasin de données qui est ouvert à tous est avec un utilisateur qui a lu seules autorisations. Cela va faire il est donc tout à fait impossible de faire une injection SQL (si GeoServer est généralement assez bien conçu qu’il est pas vulnérable).

Traiter avec un environnement verrouillé

Code de GeoServer, et les bibliothèques qu’il utilise (Geotools, JAI) ne sont pas conçus pour être exécuté dans une sécurité verrouillée enviroment. Ils ont besoin gratuitement accès aux variables d’environnement, les répertoire temp, les préférences de l’utilisateur et les autres. Dans les systèmes d’exploitation comme la valeur par défaut d’Ubuntu Tomcat est verrouillé alors que la plupart de ce qui précède n’est pas autorisée. Jusqu’à présent, la seule façon d’exécuter Geoserver dans cet environnement est d’accorder toutes les autorisations pour elle.

Utilisez l’option ‘désactiver le cache du navigateur’ et voir comment elle affecte le chargement de la page. Discuter les avantages et les défis de la mise en cache.

Côté serveur, la mise en cache des carreaux WMS est la meilleure façon d’obtenir des performances. Comment les travaux de mise en cache sont essentiellement le serveur reconnaîtra une demande et retourner rapidement un résultat pré-rendus. Voilà comment vous pouvez optimiser pour les clients WMS tuile et il fonctionne le mieux pour eux. Il y a plusieurs façons de mettre en place la mise en cache pour GeoServer comme GeoWebCache.