IBM HTTP Server mit JCL-Prozeduren unter z/OS starten

Sie können JCL-Prozeduren vorbereiten, um IBM® HTTP Server über die MVS-Systemkonsole zu starten und zu stoppen.

Mit einer katalogisierten JCL-Prozedur zum Absetzen der apachectl-Befehle "start" und "stop" können Sie eine Instanz von IBM HTTP Server über die MVS-Systemkonsole starten und stoppen. Weitere apachectl-Befehle können über die MVS-Systemkonsole mit derselben Prozedur abgesetzt werden.

Kopieren Sie die folgende JCL-Beispielprozedur aus SHAPJCL(HAPAPROC) in Ihre Systemprozedurenbibliothek:

//*---------------------------------------------------------
//IHSAPACH PROC ACTION='start',
//          DIR='/path/to/IHS/runtime/directory',
//          CONF='conf/httpd.conf'
//*---------------------------------------------------------
//IHS      EXEC PGM=BPXBATCH,
// PARM='SH &DIR/bin/apachectl -k &ACTION -f &CONF -DNO_DETACH',
// MEMLIMIT=512M
//STDOUT   DD  PATH='&DIR/logs/proc.output',
//				PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
//				PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//STDERR   DD  PATH='&DIR/logs/proc.errors',
//				PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
//				PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//         PEND
Warnung: Der PARM-Wert ist auf 100 Zeichen beschränkt. Da der PARM-Wert das Installationsverzeichnis (&DIR) enthält, könnte die Gesamtlänge die Brenzung auf 100 Zeichen überschreiten, wenn der Verzeichnispfad zu lang ist. Die Länge des Pfadnamens muss bei der Auswahl des Installationsverzeichnisses berücksichtigt werden. Wenn der Pfadname des Installationsverzeichnisses zu lang ist, kann ein Pfad mit kürzerem Namen in der JCL verwendet werden, der über einen symbolischen Link mit dem ursprünglichen Pfadnamen des Installationsverzeichnisses verknüpft ist.
Falls Sie einen PARM-Wert mit mehr als 100 Zeichen benötigen, können Sie die JCL-Karte /PARMIN DD *,SYMBOLS=JCLONLY wie im folgenden Beispiel verwenden:
/*------------------------------------------------------
//WEBFTNEI JOB (KOMA-Y98),'Apache NZX2      ',MSGCLASS=T,
//  TIME=NOLIMIT                                        
//         EXPORT SYMLIST=*                             
//*-------------------------------------                
//  SET  ACTION='start'                                 
//  SET  DIR='/home/ihsa/install/webft'                 
//  SET  CONF='../../httpd/webftnei.conf'               
//*-----------------------------------------------------
//IHS EXEC PGM=BPXBATCH,PARMDD=PARMIN,                  
// MEMLIMIT=512M
//PARMIN   DD *,SYMBOLS=JCLONLY                         
PGM &DIR/bin/apachectl                                  
   -k &ACTION
   -f &CONF
   -DNO_DETACH
//*-------------------------------------------------------
//STDOUT   DD SYSOUT=T                                    
//*                                                        
//STDERR   DD SYSOUT=T                                     
//*                                                       
//                                                        
//STDOUT   DD  PATH='&DIR/logs/proc.output',
//				PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
//				PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//*                                                      
//STDERR   DD  PATH='&DIR/logs/proc.errors',
//				PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
//				PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//                                                        
/*---------------------------------------------------------- 

Eine Beschreibung des in der JCL-Beispielprozedur verwendeten Befehls apachectl finden Sie auf der Website Apache HTTP Server Control Interface.

Der Standardjobname für die Instanz von IBM HTTP Server stimmt mit dem Membernamen der katalogisierten Prozedur überein. Der Web-Server ist ein Multiprozessserver und für jeden zusätzlichen Prozess, der erstellt wird, wird ein auf dem ursprünglichen Jobnamen basierender Jobname generiert. Wenn der ursprüngliche Jobnamen mehr als 8 Zeichen enthält, haben alle zusätzlichen Prozesse denselben Jobnamen. Wenn der ursprüngliche Jobname weniger als 8 Zeichen enthält, setzen sich die Jobnamen der zusätzlichen Prozesse aus dem ursprünglichen Jobnamen und einer als Suffix angefügten Ziffer zusammen. Wenn der Web-Server in der UNIX-Umgebung mit dem Befehl bin/apachectl gestartet wird, ist der Standardjobname die Benutzer-ID, unter der der Befehl ausgeführt wird. Für die Benutzer-ID gilt wie beim Jobnamen: Wenn die Benutzer-ID 8 Zeichen enthält, haben alle zusätzlichen Prozesse denselben Jobnamen. Wenn die Benutzer-ID weniger als 8 Zeichen enthält, setzen sich die Jobnamen der Prozesse aus der Benutzer-ID und einer als Suffix angefügten Ziffer zusammen.

In den nachstehenden Beispielen wird WEBSRV1 als Prozedurname verwendet. Bearbeiten Sie die neue katalogisierte Prozedur, indem Sie das Verzeichnis /path/to/IHS/runtime/directory durch das tatsächliche Installationsverzeichnis für die Instanz von IBM HTTP Server ersetzen. Erstellen Sie ein Profil SAF STARTED, um die Server-Benutzer-ID und Gruppe der gestarteten Task des Web-Servers zuzuordnen:
RDEFINE STARTED WEBSRV1.* STDATA(USER(WWWSERV) GROUP(WWWGROUP) TRACE(YES))
SETROPTS RACLIST(STARTED) GENERIC(STARTED) REFRESH
  • Geben Sie Folgendes ein, um den Server von der MVS-Systemkonsole aus zu starten:
    S WEBSRV1
    Anmerkung: Sie können den Jobnamen des Web-Servers ändern, indem Sie dem Startbefehl jobname hinzufügen, z. B.:
    S WEBSRV1,JOBNAME=HTTPDWS1
    Bewährtes Verfahren 1: Verwenden Sie einen Jobnamen mit 8 Zeichen. Wenn Sie einen Jobnamen mit 8 Zeichen verwenden, wird dadurch sichergestellt, dass alle für diese Instanz des Web-Servers erstellten Prozesse denselben Jobnamen haben.
    Geben Sie Folgendes ein, um den Server zu stoppen:
    P WEBSRV1
    Anmerkung: Wenn Sie SDSF verwenden, müssen Sie die SCE-Anzeige (Befehlseintrag) verwenden, um den Befehl zum Stoppen des Servers einzugeben.
    • Geben Sie an der Eingabeaufforderung einen Schrägstrich (/) ein, und drücken Sie anschließend die Eingabetaste, um das SCE-Fenster (SCE, System Command Extension) aufzurufen.
    • Setzen Sie im SCE-Fenster den Befehl S WEBSRV1,ACTION='stop' ab. Vergewissern Sie sich, dass stop in Kleinbuchstaben geschrieben ist.
  • Geben Sie Folgendes ein, um weitere apachectl-Befehle abzusetzen:
    S WEBSRV1,ACTION='<command>'
  • Gehen Sie wie folgt vor, um den Server direkt neu zu starten:
    S WEBSRV1,ACTION=restart
    Sie können den direkten Serverneustart über die z/OS-Konsole durchführen.
  • Gehen Sie wie folgt vor, um den Server regulär neu zu starten:
    S WEBSRV1,ACTION=graceful
    Sie können den regulären Serverneustart über die z/OS-Konsole durchführen.

Die Ausgabedateien für die Start- und Stoppbefehle befinden sich in den Dateien, die in den JCL-Anweisungen STDOUT und STDERR DD in dieser Vorgehensweise angegeben sind.

zos_cmds-Modul verwenden: Wenn das zos_cmds-Modul aktiv ist, können Sie die z/OS-Konsolenbefehle STOP und MODIFY verwenden.
Wichtig: In der Datei httpd.conf muss die folgende Zeile hinzugefügt werden, um das zos_cmds-Modul zu aktivieren:
LoadModule zos_cmds_module modules/mod_zos_cmds.so 
Anmerkung: Wenn Sie keinen konsistenten Jobnamen mit 8 Zeichen für alle Prozesse verwenden, müssen Sie den Jobnamen des Prozesses festlegen, der die z/OS-Bedienerbefehle in der Instanz des Web-Servers verarbeitet. Beim Start des Web-Servers gibt er eine Nachricht an die Bedienerkonsole aus, in der der Job angegeben ist, der die Bedienerbefehle verarbeitet.
BPXM023I (WASTST1) IHS is active. Use jobname HTTPDWS1 for MVS commands.
Dabei ist WASTST1 die Benutzer-ID, unter der der Web-Server ausgeführt wird. Es wird außerdem ein Eintrag in das Fehlerprotokoll geschrieben, in dem der Jobname angegeben ist. Beachten Sie, dass der Jobname des mod_zos_cmds-Dämons HTTPDWS1 ist. Wenn ein MODIFY-Befehl eingegeben wird, wird dieser für jeden Job mit dem angegeben Jobnamen ausgeführt. Nur ein einziger der Web-Server-Prozesse akzeptiert den Befehl. Das System gibt die folgende Nachricht für jeden der Jobs mit demselben Jobnamen aus.
IEE342I MODIFY   REJECTED-TASK BUSY
  • Geben Sie zum Stoppen des Servers mit dem stop-Befehl Folgendes ein:
    P HTTPDWS1
  • Geben Sie zum erneuten Starten des Servers mit dem modify-Befehl Folgendes ein:
    F HTTPDWS1,appl='restart'
  • Geben Sie für den ordnungsgemäßen Neustart des Servers mit dem modify-Befehl Folgendes ein:
    F HTTPDWS1,appl='graceful'
Wenn der Web-Server gestoppt wird, während das zos cmds-Modul aktiv ist, wird die folgende Nachricht an die Bedienerkonsole ausgegeben.
BPXM023I (WASTST1) IHS is stopping
Dabei ist WASTST1 die Benutzer-ID, unter der der Web-Server ausgeführt wird.
Bewährtes Verfahren 2: Die Ausgabedateien werden jedes Mal überschrieben, wenn die Prozedur verwendet wird. Sie enthalten möglicherweise Warnungen zur Konfiguration oder Fehlernachrichten zu Initialisierungsfehlern. Wenn Sie ein Protokoll dieser Nachrichten über mehrere Verwendungen der Prozedur hinweg aufbewahren möchten, ändern Sie die zwei Vorkommen der PATHOPTS-Option in der Beispielprozedur in PATHOPTS=(OCREAT,OAPPEND,OWRONLY). Ausführliche Informationen zur PATHOPTS-Option finden Sie in der z/OS-Veröffentlichung MVS JCL Reference (IBM Form SA22-7597). Sie können dieses Dokument über die z/OS-Internetbibliothek aufrufen.
Bewährtes Verfahren 3: Die Anweisung STDENV DD wird nicht empfohlen. Sie können der Datei bin/envvars im Laufzeitverzeichnis Umgebungsvariableneinstellungen hinzufügen, damit die Variablen aktiv sind, unabhängig davon, ob IBM HTTP Server über JCL oder über die UNIX-Umgebung gestartet wird.
Bewährtes Verfahren 4: Der Parameter SH von BPXBATCH wird an Stelle des Parameters PGM empfohlen. Bei der Verarbeitung für den Parameter PGM werden Systemstandardeinstellungen wie die umask-Einstellungen in der Datei /etc/profile umgangen, und Dateien, die von IBM HTTP Server erstellt wurden, haben nicht die richtigen Berechtigungen.

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=ihs-dist&topic=cihs_startsysconz
Dateiname:cihs_startsysconz.html