본문 바로가기
개발관련/HOSTING\DEPLOY

서버 가동시 설정할 것 (기록용)

by joa-yo 2020. 2. 14.
반응형

데스크탑에서 이클립스로 서버를 구동시켰는데, 서버가동은 전력이 적은 노트북으로 옮기고 싶어 삼일간의 대장정 끝에 노트북으로 서버를 실행할 수 있었습니다. 제가 했던 방법을 간단히 공유하겠습니다.

 

 

  1. 포트 설정
    1. 방화벽 inbound정책 추가 : 외부에서 들어오는 요청을 처리하기 위한 포트를 개방하고, 설정하는 것
    2. 포트포워딩 : 공유기 사용시 외부에서 들어온 요청을 어떤 아이피를 가진 컴퓨터가 처리할지 맵핑해주는 것., 외부아이피로 들어온 특정 포트의 요청을, 서버의 내부 아이피의 특정 포트로 연결시켜주는 것이다.
  2. 시스템 설정
    1. 작업환경과 동일한 jdk, tomcat, database버전 선택 후 시스템 환경변수 설정
      1. 작업환경에는 oracle 11g를 사용했고, 서버에는 무료버전인 oracle xe를 사용했다. 그래서 경로가 데이터베이스 연결시의 경로가 orcl에서 xe로 바꿔줘야한다. 이것은 추후에 서버의 server.xml에 설정되어 있는 dbcp설정에서 수정해주면 된다.
  3. 서버 프로젝트 정상동작 테스트
    1. 프로젝트 gitHub에서 clone하여 프로젝트 다운로드
    2. 클론한 프로젝트를 eclipse로 연다.
      1. 이때, 프로젝트를 워크스페이스로 설정하지말고, 프로젝트 상위폴더를 워크스페이스로 설정해야한다.
    3. 프로젝트를 빌드한다
      1. maven repository경로에 있는 것 모두 지워주고 build하는 것이 좋다.
      2. 프로젝트위에서 마우스 오른쪽 버튼 -> maven -> update project까지 해주어야 pom.xml에 설정한 파일들이 모두 빌드 될 수 있다.
      3.  target/classes 폴더에 파일들이 잘 올라갔는지 확인! 이 때 파일들이 다 올라가 있지 않다면 [상단메뉴 project] - [build All]을 선택하여 모든 프로젝트를 빌드한다.
      4. 위 동작을 해도, 파일들이 모두 빌드되지 않는다면, 빌드 하는 추가적인 방법을 찾아 모두 빌드 될 수 있도록 한다.
    4. root-context.xml에서 파일저장 경로를 수정한다.
      1. 저는 파일첨부를 구현했을 때, 파일 저장위치가 Z드라이브로 되어있었습니다. 이를 C:로 재설정하기 위해 경로를 수정해주었습니다. 
  4. war파일 배포 및 서버 설정
    1. file -> export -> war파일 형태로 서버 내 webapps 경로에 놓는다
    2. 서버의 server.xml 설정
      1. 포트번호 수정
      2. Context추가 <context docbase="" path="" -----??? />
        1. context는 war파일로 올린, 프로젝트의 경로를 설정해주는 것이라 생각하면 된다.
        2. context - docbase : war파일의 이름
        3. context - path : 127.0.0.1:8080/[path] 처럼, 도메인 뒤에 추가적으로 붙일 경로 값을 의미한다
        4. Context 관련내용 자세히 보기
      3. dbcp설정 추가 (connection pool)
    3. 서버의 context.xml에 dbcp 설정 추가
  5. 서버 가동
    1. C드라이브 하위의 실제 서버 내 bin디렉토리에 명령어들이 들어있다.
      1. startup - 서버실행
      2. shutdown - 서버가동 중단
      3. 위의 두개만 알면, 서버 디버깅에는 문제가 없었습니당..!
    2. startup을 하고, 정상작동 확인
      1. 정상작동시 
        1. 127.0.0.1:[포트번호]/[contextPath] 를 통해 테스트 하기
        2. 외부에서 접속되는지, 외부아이피로 테스트 하기
      2. 오류발생시
        1. 서버 폴더 내 logs디렉토리의 catalina파일확인하여 디버그
          1. catalina는 서버 구동시에 하는 작업이나 발생한 에러를 기록해놓는 파일이다.
          2. 참고로 localhost_access_log는 어떤 아이피에서 접속했는지 알 수 있다.

 

 

반응형

댓글