Configurazioni di Dispatcher manage-your-dispatcher-configurations

Scopri come distribuire i file di configurazione di Dispatcher utilizzando Cloud Manager

Distribuire le configurazioni di Dispatcher con Cloud Manager deploying-dispatcher-configurations

Cloud Manager è in grado di distribuire i file di configurazione del server web e di Dispatcher presupponendo che siano archiviati nell’archivio Git insieme ai normali pacchetti di contenuti AEM.

Per sfruttare questa funzionalità, la build Maven deve generare un file .zip contenente almeno due directory: conf e conf.d. Questo file .zip può essere prodotto utilizzando maven-assembly-plugin.

I progetti generati da Cloud Manager utilizzando la procedura guidata per la creazione di progetti integrata hanno la struttura di progetto Maven corretta, che viene creata automaticamente. Questo percorso è consigliato ai nuovi utenti di Adobe Managed Services (AMS).

Quando esegui l’implementazione in un’istanza di Dispatcher, le directory sull’istanza vengono sostituite da quelle presenti nell’archivio Git. Poiché i file di configurazione del server Web e di Dispatcher richiedono spesso dettagli specifici dell’ambiente, è necessario collaborare con il Customer Success Engineer (CSE) per impostare le variabili di ambiente appropriate in /etc/sysconfig/httpd prima di utilizzare correttamente questa funzione.

Configurazione del Dispatcher per la clientela di Managed Service esistente steps-for-configuring-dispatcher

Segui i passaggi seguenti per completare la configurazione iniziale del Dispatcher.

  1. Ottieni i file di configurazione di produzione correnti dal tuo CSE.
  2. Rimuovi i dati specifici dell’ambiente codificati, ad esempio l’IP del modulo di rendering di pubblicazione, e sostituiscili con delle variabili.
  3. Definisci le variabili richieste in coppie di valore chiave per ogni Dispatcher di destinazione e richiedi al tuo CSE di aggiungerle a /etc/sysconfig/httpd in ogni istanza.
  4. Verifica le configurazioni aggiornate nell’ambiente di staging.
  5. Una volta testate, richiedi al tuo CSE di implementarle in produzione.
  6. Invia i file al tuo archivio Git.
  7. Distribuisci tramite Cloud Manager.
NOTE
La migrazione dalle configurazioni di Dispatcher e del server web all’archivio Git può essere eseguita durante l’onboarding di Cloud Manager, o anche in un secondo momento.

Esempio example

La struttura specifica del file e della directory può variare in base alle specifiche del progetto, ma questo esempio dovrebbe fornire una guida concreta alla strutturazione del progetto affinché includa le configurazioni di Apache e Dispatcher.

  1. Creare una sottodirectory denominata dispatcher.

    È possibile utilizzare un nome qualsiasi, ma il nome della directory creato in questo passaggio deve essere lo stesso del nome utilizzato nel passaggio 6.

  2. Questa sottodirectory contiene un modulo Maven che crea il file .zip di Dispatcher utilizzando il plug-in Maven Assembly. Nella directory dispatcher, crea un file pom.xml con questo contenuto, modificando il riferimento parent, artifactId e name in base alle esigenze.

    code language-xml
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <!-- reference to your parent pom -->
        </parent>
    
        <artifactId>dispatcher</artifactId> <!-- feel free to change this -->
        <packaging>pom</packaging>
        <name>dispatcher</name> <!-- feel free to change this -->
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.1.0</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals><goal>single</goal></goals>
                            <configuration>
                                <descriptors>
                                    <descriptor>assembly.xml</descriptor>
                                </descriptors>
                                <appendAssemblyId>false</appendAssemblyId>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </project>
    
    • Come nel Passaggio 1, se lo desideri, l’artifactId e il nome possono qui assumere altri valori. dispatcher viene utilizzato qui solo come esempio.
  3. Il plug-in Maven Assembly richiede un descriptor per definire la modalità di creazione del file .zip. Per creare questo descrittore, crea un file nella sottodirectory dispatcher denominata assembly.xml con il contenuto seguente. Tieni presente che a questo nome di file viene fatto riferimento nella riga 26 nel file pom.xml precedente.

    code language-xml
    <assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
      <id>distribution</id>
      <formats>
        <format>zip</format>
      </formats>
      <includeBaseDirectory>false</includeBaseDirectory>
      <fileSets>
        <fileSet>
          <directory>${basedir}/src</directory>
          <includes>
            <include>**/*</include>
          </includes>
          <outputDirectory></outputDirectory>
        </fileSet>
      </fileSets>
    </assembly>
    
  4. Crea una sottodirectory denominata src (come indicato nel descrittore dell’assemblaggio precedente nella riga 11) all’interno della sottodirectory di Dispatcher per archiviare le configurazioni effettive di Apache e Dispatcher. All’interno di questa directory src, crea directory denominate conf, conf.d, conf.dispatcher.d e conf.modules.d.

  5. Popola le directory conf, conf.d, conf.dispatcher.d e conf.modules.d con i file di configurazione. Per esempio, la configurazione predefinita è costituita da questi file e collegamenti simbolici.

    code language-none
    dispatcher
    ├── assembly.xml
    ├── pom.xml
    └── src
        ├── conf
        │  ├── httpd.conf
        │  └── magic
        ├── conf.d
        │  ├── README
        │  ├── autoindex.conf
        │  ├── available_vhosts
        │  │  ├── aem_author.vhost
        │  │  ├── aem_flush.vhost
        │  │  ├── aem_health.vhost
        │  │  ├── aem_lc.vhost
        │  │  └── aem_publish.vhost
        │  ├── dispatcher_vhost.conf
        │  ├── enabled_vhosts
        │  │  ├── aem_author.vhost -> ../available_vhosts/aem_author.vhost
        │  │  ├── aem_flush.vhost -> ../available_vhosts/aem_flush.vhost
        │  │  └── aem_publish.vhost -> ../available_vhosts/aem_publish.vhost
        │  ├── rewrites
        │  │  ├── base_rewrite.rules
        │  │  └── xforwarded_forcessl_rewrite.rules
        │  ├── userdir.conf
        │  ├── variables
        │  │  └── ams_default.vars
        │  ├── welcome.conf
        │  └── whitelists
        │      └── 000_base_whitelist.rules
        ├── conf.dispatcher.d
        │  ├── available_farms
        │  │  ├── 000_ams_author_farm.any
        │  │  ├── 001_ams_lc_farm.any
        │  │  └── 999_ams_publish_farm.any
        │  ├── cache
        │  │  ├── ams_author_cache.any
        │  │  ├── ams_author_invalidate_allowed.any
        │  │  ├── ams_publish_cache.any
        │  │  └── ams_publish_invalidate_allowed.any
        │  ├── clientheaders
        │  │  ├── ams_author_clientheaders.any
        │  │  ├── ams_common_clientheaders.any
        │  │  ├── ams_lc_clientheaders.any
        │  │  └── ams_publish_clientheaders.any
        │  ├── dispatcher.any
        │  ├── enabled_farms
        │  │  ├── 000_ams_author_farm.any -> ../available_farms/000_ams_author_farm.any
        │  │  └── 999_ams_publish_farm.any -> ../available_farms/999_ams_publish_farm.any
        │  ├── filters
        │  │  ├── ams_author_filters.any
        │  │  ├── ams_lc_filters.any
        │  │  └── ams_publish_filters.any
        │  ├── renders
        │  │  ├── ams_author_renders.any
        │  │  ├── ams_lc_renders.any
        │  │  └── ams_publish_renders.any
        │  └── vhosts
        │      ├── ams_author_vhosts.any
        │      ├── ams_lc_vhosts.any
        │      └── ams_publish_vhosts.any
        └── conf.modules.d
            ├── 00-base.conf
            ├── 00-dav.conf
            ├── 00-lua.conf
            ├── 00-mpm.conf
            ├── 00-proxy.conf
            ├── 00-systemd.conf
            ├── 01-cgi.conf
            └── 02-dispatcher.conf
    
  6. Infine, nel file pom.xml nella directory principale del progetto, aggiungi un elemento <module> per includere il modulo Dispatcher.

    Per esempio, se l’elenco dei moduli esistenti è il seguente:

    code language-xml
        <modules>
            <module>core</module>
            <module>ui.apps</module>
            <module>ui.content</module>
        </modules>
    

    Modificalo nel modo seguente:

    code language-xml
        <modules>
            <module>core</module>
            <module>ui.apps</module>
            <module>ui.content</module>
            <module>dispatcher</module>
        </modules>
    
    • Come indicato nel passaggio 1, il valore dell’elemento <module> deve corrispondere al nome della directory creata.
  7. Per effettuare una prova, esegui mvn clean package nella directory principale del progetto. Dovresti vedere linee come questa nell’output.

    code language-none
    [INFO] --- maven-assembly-plugin:3.1.0:single (default) @ dispatcher ---
    [INFO] Reading assembly descriptor: assembly.xml
    [INFO] Building zip: /Users/me/mycompany/dispatcher/target/dispatcher-1.0-SNAPSHOT.zip
    

    Puoi anche decomprimere questo file per visualizzarne il contenuto.

    code language-shell
    $ unzip -l dispatcher/target/dispatcher-1.0-SNAPSHOT.zip
    Archive:  dispatcher/target/dispatcher-1.0-SNAPSHOT.zip
      Length      Date    Time    Name
    ---------  ---------- -----   ----
            0  09-12-2018 12:53   conf.modules.d/
            0  10-19-2018 10:38   conf.dispatcher.d/
            0  09-12-2018 12:53   conf.dispatcher.d/available_farms/
            0  09-12-2018 12:53   conf.dispatcher.d/filters/
            0  09-12-2018 12:53   conf.dispatcher.d/renders/
            0  09-12-2018 12:53   conf.dispatcher.d/cache/
            0  09-12-2018 12:53   conf.dispatcher.d/clientheaders/
            0  09-12-2018 12:53   conf.dispatcher.d/enabled_farms/
            0  09-12-2018 12:53   conf.dispatcher.d/vhosts/
            0  09-12-2018 12:53   conf.d/
            0  09-12-2018 12:53   conf.d/rewrites/
            0  09-12-2018 12:53   conf.d/whitelists/
            0  09-12-2018 12:53   conf.d/variables/
            0  11-01-2018 13:53   conf.d/enabled_vhosts/
            0  09-12-2018 12:53   conf.d/available_vhosts/
            0  09-12-2018 12:53   conf/
           88  09-12-2018 12:53   conf.modules.d/00-systemd.conf
         4913  09-12-2018 12:53   conf.dispatcher.d/available_farms/999_ams_publish_farm.any
          152  09-12-2018 12:53   conf.dispatcher.d/renders/ams_lc_renders.any
          490  09-12-2018 12:53   conf.dispatcher.d/clientheaders/ams_common_clientheaders.any
         1727  09-12-2018 12:53   conf.d/rewrites/base_rewrite.rules
           36  09-12-2018 12:53   conf.d/enabled_vhosts/aem_author.vhost
        11753  09-12-2018 12:53   conf/httpd.conf
          957  09-12-2018 12:53   conf.modules.d/00-proxy.conf
          944  09-12-2018 12:53   conf.dispatcher.d/available_farms/001_ams_lc_farm.any
          220  09-12-2018 12:53   conf.dispatcher.d/cache/ams_author_invalidate_allowed.any
           43  09-12-2018 12:53   conf.dispatcher.d/enabled_farms/999_ams_publish_farm.any
          516  09-12-2018 12:53   conf.d/welcome.conf
           37  09-12-2018 12:53   conf.d/enabled_vhosts/aem_publish.vhost
        13077  09-12-2018 12:53   conf/magic
           96  09-12-2018 12:53   conf.modules.d/02-dispatcher.conf
         2601  09-12-2018 12:53   conf.dispatcher.d/available_farms/000_ams_author_farm.any
          837  09-12-2018 12:53   conf.dispatcher.d/cache/ams_author_cache.any
           42  09-12-2018 12:53   conf.dispatcher.d/enabled_farms/000_ams_author_farm.any
         2926  09-12-2018 12:53   conf.d/autoindex.conf
         2555  09-12-2018 12:53   conf.d/available_vhosts/aem_lc.vhost
           41  09-12-2018 12:53   conf.modules.d/00-lua.conf
         2234  09-12-2018 12:53   conf.dispatcher.d/filters/ams_publish_filters.any
          220  09-12-2018 12:53   conf.dispatcher.d/cache/ams_publish_invalidate_allowed.any
          402  09-12-2018 12:53   conf.dispatcher.d/dispatcher.any
          573  09-12-2018 12:53   conf.d/whitelists/000_base_whitelist.rules
          871  09-12-2018 12:53   conf.d/available_vhosts/aem_flush.vhost
          139  09-12-2018 12:53   conf.modules.d/00-dav.conf
          742  09-12-2018 12:53   conf.dispatcher.d/filters/ams_author_filters.any
          557  09-12-2018 12:53   conf.dispatcher.d/cache/ams_publish_cache.any
          105  09-12-2018 12:53   conf.dispatcher.d/vhosts/ams_lc_vhosts.any
          101  09-12-2018 12:53   conf.dispatcher.d/vhosts/ams_publish_vhosts.any
         3582  09-12-2018 12:53   conf.d/dispatcher_vhost.conf
         2529  09-12-2018 12:53   conf.d/available_vhosts/aem_publish.vhost
          742  09-12-2018 12:53   conf.modules.d/00-mpm.conf
           88  09-12-2018 12:53   conf.dispatcher.d/filters/ams_lc_filters.any
          177  09-12-2018 12:53   conf.dispatcher.d/clientheaders/ams_lc_clientheaders.any
          366  09-12-2018 12:53   conf.d/README
         2723  09-12-2018 12:53   conf.d/available_vhosts/aem_author.vhost
         3739  09-12-2018 12:53   conf.modules.d/00-base.conf
          138  09-12-2018 12:53   conf.dispatcher.d/renders/ams_author_renders.any
           44  09-12-2018 12:53   conf.dispatcher.d/clientheaders/ams_publish_clientheaders.any
          112  09-12-2018 12:53   conf.dispatcher.d/vhosts/ams_author_vhosts.any
          580  09-12-2018 12:53   conf.d/variables/ams_default.vars
           35  09-12-2018 12:53   conf.d/enabled_vhosts/aem_flush.vhost
         1252  09-12-2018 12:53   conf.d/userdir.conf
          451  09-12-2018 12:53   conf.modules.d/01-cgi.conf
          321  09-12-2018 12:53   conf.dispatcher.d/renders/ams_publish_renders.any
          170  09-12-2018 12:53   conf.dispatcher.d/clientheaders/ams_author_clientheaders.any
          220  09-12-2018 12:53   conf.d/rewrites/xforwarded_forcessl_rewrite.rules
         1753  09-12-2018 12:53   conf.d/available_vhosts/aem_health.vhost
    ---------                     -------
        69017                     66 files
    
recommendation-more-help
c6cdc82b-cee9-48e0-a6ee-48149d5e72c3