본문 바로가기
개발 관련/환경 세팅

아파치 설정

by lazysnack 2022. 7. 14.

이번 개발 서버를 구성하면서 설정했던 것들을 까먹지 않도록 작성.

목표 - QA 용 관리자 서버 구성

필요한 단계

  1. 톰캣 설정
  2. 아파치 설정
  3. 젠킨스 배포 설정
  4. DNS 추가

1. 톰캣 설정

톰캣은 기본 설정의 톰캣 사용 따라서, bin, conf 내용만 수정

1) conf 디렉토리에서 server.xml

  • 기존에 있던 톰캣을 복사해서 그런지 conf 에서의 내용은 따로 수정한 것은 없으나, 한 서버에서 여러개의 톰캣을 돌린다면 server.xml 을 수정해줘야 할 필요가 있다.
    • port 부분을 고정하는 것이 아닌 ${tomcat.port.http} 같은 형식으로 변경
      2) bin 디렉토리에서 tomcat.sh
    • server_name, tomcat_http_port 등의 설정 기입
    • JAVA_OPTS 추가 (보통 로컬에서 톰캣을 올릴 때 쓰는 옵션을 여기에 적는 것 같다. -Dspring.profiles.active 도 있는데 이건 배포 시점에 분리할 수 있지 않을까?)
      • 설정을 추가하고, 실행 sh 파일을 모와놓은 곳에서 이 tomcat.sh 를 불러오도록 설정해줘야 함.

2. 아파치 설정

1) httpd.conf 파일 수정

  • 각 conf 파일과 ssl.conf 파일이 각각 있으므로 각 conf 파일에 설정 추가
    • conf 파일
      <VirtualHost *:80>
      ServerName '사용할 DNS 명'
      DocumentRoot '데이터 파일 경로'
    • ssl.conf 파일
      <VirtualHost *:443>
      ServerName '사용할 DNS 명'
      DocumentRoot '데이터 파일 경로'
      ssl.conf 는 말 그대로 ssl 으로 관련 추가 설정이 있으면 추가

2) workers.properties 수정
- 로드 밸런서를 위해 추가

    worker.list = qa

    worker.QAServer.reference=worker.template
    worker.QAServer.host=127.0.0.1
    worker.QAServer.port=6609

    # configuration loadbalancer
    worker.qa.type=lb
    worker.qa.retries=2
    worker.qa.method=Session
    worker.qa.sticky_session=true
    worker.qa.max_reply_timeouts=300
    worker.qa.balance_workers=QAServer

3) uriworkermap.properties 추가

    /*.jsp=qa
    /*.java=qa
    /*.do=qa

workers.properties 에 balance_workers 를 찾아가는 것 같다. ex) uriworkermap_QAServer.properties

4) 아파치 재실행
- 설정을 해줬으므로 > ./apachectl restart 를 통해 재실행
(아마 설정에서 만들어준 DocumentRoot 가 없으면 에러가 떳던 것으로 기억.. 디렉토리를 만들어 주고 재실행..)

3. 젠킨스 배포 설정

1) 젠킨스로 자동 빌드를 하기 전에 서버 설정이 제대로 맞는지 확인을 함.
- 로컬에서 war 파일로 묶은 다음 서버에서 압축 해제 후 톰캣 실행 ex) /data/was/QAServer 에는 소스 data/web/QAServer 에는 리소스
- 제대로 올라오는 지 확인
2) 젠킨스 아이템 만들고 파이프라인 설정
- Pipeline Script From SCM 을 선택
- SCM 에 git 정보 입력
- Script Path 에 Jenkinsfile 입력 ex) dev_QA.Jenkinsfile
3) 젠킨스 파일에 각종 설정을 입력 (이 부분은 shell script 영역 같은데....)

4. DNS 추가

톰캣도 올리고, 아파치 설정도 했고, 젠킨스로 배포 자동화도 했음.
그러나, DNS 세팅을 안해서 접속할 때 ip 를 입력해서 들어가야 함.
DNS 를 추가하자.

1) 윈도우의 경우
C:\Windows\System32\drivers\etc 에 hosts 파일에 추가 ex) 111.111.11.111 dev.qaserver.com
2) 인터넷을 찾아보면 리눅스의 hosts 파일을 변경해주면 된다고 하는데, 회사의 SE 분이 서버 hosts 는 막 수정하는 거 아니래서 로컬에서 적용(이 부분은 이유를 들었는데, 까먹음..)

회사에서 개발서버를 구축하면 이렇게 하면 되는 것 같다.
장소나 환경에 따라 어느정도의 차이는 있겠지만, 참고해서 진행하면 되겠지...?

'개발 관련 > 환경 세팅' 카테고리의 다른 글

Springboot - Sentry 연동  (0) 2022.07.15
Git Action 으로 배포시 Slack 알람 받기  (0) 2022.07.14
mariaDB 설치 (feat. Docker)  (0) 2022.07.14
nGrinder 부하 테스트  (0) 2022.07.14