Sun Java System Web Server 7 Command
さて、前回までは基本的にGUIの管理画面を用いて、管理をしてきました。
# 一部、インスタンスの作成等でコマンドを使用しました。
そこで、今回は、CLIを用いた管理コマンドを御紹介したいと思います。
WS6.1までの管理コマンドは非常に限られたコマンドだけでした。
しかし、WS7.0からはGUIでできる殆どの処理をCLIから実行できるようになっています。
まず、管理コマンドには下記の3種類のモードが存在しますので紹介します。
この中で、特にJACLシェルは非常に便利で、コマンドの中から別コマンドを
実行できたりします。
●シングルモード
sh,csh等のUNIXシェルより実行するモード
他のコマンド(more,less)を併用可能
●シェルモード
JACLシェルと呼ばれる、Webサーバの管理用コマンド専用のシェルモード
●ファイルモード
全てのコマンドをファイルに記述し、wadmコマンドに対してファイルの内容を
読み込ませ実行する。
1. wadmコマンドの実行
それでは、実際にWebサーバを管理するためのコマンドwadmを実行してみましょう。wadmコマンドを実行するためにオプションが足りないメッセージが出力されます。
ここでは、–userの引数が必要である事が指摘されています。
jse8-026> ./wadm 使用法: wadm [–user=admin-user] [–password-file=admin-pswd-file] [–host=admin-host] [–port=admin-port] [–no-ssl] [–rcfile=rcfile] [–no-prompt] [–help] [–commands-file=filename] CLI014 user は必須オプションです。 jse8-026> |
2. wadmコマンドの実行:サーバへの接続
次に、管理サーバへ接続します。–host,–portオプションはデフォルトで
localhost,8989版ポートとなっており、未入力でも接続可能です。
接続が完了すると「Sun Java System Web Server 7.0 B06/18/2006 10:03」の
メッセージが出力されます。
jse8-026> ./wadm –user=admin –host=localhost –port=8989 admin-user-password を入力してください> [adminadmin] <–非表示 Sun Java System Web Server 7.0 B06/18/2006 10:03 wadm> |
3. パスワードファイルの使用
wadmコマンドを実行した場合、パスワードを問い合わせるプロンプトが出力されます。
このパスワードのプロンプトの出力を省略したい場合、入力するパスワードを
ファイルに出力し、コマンド実行時にパスワードファイルを読み込ますことができます。
jse8-026> echo “wadm_password=adminadmin” > admin.pwd jse8-026> chmod 700 admin.pwd jse8-026> ./wadm –user=admin –password-file=./admin.pwd Sun Java System Web Server 7.0 B06/18/2006 10:03 wadm> |
4. コマンド変数の初期値の設定
コマンドの実行の際、ユーザ名、パスワード等、何度も記述することが面倒な場合が
あります。その場合、変数の初期値を設定することが可能です。
ユーザのホームディレクトリ上に.wadmrcファイルを用意し、下記を記述します。
set wadm_user admin set wadm_password adminadmin set wadm_echo true set wadm_verbose true set wadm_host localhost set wadm_port 8989 set wadm_ssl true set wadm_script true |
5. コマンド実行時の便利な機能
さらに、コマンド実行時においていくつかの便利な機能を持っています。
ここでは、3つの便利な機能を紹介します。
*シェル(sh,csh,tcsh,bash等)の実行
wadmコマンド実行時に、他の処理も実行可能
*コマンドの実行ヒストリの表示
以前実行したコマンドを検索可能
*コマンド実行時の補完
コマンド名を忘れた場合、キーワードの入力で類似コマンドを出力
wadm> pwd /sun/webserver7/bin wadm> ls admin.pwd certutil htpasswd jspc modutil pk12util schemagen uninstall wadm wdeploy wsgen wsimport xjc wadm> cat admin.pwd wadm_password=adminadmin wadm> ls -l admin.pwd -rwx—— 1 root root 25 6月 26日 16:35 admin.pwd wadm> |
6. コマンド名の一覧
下記にwadmコマンドで実行可能なコマンドの一覧を示します。
下記のように非常に多くの操作をCLIから実行できるようになっています。
wadm> [TABキーを押下] Display all 323 possibilities? (y or n) add-search-docs add-webapp block-reverse-proxy-header copy-config copy-virtual-server create-auth-realm create-auth-realm-userprop create-authdb create-authdb-userprop create-cert-request create-cgi-dir create-cgi-envvar create-config create-custom-resource create-custom-resource-userprop create-dav-collection create-document-dir create-event create-external-jndi-resource create-external-jndi-resource-userprop create-file-authdb create-group create-group-member create-http-listener create-instance create-jdbc-resource create-jdbc-resource-userprop create-jvm-options create-jvm-profiler create-ldap-authdb create-lifecycle-module create-lifecycle-module-userprop create-mail-resource create-mime-type create-pam-authdb create-reverse-proxy create-search-collection create-selfsigned-cert create-soap-auth-provider create-soap-auth-provider-userprop create-url-redirect create-user create-virtual-server delete-acl delete-auth-realm delete-auth-realm-userprop delete-authdb delete-authdb-userprop delete-cert delete-cgi-dir delete-cgi-envvar delete-config delete-crl delete-custom-resource delete-custom-resource-userprop delete-dav-collection delete-document-dir delete-error-page delete-event delete-external-jndi-resource delete-external-jndi-resource-userprop delete-group delete-group-member delete-home-page delete-http-listener delete-instance delete-jdbc-resource delete-jdbc-resource-userprop delete-jvm-options delete-jvm-profiler delete-lifecycle-module delete-lifecycle-module-userprop delete-mail-resource delete-mime-type delete-reverse-proxy delete-search-collection delete-soap-auth-provider delete-soap-auth-provider-userprop delete-url-redirect delete-user delete-virtual-server deploy-config disable-ciphers disable-dav-collection disable-document-footer disable-event disable-htaccess disable-java disable-on-demand-compression disable-p3p disable-parsed-html disable-perfdump disable-precompressed-content disable-request-limits disable-secretkey-restriction disable-single-signon disable-snmp disable-stats-xml disable-unix-homedir disable-webapp disable-webdav enable-ciphers enable-dav-collection enable-document-footer enable-event enable-htaccess enable-java enable-on-demand-compression enable-p3p enable-parsed-html enable-perfdump enable-precompressed-content enable-request-limits enable-secretkey-restriction enable-single-signon enable-snmp enable-stats-xml enable-unix-homedir enable-webapp enable-webdav expire-lock forward-reverse-proxy-header get-access-log get-access-log-buffer-prop get-access-log-prop get-acl get-acl-cache-prop get-admin-server-prop get-auth-realm-prop get-authdb-prop get-ca-trust-prop get-cache-control-directives get-cert-prop get-cgi-prop get-config-file get-config-prop get-config-stats get-crl-prop get-custom-resource-prop get-dav-collection-prop get-default-content-type get-directory-listing-prop get-dns-cache-prop get-dns-prop get-document-footer-prop get-error-log get-error-log-prop get-error-page get-event-prop get-external-jndi-resource-prop get-file-cache-prop get-home-page get-htaccess-prop get-http-listener-prop get-http-prop get-index-files get-jdbc-resource-prop get-jvm-profiler-prop get-jvm-prop get-keep-alive-prop get-lifecycle-module-prop get-localization-prop get-mail-resource-prop get-node-prop get-on-demand-compression-prop get-p3p-prop get-parsed-html-prop get-perfdump get-perfdump-prop get-pkcs11-prop get-precompressed-content-prop get-qos-limits-prop get-qos-prop get-query-handler-prop get-request-limits-prop get-reverse-proxy-prop get-search-collection-prop get-search-prop get-secretkey-restriction-prop get-servlet-container-prop get-servlet-stats get-session-replication-prop get-single-signon-prop get-snmp-prop get-soap-auth-provider-prop get-ssl-prop get-ssl-session-cache-prop get-stats-prop get-stats-xml get-stats-xml-prop get-symlinks-prop get-thread-pool-prop get-unix-homedir-prop get-url-redirect-prop get-user-prop get-virtual-server-prop get-vs-stats get-webapp-stats get-webdav-prop install-cert install-crl list-acls list-auth-realm-userprops list-auth-realms list-authdb-userprops list-authdbs list-certs list-cgi-dirs list-cgi-envvars list-ciphers list-config-files list-configs list-crls list-custom-resource-userprops list-custom-resources list-dav-collections list-document-dirs list-error-pages list-events list-external-jndi-resource-userprops list-external-jndi-resources list-group-members list-groups list-http-listeners list-instances list-jdbc-resource-userprops list-jdbc-resources list-jvm-options list-jvm-profilers list-lifecycle-module-userprops list-lifecycle-modules list-locks list-mail-resources list-mime-types list-nodes list-org-units list-reverse-proxy-headers list-reverse-proxy-uris list-search-collections list-soap-auth-provider-userprops list-soap-auth-providers list-tokens list-uri-patterns list-url-redirects list-users list-virtual-servers list-webapps migrate-jks-keycert migrate-server pull-config reconfig-instance register-agent reindex-search-collection remove-search-docs remove-webapp renew-admin-certs restart-admin-agent restart-admin-server restart-instance rotate-log set-access-log-buffer-prop set-access-log-prop set-acl set-acl-cache-prop set-admin-server-prop set-auth-realm-prop set-authdb-prop set-ca-trust-prop set-cache-control-directives set-cgi-prop set-config-file set-config-prop set-custom-resource-prop set-dav-collection-prop set-default-content-type set-directory-listing-prop set-dns-cache-prop set-dns-prop set-error-log-prop set-error-page set-external-jndi-resource-prop set-file-cache-prop set-home-page set-http-listener-prop set-http-prop set-index-files set-jdbc-resource-prop set-jvm-profiler-prop set-jvm-prop set-keep-alive-prop set-lifecycle-module-prop set-localization-prop set-mail-resource-prop set-pkcs11-prop set-qos-limits-prop set-qos-prop set-query-handler-prop set-request-limits-prop set-reverse-proxy-prop set-search-collection-prop set-search-prop set-servlet-container-prop set-session-replication-prop set-soap-auth-provider-prop set-ssl-prop set-ssl-session-cache-prop set-stats-prop set-symlinks-prop set-thread-pool-prop set-token-pin set-token-prop set-user-prop set-virtual-server-prop set-webdav-prop start-instance start-snmp-master-agent start-snmp-subagent stop-admin-agent stop-admin-server stop-instance stop-snmp-master-agent stop-snmp-subagent unregister-agent wadm> |
7. コマンドの実行例
ここでは、実際にあるコマンド(start-instance)を実行してみたいと思います。
コマンドを実行した場合、必要な引数が出力されます。ここでは config オプションが
必須であることが表示されます。具体的にどのようなオプションが指定可能かを
調べるためには、コマンド名に続いて –helpを入力します。
すると、Unixのmanで出力される形式で標準出力にマニュアルが表示されます。
※現在、このマニュアルの内容も日本語化するようにリクエストをあげて
おりますが、日本語化まで今暫く御待ちください。
wadm> start-instance 使用法: start-instance [–echo] [–no-prompt] [–verbose] –config=name (nodehost)* CLI014 config は必須オプションです。 wadm> start-instance –help
|
8. 既存の各種情報の取得
次に設定情報を取得し確認します。
現在、Webサーバに設定されている設定項目を確認するために、listコマンドを
使用します。下記では、設定・仮想サーバ・ノード・インスタンスをそれぞれ
確認しています。
wadm> list-configs lb cluster1 wadm> list-virtual-servers –config=cluster1 cluster1 wadm> list-nodes jse8-026 jse8-027 wadm> list-instances –config=cluster1 jse8-026 jse8-027 |
8. アクセスログの取得
次にコマンドからアクセスログを取得し確認します。
下記の例では、引数の最後にノード名を指定していますが、
クラスタ構成の場合、クラスタを構成するノードを指定可能です。
また–num-recordsで表示する行数を指定します。
wadm> get-access-log –config=cluster1 –num-records=10 jse8-026 10.14.8.26 – [21/Jun/2006:13:10:31 +0900] “GET /simple/jsp/sessions/carts.html HTTP/1.1” 304 0 10.14.8.26 – [21/Jun/2006:13:10:36 +0900] “GET /simple/jsp/sessions/carts.jsp?item=Love+life&submit=add HTTP/1.1” 200 916 10.14.8.26 – [21/Jun/2006:14:36:11 +0900] “GET /simple HTTP/1.1” 302 0 10.14.8.26 – [21/Jun/2006:14:36:12 +0900] “GET /favicon.ico HTTP/1.1” 200 3574 10.14.8.26 – [22/Jun/2006:17:06:38 +0900] “GET /simple/jsp/ HTTP/1.1” 200 6887 10.14.8.26 – [22/Jun/2006:17:06:38 +0900] “GET /simple/images/execute.gif HTTP/1.1” 200 1242 10.14.8.26 – [22/Jun/2006:17:06:38 +0900] “GET /simple/images/code.gif HTTP/1.1” 200 292 10.14.8.26 – [22/Jun/2006:17:06:38 +0900] “GET /simple/images/return.gif HTTP/1.1” 200 1231 10.14.8.26 – [22/Jun/2006:17:06:38 +0900] “GET /favicon.ico HTTP/1.1” 200 3574 10.14.8.26 – [22/Jun/2006:17:12:22 +0900] “GET /favicon.ico HTTP/1.1” 200 3574 |
9. 各種統計情報の取得
最後に、Webサーバを稼動した状態で、Webサーバの稼動状態を
確認し、パフォーマンス等の統計情報を取得します。
WS6.1まではコマンドラインから下記の情報は取得できませんでした。
その代わりに、Webの管理画面から確認していました。
WS7.0になりコマンドから取得できるようになっています。
これにより、Webサーバをデータセンター等に設置し、
コンソールしか使用できないような場合に、管理用のHTTPポートを
別途起動せずに、確認することができ非常に有用かと思われます。
wadm> get-config-stats –config=cluster1 countRequests=39 rpsLast1MinAvg=0.0 rpsLast5MinAvg=0.0 rpsLast15MinAvg=0.0 countErrors=0 epsLast1MinAvg=0.0 epsLast5MinAvg=0.0 epsLast15MinAvg=0.0 maxResponseTime=1.1831077 rtLast1MinAvg=0.0 rtLast5MinAvg=0.0 rtLast15MinAvg=0.0 wadm> get-vs-stats –config=cluster1 –vs=cluster1 count200=23 count2xx=23 count302=4 count304=12 count3xx=16 count400=0 count401=0 count403=0 count404=0 count4xx=0 count503=0 count5xx=0 countBytesReceived=29593 countBytesTransmitted=54726 countErrors=0 countOpenConnections=0 countOther=0 countRequests=39 rateBytesTransmitted=0 vsName=cluster1 wadm> get-webapp-stats –config=cluster1 –vs=cluster1 –uri=”/simple” countActiveSessions=0 countExpiredSessions=0 countJsps=0 countRejectedSessions=0 countReloadedJsps=0 countSessions=0 peakActiveSessions=0 secondsSessionAliveAverage=0 secondsSessionAliveMax=0 uri=/simple vsName=cluster1 wadm> get-perfdump –config=cluster1 –node=jse8-026 Sun Java System Web Server 7.0 B06/18/2006 10:03 (SunOS DOMESTIC) Server started Tue Jun 20 17:11:34 2006 Process 1786 started Tue Jun 20 17:11:35 2006 ConnectionQueue: —————————————– Current/Peak/Limit Queue Length 0/1/1352 Total Connections Queued 12 Average Queue Length (1, 5, 15 minutes) 0.00, 0.00, 0.00 Average Queueing Delay 0.09 milliseconds ListenSocket http-listener-1: ———————— Address http://0.0.0.0:8080 Acceptor Threads 1 Default Virtual Server cluster1 KeepAliveInfo: ——————– KeepAliveCount 0/200 KeepAliveHits 27 KeepAliveFlushes 0 KeepAliveRefusals 0 KeepAliveTimeouts 10 KeepAliveTimeout 30 seconds SessionCreationInfo: ———————— Active Sessions 0 Keep-Alive Sessions 0 Total Sessions Created 16/128 CacheInfo: —————— enabled yes CacheEntries 14/1024 Hit Ratio 114/145 ( 78.62%) Maximum Age 30 Native pools: —————————- NativePool: Idle/Peak/Limit 1/1/128 Work Queue Length/Peak/Limit 0/0/0 DNSCacheInfo: —————— enabled yes CacheEntries 0/1024 HitRatio 0/0 ( 0.00%) Async DNS disabled Performance Counters: ———————————————— Average Total Percent Total number of requests: 39 Request processing time: 0.2766 10.7873 default-bucket (Default bucket) Number of Requests: 39 (100.00%) Number of Invocations: 488 (100.00%) Latency: 0.0003 0.0111 ( 0.10%) Function Processing Time: 0.2763 10.7762 ( 99.90%) Total Response Time: 0.2766 10.7873 (100.00%) Sessions: ——————————————————- Process Status Client Age VS Method URI Function |
以上、簡単にコマンドの実行例を紹介しましたが、いかがでしょうか。
今まで、Webの管理画面でしかできなかったような管理がコマンドから
実行できるようになり、管理面においても非常に使い勝手がよくなっていることを
御確認いただけるかと思います。
正式リリースは、もう暫く先になりますが、このTechnology Previewから
弊社SJS Web Server 7.0に興味を持っていただき、実際に試していただければ
幸いです。
Technology Preview版に関する、何らかの御意見・御問い合わせがある場合、
英語にて下記メールアドレスに直接内容を御送信していただければ、
エンジニア・製品担当スタッフに対して直接連絡がとれるようになっています。
webserver7_ea@sun.com
それでは、今後ともSun Java System製品をよろしくお願いします。
Entry filed under: SJS Web Server 7.