리눅스/유닉스 명령어 모음2

nslooup에서부터 WAS timeout 설정까지

Posted by 옐란 on 2021-04-02

목차

1
2
3
4
5
6
7
8
1. nslookup
2. hostname
3. telnet/ping/tracert
4. 터미널 ssh 접속
5. Shell 특수문자와 2>&1의 의미
6. 파일 생성시간 기준으로 찾기/삭제하기
7. SWAP 메모리 추가
8. 웹서버 설정(Sun ONE)과 WAS Timeout설정

nslookup

  • DNS에 등록된 domain name을 ip addresss 반환
    1
    nslookup www.google.com

hostname

  • hostname 확인 방법
    1
    2
    3
    $ cat /etc/hosts
    127.0.0.1 localhost
    127.0.1.1 storycompiler
  • 관련문제: Java 프로세스에서 UnKnownHostException 발생시, DNS에서 host이름으로 IP를 못찾는것!
  • 해결방법: 로컬 캐시(/etc/hosts에 정보 기입) 및 networking restart
  • 참고: https://storycompiler.tistory.com/118
    1
    2
    $ sudo /etc/init.d/networking restart
    [ ok ] Restarting networking (via systemctl): networking.service.

telnet/ping/tracert

  • telnet : 텔넷 접속 명령어
  • 활용: 방화벽 오픈(Ip/port) 확인용으로 주로 사용, 방화벽이 열리지 않은 경우 접속 실패 발생
    1
    telnet ip port
  • ping: target ip로 네트워크 상태 확인(패킷 전송 및 응답 수신)
  • 활용 : 주로 상대방 서버의 live상태를 체크 및 방화벽 오픈 여부 목적으로 사용
    1
    ping ip 옵션
  • tracert (리눅스 traceroute): ip 라우팅 경로 추적
  • 활용 : 내부망/외부망이 분리된 경우, 인터넷망에서 접속 실패/다운로드 실패시에 라우팅 경로를 확인하여 문제를 찾아볼수 있다.
    1
    tracert ip
  • 기타(windows): 접속 사이트별 응답정보 확인용으로

    fiddler 설치 및 확인 : https://www.telerik.com/fiddler

터미널 SSH 접속

1
ssh -p 15022 user@123.123.123.123

Shell 특수문자와 2>&1의 의미

  • $! : 최근 백그라운드 작업의 프로세스 번호
  • 활용: 프로세스 pid를 저장해두고 stop shell에서 kill pid로 죽일때 사용가능
    1
    echo $! > $HOME/bin/pid/stop_pid.sh
  • 2>&1 : 2(standard err)를 &1(standard output과 같은 파일로) >(redirect한다)

    설명: 표준에러를 표준출력 파일과 같은 stream(파일)로 write한다.

    1
    2
    3
    4
    java -Dtype=TEST com.test.java test.cfg > test.out 2>&1 &  
    #java프로세스를 실행하는데 test.out파일로 표준출력을 write함.
    #그리고 표준에러도 표준출력과 같은 파일로 쓰고, java프로세스는 백그라운드(&)로 실행
    #표준에러를 파일에 쓰도록 했기때문에, 화면(screen)에 Exception내용이 찍히지 않음

파일 생성시간 기준으로 찾기/삭제하기

  • 참고: https://joont.tistory.com/129
  • 방법: find의 -newer 옵션(지정한 파일의 날짜보다 이후에 수정된 파일을 찾아주는 옵션) 활용
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    1) touch -t 20160501 begin  (우분투는 yyyyMMddhh24mi 까지 입력해야 됨?)
    2-1) find . -newer begin -print
    > begin 파일보다 이후에 수정된 파일을 검색합니다. 즉, 201651일 이후의 파일을 검색하게 되는것이죠.
    2-2) find . ! -newer begin -print
    > find의 부정연산자를 사용하면 201651일 이전의 파일도 검색 가능합니다.
    2-3) touch -t 20160530 end, find . -newer begin -a ! -newer end -print
    >201651일부터 2016530일 사이에 수정된 파일을 검색하는 방법입니다.
    3) find . -newer begin -a ! -newer end | wc -l
    > 개수 구하기
    4) find . -newer begin -a ! -newer end -exec rm -f {} \;
    > 삭제하기 (*주의: 반드시 . 현재디렉토리 기준으로 찾기바람, /를 쓰면 최상위 경로가 됨)

SWAP 메모리 추가(1G->3G할때)

  • 참고1: https://htst.tistory.com/32

  • 크게 두가지 방식 partition(디스크 할당) or SWAPFILE(swap용 big file추가) 처리가 있음

  • partition이 존재할때 swapfile을 추가하여 간단하게 스왑메모리를 추가할수 있음.

  • 참고2: https://steps4great.tistory.com/7 –swapfile 만들기

    1
    2
    3
    4
    sudo fallocate -l 2G /swapfile  → swapfile 생성
    sudo chmod 600 /swapfile → root 사용자만 사용할 수 있도록 권한 변경
    sudo mkswap /swapfile → 스왑메모리로 변경
    sudo swapon /swapfile → 스왑메모리 활성화
  • 재부팅시 swap메모리 남아있게 설정

    1
    2
    sudo vi /etc/fstab
    입력내용 → /swapfile swap swap default 0 0
  • 스왑메모리 제거

    1
    2
    3
    4
    sudo vi /etc/fstab → 자동마운트 내용 제거 및 주석처리
    sudo swapoff -v /swapfile
    sudo swapoff on /swapfile
    sudo rm -r /swapfile

웹서버 설정과 WAS Timeout설정

웹서버(Sun ONE) 설정파일

  1. /opt/sunone61/https-xxx/config/object.conf : URI 패턴을 등록하고 해당하는 요청일때 필터링 기능 동작
  2. /opt/sunone61/https-xxx/config/server.xml : 웹서버 포트등 설정
    1
    2
    3
    <Object name="weblogic_do" ppath="*.do">
    Service fn="wl_proxy" WebLogicCluster="xxx.xxx.xxx.xxx:9820,xxx.xxx.xxx.xxx:9820" DynamicServerList="OFF" Idempotent="ON" WLIOTimeoutSecs="3600" KeepAliveEnabled="false" CookieName="NLPS_ADMIN_JSESSIONID"
    </Object>

설정파일(object.conf) 옵션 설명

  1. WLIOTimeoutSecs (HungServerRecoverSecs) : WLS로 request를 보내고 response를 받기 위해 대기하는 시간, default 300초
  2. KeepAliveEnabled : Plug-in과 WLS의 연결을 지속할 것인지 여부를 결정

    client request를 처리한 후 WLS와의 연결을 닫아버릴 것인지 연결된 상태로 두었다가 다음 요청이 들어왔을 때 재사용할 것인지 설정
    Default => true(Netscape and Microsoft IIS) & ON (Apache)

  3. Idempotent (ON/OFF) :

    WebLogic서버로 부터 request전송시 에러가 발생하거나, 서버로부터 결과를 기다리는 중에 위에 정의된 WLIOTimeoutSecs 시간 초과되어서 에러 발생시 요청을 다시 보낼 것인가를 지정
    서버와 연결은 되었는데 그 이후에 에러가 발생 하였을 경우 해당 옵션이 ON이면 다시 연결을 시도하고, 요청을 보내게 되므로 중복 요청의 가능성이 있다. OFF권장

WAS Timeout 설정

  • 세션 Timeout 설정:
  1. 웹로직 콘솔: 배치->프로젝트명->구성 > “세션시간초과” 항목
  2. 서버 xml파일
  • web.xml : /WEB-INF 하위, web.xml의 경우에 단위는 분이다.
    1
    2
    3
    <session-config>
    <session-timeout>60</session-timeout>
    </session-config>
  • weblogic.xml : 단위는 초이다.
    1
    2
    3
    4
    5
    6
    <session-descriptor>
    <session-param>
    <param-name>TimeoutSecs</param-name>
    <param-value>3600</param-value>
    </session-param>
    </session-descriptor>