使用 JCL 程序來啟動 z/OS 上的 IBM HTTP Server

您可以準備 JCL 程序,以從 MVS™ 系統主控台啟動和停止 IBM® HTTP Server。

使用 JCL 編目程序來發出 apachectl 啟動和停止指令,可讓您從 MVS 系統主控台啟動和停止 IBM HTTP Server 實例。您可以使用相同的程序,從 MVS 系統主控台發出其他 apachectl 指令。

將下列 JCL 程序範例從 SHAPJCL(HAPAPROC) 複製到您的系統程序庫:

//*---------------------------------------------------------
//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
警告: PARM 值上限為 100 個字元。由於 PARM 值包含安裝目錄 (&DIR),如果目錄路徑太長,總長度可能會超過 100 個字元。在選擇安裝目錄時,必須將路徑名稱長度納入考量。如果安裝目錄路徑名稱太長,可以在 JCL 中使用較短的路徑命名方式,符號鏈結至原始安裝目錄路徑名稱。
如果您需要大於 100 個字元的 PARM 值,可以使用 /PARMIN DD *,SYMBOLS=JCLONLY JCL 卡,如下列範例所示:
/*------------------------------------------------------
//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)        
//                                                        
/*---------------------------------------------------------- 

如需 JCL 範例中使用的 apachectl 指令說明,請參閱 Apache HTTP Server 控制介面網站。

IBM HTTP Server 實例的預設工作名稱會與編目程序的成員名稱相同。Web 伺服器是多工處理伺服器,所建立的每一個額外程序,都會有依據原始工作名稱而產生的工作名稱。如果原始工作名稱是 8 個字元長,則所有額外的程序都會有相同的工作名稱。如果原始工作名稱少於 8 個字元,則額外程序的工作名稱將會是原始工作名稱加上數值作為字尾。如果 Web 伺服器是從 UNIX 環境使用 bin/apachectl 指令來啟動,則預設工作名稱會是用來執行該指令的使用者 ID。如同工作名稱,如果使用者 ID 是 8 個字元長,則所有額外的程序都會有相同的工作名稱。如果使用者 ID 少於 8 個字元,則程序的工作名稱將會是使用者 ID 加上數值作為字尾。

在下列範例中,使用的程序名稱為 WEBSRV1。請編輯新的編目程序,將 /path/to/IHS/runtime/directory 取代成這個 IBM HTTP Server 實例的實際安裝目錄。建立 SAF STARTED 設定檔,使伺服器使用者 ID 和群組與 Web 伺服器啟動的工作產生關聯:
RDEFINE STARTED WEBSRV1.* STDATA(USER(WWWSERV) GROUP(WWWGROUP) TRACE(YES))
SETROPTS RACLIST(STARTED) GENERIC(STARTED) REFRESH
  • 若要從 MVS 系統主控台啟動伺服器,請輸入:
    S WEBSRV1
    註: 如果要變更 Web 伺服器工作名稱,可以將 jobname 新增至啟動指令,例如:
    S WEBSRV1,JOBNAME=HTTPDWS1
    最佳作法 1: 使用 8 個字元的工作名稱。使用 8 個字元的工作名稱可確保為這個 Web 伺服器實例建立的所有程序都會有相同的工作名稱。
    如果要停止伺服器,請輸入:
    P WEBSRV1
    註: 使用 SDSF 時,您必須使用「系統指令延伸」(輸入指令)畫面來輸入指令,以停止伺服器。
    • 在命令提示字元中,輸入正斜線 (/),然後按 Enter 鍵,以存取「系統指令延伸」視窗。
    • 從「系統指令延伸」視窗,輸入 S WEBSRV1,ACTION='stop' 指令。請確定 stop 是小寫。
  • 如果要發出其他 apachectl 指令,請輸入:
    S WEBSRV1,ACTION='<command>'
  • 如果要重新啟動伺服器,請輸入:
    S WEBSRV1,ACTION=restart
    您可以從 z/OS 主控台重新啟動伺服器。
  • 如果要循序重新啟動伺服器,請輸入:
    S WEBSRV1,ACTION=graceful
    您可以從 z/OS 主控台循序重新啟動伺服器。

啟動和停止指令的輸出檔位於程序中 STDOUT 和 STDERR DD JCL 陳述式所指定的檔案中

使用 zos_cmds 模組:如果 zos_cmds 模組作用中,您就可以使用 z/OS STOPMODIFY 主控台指令。
重要:httpd.conf 檔案中,必須新增下面這一行,才能啟動 zos_cmds 模組:
LoadModule zos_cmds_module modules/mod_zos_cmds.so 
註: 如果您沒有為所有程序使用一致的 8 字元工作名稱,則必須判定處理 z/OS 操作員指令的程序工作名稱為 Web 伺服器的實例。當 Web 伺服器啟動時,會發出訊息給操作員主控台,以識別處理操作員指令的工作。
BPXM023I (WASTST1) IHS is active. Use jobname HTTPDWS1 for MVS commands.
其中 WASTST1 是用來執行 Web 伺服器的使用者 ID。錯誤日誌中也會寫入一個用來識別工作名稱的項目。請注意,mod_zos_cmds 常駐程式工作名稱為 HTTPDWS1。輸入 MODIFY 指令後,會將目標設定至具有指定工作名稱的每個工作。只有其中一個 Web 伺服器程序會接受此指令。系統會針對其他具有相同工作名稱的每一個工作發出下列訊息。
IEE342I MODIFY   REJECTED-TASK BUSY
  • 如果要使用停止指令來停止伺服器,請輸入:
    P HTTPDWS1
  • 如果要使用修改指令來重新啟動伺服器,請輸入:
    F HTTPDWS1,appl='restart'
  • 如果要使用修改指令來循序重新啟動伺服器,請輸入:
    F HTTPDWS1,appl='graceful'
當 Web 伺服器在 zos cmds 模組作用中的情況下停止時,會發出下列訊息至操作員主控台。
BPXM023I (WASTST1) IHS is stopping
其中 WASTST1 是用來執行 Web 伺服器的使用者 ID。
最佳作法 2: 每次使用此程序,就會改寫輸出檔。檔案中可能會包含關於配置的警告訊息,或是啟動失敗的錯誤訊息。如果您想要在每次程序使用後,都保留這些訊息的日誌,請將程序範例中出現兩次的 PATHOPTS 選項修改成 PATHOPTS=(OCREAT,OAPPEND,OWRONLY)。如需 PATHOPTS 選項的相關資訊,請參閱 z/OS® MVS JCL Reference (SA22-7597)。從 z/OS 網際網路文件庫鏈結至此文件。
最佳作法 3: 不建議使用 STDENV DD 陳述式。您可能會想要將環境變數設定新增至執行時期目錄中的 bin/envvars 檔案,這樣一來,無論 IBM HTTP Server 是從 JCL 或 UNIX 環境啟動,這些變數都會是作用中。
最佳作法 4: 建議使用 BPXBATCH 的 SH 參數,而不要使用 PGM 參數。處理 PGM 參數時,會略過 /etc/profile 檔案中的系統預設值,包括 umask 設定,而 IBM HTTP Server 建立的檔案不會有正確的許可權。

指出主題類型的圖示 概念主題



時間戳記圖示 前次更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=ihs-dist&topic=cihs_startsysconz
檔名:cihs_startsysconz.html