레이블이 웹서버인 게시물을 표시합니다. 모든 게시물 표시
레이블이 웹서버인 게시물을 표시합니다. 모든 게시물 표시

[TOMCAT] Session(세션) 클러스터링

ㅁ 목적

   - tomcat instance를 2개 이상 생성하여 클러스터링 구축 후 instance를 재시작시 session 관리가 되지 않음.
   - Session 관리를 통해 instance를 재시작 중에도 Session이 유지가 되게함.

ㅁ 가정


   - A서버에 tomcat은 /usr/local/tomcatA 에 설치되어 있음.
   - B서버에 tomcat은 /usr/local/tomcatB 에 설치되어 있음.
   - A서버와 B서버는 /session 이라는 공유폴더가 있음.

ㅁ 방법

   [root@Aserver /]# vi /usr/local/tomcatA/conf/server.xml

   <!-- 세션 관리를 하려는 도메인 내에 아래 항목을 추가함 -->
            <Manager className="org.apache.catalina.session.PersistentManager"
                     saveOnRestart="true"
                     maxActiveSessions="-1"
                     minIdleSwap="-1"
                     maxIdleSwap="-1"
                     maxIdleBackup="-1">
              <Store className="org.apache.catalina.session.FileStore" directory="/session" />
            </Manager>

   [root@Bserver /]# vi /usr/local/tomcatB/conf/server.xml

   <!-- 세션 관리를 하려는 도메인 내에 아래 항목을 추가함 -->
            <Manager className="org.apache.catalina.session.PersistentManager"
                     saveOnRestart="true"
                     maxActiveSessions="-1"
                     minIdleSwap="-1"
                     maxIdleSwap="-1"
                     maxIdleBackup="-1">
              <Store className="org.apache.catalina.session.FileStore" directory="/session" />
            </Manager>

ㅁ 확인

   - A서버에서 tomcat 재시작시 /session 에 session 값이 남고 B서버에서 tomcat 재시작시 /session 에 session 값이 남으면 정상설치 됨.

끝.

참고
Tomcat 서버 2대에 Instance를 각각 1개씩 생성하고 이중화 방법(https://hkand.blogspot.com/2023/02/tomcat-tomcat-2-instance-1.html)

Tomcat 서버 한 대에 Instance 2개 생성 방법(https://hkand.blogspot.com/2023/02/tomcat-tomcat-instance-2.html)

[웹서버] 리다이렉션(Redirect)

 ㅁ 필요

   - 사용중인 사이트 주소가 변경되어 리다이렉션 필요.

ㅁ 가정

   - http://company.hkand.com 을 http://www.hkand.com 으로 리다이렉션 함.
   - Linux는 CentOS, Apache이며 apache 경로는 /usr/local/apache2 임.

ㅁ 방법

   1) Windows

      - 시작 -> 관리 도구 -> IIS(인터넷 정보 서비스) 관리자 클릭
      - 변경하려는 사이트 클릭
      - 우측 IIS 영역에서 HTTP 리디렉션 클릭
      - 요청을 이 대상으로 리디렉션 란에 "http://www.hkand.com"을 입력함.
      - 동작 리디렉션 란에 "모든 요청을 대산 기준 대신 정확한 대상으로 리디렉션", "요청을 이 디렉터리(하위 디렉터리 제외)의 콘텐츠로만 리디렉션"을 체크하고 적용함.
      - 연결 영역 변경 사이트명을 클릭 후 작업 영역 웹사이트 관리에서 다시 시작 클릭

   2) Linux

   - [root@Server /]# vi /usr/local/apache2/conf/extra/httpd-vhosts.conf

      # ServerName company.hkand.com 아랫 줄에 다음 내용 추가함.
      Redirect / http://www.hkand.com/

   - [root@Server /]# /usr/local/apache/bin/httpd -k restart

ㅁ 기타

   - http://company.hkand.com/abc 로 요청시 http://www.hkand.com/def 로 리다이렉션 함.

   1) Windows

      - IIS URL Rewrite(다운로드 : http://www.iis.net/downloads/microsoft/url-rewrite) 설치함.

   2) Linux

   - [root@Server /]# vi /usr/local/apache2/conf/extra/httpd-vhosts.conf

      # ServerName company.hkand.com 아랫 줄에 다음 내용 추가함.
      RedirectMatch /abc/ http://www.hkand.com/def/

   - [root@Server /]# /usr/local/apache/bin/httpd -k restart

끝.

[웹] robots.txt

1. 설명

- 웹사이트에서 크롤링할 수 있는 정보 접근 규칙을 정리한 텍스트 파일

- 작성 의무는 없지만 검색엔진 크롤러가 크롤링시 참고함.


2. 사용방법

2.1 robots.txt 파일 만듦.

2.2 robots.txt 파일 규칙 추가

> user-agent : 필수, 그룹당 하나 이상

> disallow : 규칙당 하나 이상 disallow 또는 allow 항목 필요

> allow : 규칙당 하나 이상 allow 또는 disallow 항목 필요

> sitemap : 선택사항

2.3 robots.txt 파일을 사이트 루트에 업로드


3. 예시

> https://hkand.blogspot.com/robots.txt


User-agent: Mediapartners-Google < 애드센스 로봇

Disallow:   < 모두 허용


User-agent: *   < 위 로봇를 제외한 모든 로봇

Disallow: /search   < search 라는 이름을 크롤링 거부

Allow: /   < search 를 제외한 다른 내용은 크롤링 허용


Sitemap: https://hkand.blogspot.com/sitemap.xml < sitemap 알림


4. 참고

- https://developers.google.com/search/docs/crawling-indexing/robots/intro?hl=en&visit_id=638107472745422210-3808386236&rd=2


끝.

[윈도우] IIS 시작, 중지, 재시작 명령어

1. 설명

- 명령 프롬프트에서 IIS 시작, 중지, 재시작 명령어


2. 사전 필요

- 명령 프롬프트를 관리자 권한으로 실행


3. 방법

- 재시작

> iisreset /restart

- 중지

> iisreset /stop

- 시작

> iisreset /start


4. 참고

[윈도우] IIS 설치


끝.

[윈도우] IIS 설치

1. 설명

- Internet Information Services

- 윈도우에서 웹서버를 구축할 수 있는 플랫폼


2. 방법

2.1 실행(Window 키 + R키) -> "제어판" 입력 -> 확인 버튼 클릭

2.2 프로그램 클릭

2.3 프로그램 및 기능 -> Windows 기능 켜기/끄기 클릭

2.4 인터넷 정보 서비스 선택 -> 확인 버튼 클릭 


3 설치 확인

> netstat -ano | find 80


4. 기타

- 재시작 필요없음.


끝.

[TOMCAT] Tomcat 서버 2대에 Instance를 각각 1개씩 생성하고 이중화 방법

ㅁ 목적
   - Tomcat 서버 2대에 Instance를 서버당 하나씩 생성하고 이중화 구성하여 물리적인 Tomcat 서버 장애에 대비함.

ㅁ 가정
   - Apache 서버(IP : 192.168.0.10)는 별도로 구성되어 있음.
   - Apache경로는 /usr/local/apache2임
   - Tomcat 서버 2대 HOSTNAME은 A(IP : 192.168.0.11), B(IP : 192.168.0.12) 임.
   - Tomcat 서버 2대에는 JAVA가 각각 설치되어 있음.

ㅁ 방법
   1) A서버 Tomcat 설치
     [root@Aserver /]# cd /usr/local/src/
     [root@Aserver /]# wget http://apache.tt.co.kr/tomcat/tomcat-9/v9.0.0.M6/bin/apache-tomcat-9.0.0.M6.tar.gz
     [root@Aserver /]# tar xvfz apache-tomcat-9.0.0.M6.tar.gz
     [root@Aserver /]# mv apache-tomcat-9.0.0.M6 /usr/local/tomcatA

   2) B서버 Tomcat 설치
     [root@Bserver /]# cd /usr/local/src/
     [root@Bserver /]# wget http://apache.tt.co.kr/tomcat/tomcat-9/v9.0.0.M6/bin/apache-tomcat-9.0.0.M6.tar.gz
     [root@Bserver /]# tar xvfz apache-tomcat-9.0.0.M6.tar.gz
     [root@Bserver /]# mv apache-tomcat-9.0.0.M6 /usr/local/tomcatB

   3) Apache 서버에서 Apache & Tomcat 연동
     [root@Apacheserver /]# cd /usr/local/src/
     [root@Apacheserver /]# wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz
     [root@Apacheserver /]# tar xvfz tomcat-connectors-1.2.41-src.tar.gz
     [root@Apacheserver /]# cd tomcat-connectors-1.2.41-src
     [root@Apacheserver /]# cd native
     [root@Apacheserver /]# ./buildconf.sh
     [root@Apacheserver /]# ./configure --with-apxs=/usr/local/apache2/bin/apxs
     [root@Apacheserver /]# make && make install

   4) Apache 설정
     [root@Apacheserver /]# vi /usr/local/apache2/conf/workers.properties

    ps=/
    worker.list=router

    # Set properties for tomcat1(tomcat1/port1) (ajp13)
    worker.tomcatA.port=8009
    worker.tomcatA.host=192.168.0.11
    worker.tomcatA.type=ajp13
    worker.tomcatA.lbfactor=1

    # Set properties for tomcat2(tomcat2/port2) (ajp13)
    worker.tomcatB.port=8010
    worker.tomcatB.host=192.168.0.12
    worker.tomcatB.type=ajp13
    worker.tomcatB.lbfactor=1

    # Define the LB worker
    worker.router.type=lb
    worker.router.balance_workers=tomcatA,tomcatB

     [root@Apacheserver /]# vi /usr/local/apache2/conf/httpd.conf

    # 아랫 줄을 설정값에 추가

    LoadModule jk_module modules/mod_jk.so

    <IfModule jk_module>
      JkWorkersFile conf/workers.properties
      JkLogFile logs/mod_jk.log
      JkLogLevel error
    </IfModule>

   5) apache 및 tomcat에 도메인, 경로 및 jvmroute 설정

     [root@Apacheserver /]# vi /usr/local/apache2/conf/extra/httpd-vhosts.conf

    # apache 도메인 및 경로 설정시 </VirtualHost> 윗라인에 아래 항목 추가
      JkMount /*.jsp router
      JkMount /*.do router

     [root@Aserver /]# vi /usr/local/tomcatA/conf/server.xml

    # <Engine 으로 시작하는 줄을 찾아 jvmRoute="tomcatA"를 추가해줌.
<Engine jvmRoute="tomcatA"

     [root@Bserver /]# vi /usr/local/tomcatB/conf/server.xml

    # <Engine 으로 시작하는 줄을 찾아 jvmRoute="tomcatB"를 추가해줌.
<Engine jvmRoute="tomcatB"

   6) apache 및 tomcat 시작

끝.

[TOMCAT] Tomcat 서버 한 대에 Instance 2개 생성 방법

ㅁ 목적
   - Tomcat 서버에 Instance를 2개 생성하여 이중화 구성함.

ㅁ 가정
   - Apache, Tomcat를 한 대 서버에서 운영함.
   - Apache(경로 : /usr/local/apache2), JAVA는 설치되어 있음.

ㅁ 방법
   1) Tomcat 설치
     [root@server /]# cd /usr/local/src/
     [root@server /]# wget http://apache.tt.co.kr/tomcat/tomcat-9/v9.0.0.M6/bin/apache-tomcat-9.0.0.M6.tar.gz
     [root@server /]# tar xvfz apache-tomcat-9.0.0.M6.tar.gz
     [root@server /]# mv apache-tomcat-9.0.0.M6 /usr/local/tomcat1
     [root@server /]# cp -R /usr/local/tomcat1 /usr/local/tomcat2

   2) Tomcat 설정
     [root@server /]# vi /usr/local/tomcat2/conf/server.xml

# port="8005"를 port="8006"으로 변경
       <Server port="8006" shutdown="SHUTDOWN">

# port="8009"를 port="8010"으로 변경
       <Connector port="8010"


   3) Apache & Tomcat 연동
     [root@server /]# cd /usr/local/src/
     [root@server /]# wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz
     [root@server /]# tar xvfz tomcat-connectors-1.2.41-src.tar.gz
     [root@server /]# cd tomcat-connectors-1.2.41-src
     [root@server /]# cd native
     [root@server /]# ./buildconf.sh
     [root@server /]# ./configure --with-apxs=/usr/local/apache2/bin/apxs
     [root@server /]# make && make install

   4) apache 설정
     [root@server /]# vi /usr/local/apache2/conf/workers.properties

ps=/
worker.list=router

# Set properties for tomcat1(tomcat1/port1) (ajp13)
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1

# Set properties for tomcat2(tomcat2/port2) (ajp13)
worker.tomcat2.port=8010
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1

# Define the LB worker
worker.router.type=lb
worker.router.balance_workers=tomcat1,tomcat2

     [root@server /]# vi /usr/local/apache2/conf/httpd.conf

# 아랫 줄을 설정값에 추가

LoadModule jk_module modules/mod_jk.so

<IfModule jk_module>
     JkWorkersFile conf/workers.properties
  JkLogFile logs/mod_jk.log
  JkLogLevel error
</IfModule>

   5) apache 및 tomcat에 도메인 및 경로 설정

     [root@server /]# vi /usr/local/apache2/conf/extra/httpd-vhosts.conf

# apache 도메인 및 경로 설정시 </VirtualHost> 윗라인에 아래 항목 추가
  JkMount /*.jsp router
     JkMount /*.do router

     [root@server /]# vi /usr/local/tomcat1/conf/server.xml

    # <Engine 으로 시작하는 줄을 찾아 jvmRoute="tomcat1"를 추가해줌.
<Engine jvmRoute="tomcat1"

     [root@server /]# vi /usr/local/tomcat2/conf/server.xml

    # <Engine 으로 시작하는 줄을 찾아 jvmRoute="tomcat2"를 추가해줌.
<Engine jvmRoute="tomcat2"

   6) apache 및 tomcat 시작

끝.