106409-01 (for traditional Chinese fonts and the JDK)
107733
Solaris 7 :106541-12106980-04108376-08
HP-UX Patches
PHCO_19047PHCO_19666PHCO_20765PHCO_20882
PHKL_18543PHKL_20016PHKL_20079PHKL_20674
PHKL_21003PHNE_20008PHNE_20735PHSS_16587
Windows NT Service Packs
Windows NT 4.0 SP6A
Compaq Tru64 Patches
Patch kit 3,Patch kit 4,Patch kit 5, Patch kit 6
●S1WS 6.0
Solaris
Solaris 2.6 :105591-09
Solaris 7 :Use the latest Solaris patches for Solaris 7.
Solaris 8:108528-16
HP-UX Patches
In addition to using the General-Release Patch Bundles (XSWGR1100), the following operating system patch (applicable and specific to HPUX11i, 11.11 only) must be installed: PHNE_23645.
Windows NT Service Packs
Windows NT 4.0 SP6A
AIX
AIX 4.3.3 :Patches 01 to 08 are required.
AIX 5.1 :Patches 01 to 02 are required..
(3)브라우저 요구사항
-Netscape Communicator 4.74 이거나 그 이상
-Microsoft Internet Explorer 5.0 (NT일 경우5.0 or higher)
(4) 연동 가능한 JDK 버전
●S1WS 4.1
Solaris 2.6, 7*, 8 (SPARC )
JDK 1.2.2_01 or higher
HP-UX 11.0, 11.0 64-bit* (PA-RISC )
JDK 1.2.2.02
Windows NT 4.0 (Pentium)
JDK of 1.2.2_01 or higher
IBM AIX 4.3.3 (Power PC)
JDK 1.2.2.
Compaq Tru64 4.0d, 4.0e*, 4.0f* (Alpha)
JDK 1.2.2-3 or higher
Linux 2.2.12 with glibc 2.1.2 (RedHat 6.1) (x86)
JDK of 1.2.2 or higher
Silicon Graphics** SGI IRIX 6.5.6 (MIPS)
●S1WS 6.0 (JDK1.3.1연동가능)
Solaris 2.6, 7, 8, 9 (UltraSPARC )
Solaris VM Java version 1.2.2 (build Solaris_JDK_1.2.2_010, native threads, sunwjit)
HP-UX 11.0, 11.0 64-bit, 11i (PA-RISC )
Java version 1.2.2.10 Classic VM (build 1.2.2.10-01/09/14-PA_RISC2.0, native threads, HP)
Windows NT 4.0 SP6a, Windows 2000 Server SP2(Pentium )
Java version 1.2.2 Classic VM (build JDK-1.2.2_010, native threads, symcjit)
Red Hat Linux 6.2 ,
kernel 2.2.14-12,glibc 2.1.3-15
Red Hat Linux 7.1 2.96-79,
glibc-2.2.2-10, libncurses.so.4
(X86)
Java version 1.2.2 Classic VM (build Linux_JDK_1.2.2_RCA, native threads, sunwjit)
(5)기타 요구사항
-Web Server를 동작시킬 사용자를 생성해야 하는데, 보안을 위해서 아무런 권한을 갖지 않은 user와 group을 생성해야 하는데 보통nsuseruser 와nsgroupgroup 을 생성하도록 권장합니다.
-Unique한 port번호를 선택합니다. : 사용하고자 하는 포트 번호가 unique한 것인지 확인 합니다. Administration port는 디폴트로 8888포트이고 web server의 디폴트 포트는80입니다. 만약 디폴트 포트를 사용하지 않고 임의로 정하려 한다면 server를 설치 하기 전에 사용하고자 하는 포트가 사용 중인지 확인하여야 합니다.
2. Install 절차 (unix 환경)
(1) 설치사용자 선택
Sun ONE Web Server를 설치하기 전 root로 로그인 하여야 합니다.. Root로 로그인 해야 한다.
-1024보다 아래의 포트로는 Sun ONE Web Server를 설치할 수 없습니다.
- 서버를 설치하는 방법중 Expression installation이 있는데 root로 로그인 하지 않으면 Expression installation을 할 수 없습니다.
(2) 설치파일 Unpacking
1. 설치 파일을 둘 임시 디렉토리를 생성합니다.
2. 이 디렉토리에 압축된 설치 파일을 copy 합니다.
3. 압축을 풉니다.
- CD 일 경우 : tar –xvf filename.tar
- Download 받았을 경우 : gzip –dc filename.tar.gz | tar xvf -
Install하는 과정에서, 3가지 installation방법 중에서 하나를 선택할 수 있습니다. : Express, Typical Or Custom . 대부분 Typical or Custom으로 설치하고 또 권장하고 있습니다. Express로 설치하려면 반드시 root로 로그인 해야 합니다.
The iWS Administration Server is separate from the other web servers on the system and should not be confused with the Mission Control Admin Server.It is recommended that the iWS Administration Server run with a different user id than those used by the other web servers on the machine.
The Administration Server user is the only user able to write web server configuration files.If the iWS Administration Server is run as "root",,the administration GUI can be used to start and stop web servers.
Run iWS Administration Server as [root]:
●Administration Server를 운영할 사용자를 입력한다. 서버 관리자는 새로운 서버를 설치할 수도 있고 설치된 서버를 실행 시킬 수도 있어야 한다. 만일 파일 시스템으로의 접근권한을 갖고 있지 않은 사용자를 설정한다면 새로운 서버의 설치 또는 실행은 성공하지 못할 것이다.
The iWS Administration Server requires its own administrative user name and password for GUI access.When you access the iWS Administration Server GUI, it will prompt you for the administrative user name and password.
The iWS Administration Server requires its own administrative user name and password for GUI access.When you access the iWS Administration Server GUI, it will prompt you for the
The iWS Administration Server also listens to a different port (with
restricted access).Pick a port number between 1024 and 65535 on which to run your iWS Administration Server.It must be different than the Mission Control Admin Port and your web
server port.
iWS Admin Server Port [8888]:
●Admin server의 포트 번호를 입력한다. (1024 ~ 65535 사이의 포트 번호를 입력한다.)Default는 8888이고 이미 사용되고 있는 포트 번호는 사용할 수 없다.
Admin server에 접속한 뒤 Select Server에서 서버를 고른 후 Manage를 버튼을 누르면 Server On/Off 창으로 넘어갑니다. 그 곳에서 About this server 라는 hyperlink를 누르면 자세한 버전 정보를 확인할 수 있습니다.
(2) error 로그에서 확인하는 방법
웹 서버를start할 경우 서버 버전과 관련된 정보를 error log에 기록하므로 logs 디렉토리의 errors 화일을 통해 확인할 수 있습니다.
(3) telnet command에서 확인하는 방법
- 3.x 버전 : 웹서버 설치 root 디렉토리/bin/https/ns-httpd -vi
- 4.x 버전 : 웹서버 설치 root 디렉토리/bin/https/bin/ns-httpd -v
- 6.x 버전 : 웹서버 설치 root 디렉토리/bin/https/bin/ns-httpd -v
- 6.x 버전 : 웹서버 root 디렉토리/start –version
2. Document 설정
(1) S1WS 4.1 일 경우
Server Manager화면의 Contents Mgmt 탭 – Primary Document Directory 메뉴에서 Primary Document의 경로를 변경 할 수 있습니다.
(2) S1WS 6.0 일 경우
Class Manager화면의 Contents Mgmt 탭 – Primary Document Directory 메뉴에서 Primary Document의 경로를 변경 할 수 있습니다.
3.Directory Indexing
Server Manager화면의 Contents Mgmt 탭 – Document Preference 메뉴에서
Index Filenames :이 부분에 처음에 보여질 index 페이지를 설정 할 수 있습니다. 이곳에 index.html을 등록 하시면 index.html 페이지가 처음 불려지게 됩니다.
index.html뒤에 , 로 구분하여 home.html을 등록해 주면 index.html을 찾지 못했을 경우 index.html다음에 등록된 home.html을 찾게 됩니다.
처음 보여질 페이지를index.jsp 나 기타 다른 페이지로 하고자 할 경우Index
Filenames : 이 부분에 등록 하면 됩니다.
Index Filenames : 부분에 등록된 파일을 찾을 수 없을 경우
아래의Directory Indexing부분의 설정에 따라 보여지는 내용이 달라 집니다.
Fancy 나 Simple로 설정하실 경우Index Filenames : 부분에 등록된 파일을 찾을 수 없을 경우에 Document root 디렉토리에 있는 파일 항목들을 보여주게 됩니다.
그러나None으로 설정 하시면 파일들을 나열해서 보여 주지 않고, 대신 특정 웹 페이지를 보이도록 하실 수 있습니다.
None로 설정 하시고 File to use for error response when indexing is none: 부분에 보여줄 에러 페이지를 등록 합니다.( 절대 경로로 등록 합니다.) 이 부분에 error.html을 등록 하셨다면Index Filenames : 부분에 등록된 파일을 찾을 수 없을 경우 파일들을 다 보여 주지 않고error.html을 보여주게 됩니다.
4. Log rotate 설정
웹 서버 로그를rotate시키는 방법은 Internal 데몬방식과 Cron-Based 방식 2개가 있습니다.
(1) internal 데몬 로그 rotate
S1WS 4.1일 경우 access로그만 rotate됩니다. 6.0에서는 access 와 error 모두 rotate 됩니다.설정하는 절차는 다음과 같습니다.
1) Server Manager화면으로 갑니다.
2) Status 탭을 누르시고 왼쪽의 메뉴 중 Archive Log를 누르시면 아래와 같은 화면이 나옵니다. (6.0 일 경우 server manager / logs / Archive log에서 설정하며 방법은 4.1과 동일 합니다.)
3) Internal daemon log rotation 을 선택하시고 하루 중 로그를 rotate시킬 시간을 정하신 후 rotate되는 간격을 설정합니다. Rotation interval의 default값은 30분입니다.( 예: rotate start time 1:30 am rotate interval 1440이라 하였을 경우 하루 중 오전 1시 30분에 로그를 rotate하여 20020106.access와 같은 형태로 로그 파일을 생성하고 그 후 하루 간격으로로그를 rotate하여 access남깁니다.)
4) OK 버튼을 누릅니다.
5) 오른쪽 상단의 apply버튼을 누른 후 apply change합니다.
( 6.0 일 경우 Load Configuration 하여도 적용 됩니다.)
(2) Cron-Based 로그 rotate
S1WS 4.1, S1WS6.0 모두 access 와 error log 가 rotate 됩니다.
1) Cron based log rotation을 선택 하시고 rotate시킬 시간대를 선택합니다.
( 예 : 12:00 am을 선택 하시면 하루 중 12 :00 am에만 로그가 rotate됩니다.
하루 중12:00 시와 2:00시에 rotate시키고자 한다면 12시를 선택한 후
ctrl 버튼을 누르고 2:00을 선택하시면 됩니다. )
그리고 특정 요일에는rotate시키지 않으신 다면 특정 요일에 대한 체크를
풀어 주시면 됩니다.
2) OK 버튼을 누릅니다.아래와 같은 화면으로 이동 합니다.
3) Server Manager링크를 클릭 합니다.아래 화면으로 이동하게 됩니다.
Start 버튼을 눌러 cron 데몬을 on시킵니다.
오른쪽 상단의apply버튼을 누른 후 apply change합니다
5. JDK 설정
Servlet은 웹서버에 내장된 jre만으로 실행이 가능합니다. 그러나 JSP를 실행시켜야 할 경우에는 jdk를 반드시 설치해야 하며, 설치된 jdk를 웹서버에 연동시켜 주어야합니다.
방법 :
Admin Server에서 Global Settings 탭을 선택하고 Configure JRE/JDK Paths 항목을 열어 JDK콤보 버튼을 클릭하고 JDK가 설치된 패스를 입력한 후 OK버튼을 클릭합니다.
https-admserv에서 stop/start해야 적용 됩니다.
예:
/usr/java1.2.2 에 JDK가 설치되었다면 JDK Path: 항목에 "/usr/java1.2.2" 를 입력하고 아래 lib path와 Class path는 공란으로 둡니다.
주의1 :
웹서버에서 JDK 패스 설정시 base directory (JDK가 설치된 처음디렉토리 ex:/usr/java1.2.2) 아래에 있는 기타 디렉토리를 입력하거나 특정 클레스 파일을 설정했을 경우 JSP가 정상적으로 동작하지 않을 수 있습니다.
잘못된 패스설정의 예
* /usr/java1.2.2/lib
* /usr/java1.2.2/bin
* /usr/java1.2.2/tools.jar
반드시 jdk가 설치된 디렉토리까지만 잡아 주셔야 합니다..
예) /usr/java1.2.2 까지만..
주의2:
JDK 연동 정보는 https-admserv에 들어 갑니다..
만약JDK를 잘못 연동 하였을 경우 웹 서버가 start되지 않을 수 있습니다.
따라서JDK 연동 전에 start-jvm 파일을 백업 받아 놓으시고 만약 JDK가 연동 정보가 잘못되어 start 되지 않을 경우 백업해 놓은 start-jvm으로 rollback 시킬 수 있도록 합니다..
6. JSP/Servlet 설정
1. JSP실행 하기
1) JSP를 실행하기 위해서는 JDK를 설치 하여 웹 서버와 연동 하여야 합니다.
2) JDK가 제대로 연동 되었다면 JSP파일들은 Document Directory 어디에 두어도상관없이 실행 됩니다.
2. Servlet 실행 하기
Servlet 은 웹 서버에 내장된 JRE 만으로도 실행 되므로 JDK를 설치 하지 않아도 됩니다. 단, Servlet 파일들이 존재하는 디렉토리를 Servlet 디렉토리로 등록해 주어야 합니다.
- Legacy Servlet 탭 – Configure Servlet Directory
(S1WS4.1일 경우 Servlets 탭 – Servlet 디렉토리) 에서servlet 파일들이 존재 하는 디렉토리를 등록합니다.
7. CGI 설정
cgi파일을 실행할때 , 이 파일이 cgi파일임을 인식하는2가지 있습니다.
1.programs 탭의 CGI Directory 에다 cgi-bin 디렉토리를 만들고 여기에 cgi 파일들을 두면 이 디렉토리 아래에 있는 모든 파일들을 cgi로 인식하여 실행하게 됩니다.
2.
1)preference 탭의 MIME types에 magnus-internal/cgi cgi,exe,bat 으로 설정되어 있는지 확인 합니다.
2)Programs 탭의 CGI File Type 의 Activate CGI as a file type? 을 yes로 설정합니다.
이렇게 하면 확장자가 .cgi나 exe , bat인 파일들은 모두 cgi로 인식하겠다는 것이므로 cgi 가 어느 디렉토리에 있든지 확장자만 제대로 되어있다면 cgi로 인식하여 실행됩니다.
그러므로 같은 디렉토리에 cgi파일과 기타 다른 파일들이 같이 있어도 됩니다.
8. PHP 설정
PHP 와 Netscape Enterprise Server 3.x / iPlanet WebServer 4.x, 6.0 연동
3) 압축을 푼 디렉토리에 가서 ./configure(자동) 또는 /.setup(수동)중 하나를 실행하여 환경 구성 합니다.
4) make 와 make install로 컴파일 및 설치를 합니다.
5) 설치가 끝나면 /usr/local/bin/php_/php-3.0.18에 php3.ini-dist라는 파일이 있는데 이것을 /usr/local/lib/ 디렉토리에 php.ini라는 파일의 이름으로 복사 후 php.ini를 수정하는데 아래와 같이 PHP 파일을 사용할 디렉토리(웹서버의 Document Root등)를 지정합니다.
예) doc_root=/usr/local/bin/php/examples
6) redirect.tar 압축을 풀고 Makefile을 열고 설치된 웹서버의 nsapi 경로를 아래와 같이 지정한 뒤 저장합니다.
예) INCLUDEDIR=/웹서버설치디렉토리/include(web server 3.x)
INCLUDEDIR=/웹서버설치디렉토리/plugins/include(web server 4.x)
CC_CMD=cc –DSOLARIS(컴파일러가 cc)
CC_CMD=gcc –DSOLARIS(컴파일러가 gcc)
7)make 라고 실행하면 redirect-cgi.c 파일이 redirect_cgi.so로 컴파일 되면서 현재 위치에 생성됩니다. (이때 cc 혹은 gcc 컴파일러가 없으면 안됩니다.)
8)생성된 redirect_cgi.so를 6번에서 설정된 INCLUDEDIR의 위치에 복사합니다.
9)이제 웹서버의 브라우저에 들어가셔서 Programs 탭 밑에 CGI File Type 에 가셔서 Activate CGI as a file type? 스위치를 on으로 설정하고 save and apply 를 합니다.
10) Server preference밑에 Mine types에 가셔서 Content-Type란에 magnus-internal/php 라고 적어 주시고 File Suffix 란에 pthml,php3 라고 적어 주십시오. ( 또는 /웹서버설치디렉토리/https-<servername>/config/mime.types 파일을 열고 수정합니다.)
11)/웹서버설치디렉토리/https-<servername>/config/obj.conf 파일을 열고 Init fn=load-types mime-types=mime.types의 아래줄에 다음과 같이 추가합니다. 이때 shlib는 redirect_cgi.so가 위치한 곳인 INCLUDEDIR을 지정합니다.
Service fn="php4_execute" type="magnus-internal/x-httpd-php"
(맨 마지막 줄에 추가)
<Object name=”x-httpd-php”>
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn="php4_execute"
</Object>
8) 웹서버를 stop/start 후 php화일이 정상적으로 수행되는지 확인하세요.
9.인증서 설치
web server에 SSL을 설정하는 전체과정
1. 서버의 키 페어(공용, 전용키)를 생성합니다. (CSR 생성)
2. 인증 기관에 인증서 발급을 요청 합니다.
3. 인증 기관에서 발급받은 인증 서를 웹 서버에 설치합니다.
4. 웹 서버에 설치한 인증서를 Enable 하기 (SSL 설정)
** 설치전 알아 둘 사항 **
서버 인증서의 종류는 글로벌서버인증서(Global Server Certificate)와 시큐어 서버인증서(Secure Server Certificate)로 나뉘어집니다.
- 글로벌서버인증서는 128bit로 SSL통신을 하기 위해서는 클라이언트 브라우저가 128bit를 지원해야 하며, 지원하지 않는 브라우저는 통신이 되지 않습니다. 단 Step-UP 기술을 지원하는 Netscape 클라이언트(Netscape Navigator 4.0이상/explore 5.5이상 )나 SGC(Server Gated Cryptography) 확장을 사용하는 클라이언트 응용프로그램을 사용해야 합니다.
- 시큐어 서버인증서는 서버와 클라이언트 모두 128비트를 지원해야 128비트 통신이 가능하며 둘 중 하나가 128bit를 지원 않는다면 브라우저 bit수에 의존적인 통신을 합니다.
-----BEGIN NEW CERTIFICATE REQUEST----MIIBCTCBtAIBADBPMQswCQYDVQQGEwJVUzEQMA4GA1UECBMHRmxvcmlkYTEYMBYGA1UEChMPRXllcyBvbiBUaGUgV2ViMRQwEgYDVQQDFAt3d3cuZXR3Lm5ldDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQCeojtjnHqg0GTxp+XZ56RaSe1iZWpumXjU6Sx7v1FdXzsY1oLOQa090Jtnu1WsQRHh0yDS+45oncjKm1zCG/IZAgMBAAGgADANBgkqhkiG9w0BAQQFAANBAFBj9g+NiUh8YWPrFGntgf4miUd/wqUshptjJy4PjdsD3ugy5svvuh3G//PpGh2aYXIjHpJXTUBQyzxSEIINYtc=-----END NEW CERTIFICATE REQUEST-----
위의CSR을 복사하여 thawte나 verisign 홈페이지에서 등록신청 할 때 넣어 줍니
다.
3) 인증 기관(thawte)에 접속해서 인증 서를 발급 신청
인증기관(http://www.crosscert.com)에 접속해서 테스트 ID 혹은 실제 ID를 발급 신청할 경우 CSR을 요구합니다. 이때앞에서 생성했던 CSR을 붙이고 다음에 관리자의 정보나 결제방식과 법인 등록번호 등을 기재해서 신청을 마치면, 신청한 E-mail로 등록 확인서와 PIN# 번호가 오며 이 번호로 등록 신청여부를 알 수 있습니다.
lCertificate Name에는 This Server를 선택했기 때문에 입력하지 않아도 됩니다.
lMessage text (with headers)라는 section에 e-mail로 받은 Digital Server ID를 넣어 줍니다.
CSR과 마찬가지로 Header 부분의-----BEGIN CERTIFICATE----- 부분과 마지막의 -----END CERTIFICATE----- 까지 넣어 주셔야 합니다.
lOK를 누르면 확인을 위해 Certificate Information이 나오고 Add Server Certificate 버튼을 누르면 등록이 됩니다.
4.Secure Socket Layer(SSL) 적용과 사용
4-1. SSL 적용
1) SSL 적용
SSL을 설정 할서버의 server manager화면에서 preference 메뉴에서 Edit Listen Socket을 선택합니다.SSL을 설정 할 포트에 대해 security를 on으로 설정합니다.(SSL의 기본 포트는 443 포트입니다.)
443 포트에 대해 security 가 on되어 있다면 443포트 Listen socket을 사용하는 virtual Server들은 SSL 통신을 하게 됩니다.
만약 글로벌 인증 서를 설치하였을 경우40bit혹은 56 bit의 브라우저에서도
SSL통신이 가능하도록 설정하여야 합니다.
위의 그림에서처럼Listen Socket의 SSL을 on 하면 Attributes링크가 생깁니다. Attributes을 누르면 아래와 같은 화면이 나오고아래 화면에서
SSL3/TLS를 눌러 40,56 bit에 대해 활성화 시켜 줍니다.
2) SSL 사용
lSSL이 적용되면 서버를 start 할 때 마다 key-pair password를 입력해야 합니다.
- 서버 시작 시 암호를 매번 암호를 적어야 하는 불편을 해결하기 위해서는 start script 에 ./$PRODUCT_BIN –d $PRODUCT_SUBDIR/config $@ 이라는 부분의 바로 뒤에 </server-설치root/alias/pass 라고 적어 주시면 전체라인이 ./$PRODUCT_BIN –d $PRODUCT_SUBDIR/config$@ <server-설치root/alias/pass 이 됩니다.
그리고pass라는 파일을 만들어 key-pair password를 적어주면 됩니다.
- 혹은 start파일을 열어 ./$PRODUCT_BIN –d $PRODUCT_SUBDIR/config $@ 를 다음과 같이 수정 합니다.
magnus.conf, obj.conf, mime.types 를 수정 한 후서버를 stop/start 합니다. iPlanet 의 jsp/servlet을 disable 시킵니다.관리 브라우져를 열고 Server
Manager화면의 java 탭을 선택 합니다. Enable Java Globally 와 Enable Java for class defaultclass를 disable 합니다.
11. Password 변경하기
command line에서 web server 설치 root에 있는 https-adminserv/config 디렉토리로 이동하신 다음, vi 편집기로 admpw를 여시면 아래와 같은 형태의 내용을 볼 수 있습니다.
admin:{SHA}0DPiKuNIrrVmD8IUCuw1hQxNqZc=
내용 중에"admin:"뒤에 있는 암호화된 문자들을 지우고 server를 restart 시킨 다음 admin으로 접속할 때 password를 지정하지 않고 접속하면 됩니다.
접속 후 초기화면 상단에 있는 Preferences 탭을 누르신 다음 왼쪽 3번째 메뉴의 Superuser Access Control에 들어가시면 그 곳에서 admin password를 입력하여 Administrator Server의 password를 재설정 할 수 있습니다.
Part
3I
Tunning
웹서버의 성능향상을 위한튜닝 방법에 대해 제시합니다.
1. 웹서버 튜닝
웹 서버의 최적화된 성능을 위해 기본적으로 확인, setting 해야 하는 항목들입니다.
1)OS 패치
OS 패치 제대로 되어 있는지 반드시 확인 합니다.
2)OS 커널 파라메터
os의 커널 파라메터 튜닝 – os별 커널 파라메터는http://docs.iplanet.com에서 확인 하실 수 있습니다. OS엔지니어에게 문의하셔서 적정값으로 셋팅하시기를 바랍니다.
ulimit –a 하시어 확인 하실 수 있고(혹은 장비의 (ndd /dev/tcp) tcp_conn_
req_max 값을 확인), 1024이하일 경우
- /https-서비스 서버/ 디렉토리의 start 파일내에
ulimit -n 1024로 설정합니다
- /etc/system 파일에서 설정할 수 있습니다. 이 경우 os를 reboot 해야 합
니다.
4)웹 서버 튜닝 항목
https-인스턴스명/config/magnus.conf내의 항목들 입니다.
nRqthrottle
이 값은S1WS6.0경우 default 128 , iws4.x 512로 처리 가능한 동시 request 수 입니다. 사용자가 많은 사이트 일 경우 이 값을 늘려 동시 처리 가능한 request수를 늘려 주도록 합니다.
nMaxProcs
S1WS는 one process, multi Thread 방식 입니다.그러나 MaxProcs 로 여러 개의 프로세스를 동시에 수행하도록 구성할 수 있습니다. 이렇게 함으로써웹 서버의 성능을 증가시킬 수 있습니다. MaxProcs 2 라고 설정 하면 one Process 가 아니라 2개의 Process로 실행됩니다. 그러나 iPlanet 의 모든 확장프로그램들은 Single Process mode로 개발되어 Multiple Process mode를 지원하지 못합니다. 예로 Search Plug-in은 Multiple Process mode에서는 사용할 수 없고,Java application 을 수행 할 경우에는 Multiple Process mode를 사용 할 수 없습니다.
MaxProcsX: X는 process 개수를 뜻하며, 설정 할 수 있는 범위는 최대 cpu *2 입니다.
nKeepAliveTimeout
HTTP 1.0의 기본동작 방법은 세션 연결 후 자료전송이 끝나는 대로 세션을 끊도록 구성되어 있습니다.이는 사용자가 여러 개의 정보를 전송 시에 재접속을 위한 오버헤드가 과도하게 발생하는 문제점이 있어 이를 개선하고자 KeepAlive라는 “접속유지”방법을 사용합니다. 이 방법은 세션 연결 후 파일전송이 끝나면 Timeout시간동안 세션을 유지함으로써 재 전송 시 접속을 위한 오버헤드를 감소시켜줍니다.(HTTP1.0은 옵션/HTTP1.1에서는 기본으로 동작합니다.) 이 항목은 해당 인스턴스의 Performance Tuning 메뉴의 Persistent Connection항목을 수정할 수 있으며, magnus.conf파일의 KeepAliveThreads 항목을 수정할 수도 있습니다.
KeepAliveTimeout은 Keep-Alive로 세션 연결 후 파일전송이 완료되고 얼마동안 세션을 유지 할 것인지를 나타내는 시간 값을 보여줍니다. 이 시간이 초과되면 세션연결은 해지 됩니다. 이 값은 default로 30초 입니다. 사용자가 많을 경우 이 값을 적게 잡아 주어 새로운 connection이 빨리 맺어 지도록 해 주어야 합니다. 그러나 이 값을 0으로 설정하면 Connection Less 상태가 되어 재 전송 시 접속 을 위한 오버헤드가 증가 하게 됩니다.(사용자가 많을 경우 이 값을 10초 정도로 설정 합니다.)
n웹 서버에서java application을 서비스 할 경우
https-인스턴스명/config/jvm12.conf 의 jvm.maxHeapSize값을 256M로 늘려 줍니다. ( 파일 내 단위는 byte 입니다.)
Part
4
Q & A
웹서버 운영시 자주 발생되는 항목에 대한FAQ를 제시합니다.
[Q-1]웹 서버가 start되지 않을 경우
[Answer]
1) logs 디렉토리의 user/group이 install시 입력한 user/group과 같은지 확인
하고, 접근 권한을 확인합니다.
chown –R myuser:mygroup ./logs
chmod 777 ./logs
2)logs 디렉토리 아래 pid란 파일이 있는지 확인합니다.
만약 있다면 삭제한 후restart 합니다.
Server가 start 되면 logs 디렉토리 아래 pid란 파일이 생성 됩니다.
Server를 stop 되면 logs 디렉토리 아래 pid란 파일은 지워 지는데,이전에 server가비정상적으로 종료 되면 pid가 지워지지 않고 남아 있을 수 있으며, 이때 start를 시키려고 하면 pid가 이미 존재하기 때문에 start가 되지 않습니다.
3)아무런 메시지가 뜨지 않고 다음 프롬프트로 넘어갈 때
root로 서버를 start시키지 않았을 경우 (1024 포트 이하는 root 권한으로만 관리가 가능하므로)이러한 상황이 될 수 있으므로 접속 권한을 체크해 보시기 바랍니다.
4) 서버가 start 되지 않으면서 stop 하면 not running으로 나올 때
ps –ef |grep server-root/https-myserver 로 daemon을 확인합니다.
./uxwdog 와 ns-httpd 데몬은 항상 짝으로 떠있어야 합니다.
(admin server 에 한해서 웹서버 3.6에서는 ns-admin –d 혼자 떠있는게 정상임) 그러므로, 이 때에는 ./uxwdog 데몬을 kill –9로 내리고 서버를 다시 start 하도록 합니다.
[Q-2][https-hostname]: pclose() failed. (2: unknown early startup error)
[https-hostname]: failure: watchdog could not connect
이러한 파일이 생성 되는 이유는 웹서버를start할때 /logs/wdnotify와 uxwdog 프로세스가 기동 되면서 생성되게 됩니다.
uxwdog이 안정적으로 기동되면 wdnotify가 없어지면서 /logs/pid에 uxwdog 프로세서 번호를 남기고 파일이 삭제되게 되는데, 기동이 정상적으로 되지 않을 경우 wdnotify는 /logs/wdnotify파일을 생성하게 된다. 이럴 경우 웹 서버는
이미 웹 서버가 실행중인 것으로 인식하고 기동하지 않게 됩니다.
* "uxwdog" daemon은 httpd 프로세서들이 잘 실행되는지 감시하고 시스템 장애등
의 문제로 인하여 다운된다면httpd 프로세스를 다시 기동 시켜주는 역할을 합니
다.
[Q-3]pclose() failed. (2:unknown early startup error)
Config of server nonce cache failed(-8185)
[Answer]
/tmp 디렉토리에 사용이 가능한 공간을 확보해야 합니다.
[Q-4]could not log PID to PidLog /ServerRoot/logs/pid (Permission denied)
혹은daemon: “can’t log pid to <server-root>/https-myserver/logs/pid
[Answer]
접근 권한 문제로logs 디렉토리에 쓸 수 없을 때 발생 합니다.
Chmod 777 logs
[Q-5] info:successful server startup
failure:Terminating Service:Failure: Could not open statistics file ( Error Number is unknown)
pclose() failed. (2 unknown early startup error)
warning: statistics disabled (IIIegal access)
Netscape-Enterprise/3.6.3
Seminit failed (Illegal access)
Startup failure: could not bind to port 80 (permission denied)
Server exit: status 255
[Answer]
Server가 start 할 때 daemonstat.* 이라는 임시 파일을 /tmp에 생성하는데, 이때 서버가 이 파일을 만들거나, 파일 위에 쓰거나, 조작할 수 없을 때 발생할 수 있는 error입니다./tmp 디렉토리가 full나지 않았는지, /tmp 디렉토리의 permission이 777이 아닌지 확인 하십시오.또는, 서버가 실행 중이지 않을 때에도/tmp 에 daemonstat.* 파일이 있는 경우는 그 파일을 지워주고 서버를 start 시키십시오.
[Q-6] info: successful server startup
info: Netscape-enterprise/3.6
failure : flex-rotate: error opening must cycle logfile server-root/https-myserver/logs/access before changing format ( No such file or directory)
[Answer]
이 현상은access log의 format line이 손상되었을 때 발생합니다.해결 방법은 다음과 같습니다.access 파일을 지워주면 서버가 다시 start 할 때 access 파일을 생성하면서 정상적으로 start 됩니다.
2) 위를 수행하면 command의 위치가 /server_root/bin/https/bin 디렉토리로 이동합니다. 여기에서 다음 command를 입력합니다.
./ns-httpd -d /server_root/https-server_id/config 이렇게 하면 foregroud 상태가 되고 system.out과 System.err를 콘솔에 찍게 됩니다.
방법2: Servlet / JSP 코드에 다음을 사용하여 error log에 찍을 수 있습니다.
************************************************* ServletContext cont = this.getServletContext(); cont.log("Write this String"); *************************************************
위와 같이 삽입하면 Write this String이 error log에 찍히게 됩니다.
< NT에서 System.out.println을 찍는 방법 >
●S1WS 4.1일 경우 /server-root/https-서버명/config/obj.conf, S1WS6.0일 경우 /server-root/https-서버명/config/magnus.conf 파일에 아래의라인을 입력합니다.
C:/iPlanet/Servers/https-sky/logs/errors 파일에 찍도록 하기 위해서는
Init fn="nt-console-init" stderr="C:/iPlanet/Servers/https-sky/logs/errors"
stdout="C:/iPlanet/Servers/https-jhchoi/logs/errors" EarlyInit="yes"
와 같이 설정 하면 됩니다.