우디의 개발스터디

리눅스 AWS 서버 실무 배포 및 운영 관리 정리(putty, filezilla)

by 개발자 우디

리눅스 서버 배포 및 운영 방법 정리
2022.11.08 최신화
내가보려고 저장
url 들은 그냥 삼성으로 예시

END POINT 확인

  • CMD에 아래 줄 입력해서 확인! telnet 뒤는 주소, 맨 뒤 숫자는 포트번호
    • telnet engageimportapi.samsung.com 443
  • CMD 에서 확인하면 로컬에서 날리는 확인이고, 서버에서 API 보내려고 확인하는거면 동일한 방법으로 Putty 에서 입력해서 확인할 것.
  • 포트번호는 http 는 80, https 는 443 으로 규약

 

IDE

  • IDE 내에서 프로젝트 우클릭 EXPORT 해서 WAR 파일확장자로 선택 후 추출
  • 로컬 디렉토리에 원하는 특정 위치에 deploy 폴더 생성하고 그 안에 해당 일자 폴더 만들고(ex.20220511) 그 안에 AP, API 디렉토리 2개 생성 후 그 중 작업할 디렉토리 안에 ROOT.war 로 저장

 

리눅스 서버 배포 팁

  1. ROOT.war 파일의 기존과 변경파일 용량과 시간을 꼭 잘 확인할 것!
  2. 기존 tomcat 종료 시 pid 값이 일치하지 않으면
    - vi tomcat.pid 열어서 현재 돌아가는 것과 일치하게 변경 후 [i] -> ESC -> :wq 
    - 위 과정 완료 후 ./shutdown.sh 로 종료
  3. 서버 재시작은 ./startup.sh
  4. 프론트 파일들은 서버 재시작 필요 없음
  5. 위 과정 후 꼭 제대로 돌아가는지 로그로 보면서 확인할 것.
  6. 기존 서버에 ROOT.war 파일은 확장자명을 바꿔서 백업해둘것. 예시) ROOT.war.bk0831 --> 이런식으로 변경해서 두고 새로 바뀐 war파일을 추가하면 됨.

 

Putty

  • ps -ef | grep tomcat : 톰캣 가용 서버 확인
  • 예시: /data/log-backup/samsung/webapp/logs : log4j 로그 저장 경로

 

진행 과정

  1.  putty 터미널을 2개 킨다(하나는 로그확인용, 하나는 명령어 실행용)
  2. 일반계정(centos)으로 로그인 한 후 su 입력해서 root 계정으로 전환
  3. 현재 돌아가는 톰캣서버들을 확인하려면 ps -ef | grep tomcat 입력해서 173, 174 둘 다 확인
  4. 현재 위치 / 루트로 이동(cd /) 후 로그 디렉토리로 이동 --> 예시) cd svc/samsung-api/engine/apache-tomcat-9.0.7/logs
  5. putty 창 2개 중 하나는 프로젝트 cd svc/engine/apache-tomcat-X.X.X/logs로 들어가 tail -f catalina.out 다음 명령어를 입력해서 로그를 살펴본다
  6. 윗 줄이 동작하지 않을 시 --> cd data/log-backup/samsung-api/webapp/logs/debug 들어가서 tail -f debug.log 입력해서 로그 확인.
  7. putty 창 2개 중 다른 하나는 프로젝트경로/webapp으로 들어가 ps -ef | grep  이나  tomcat | grep [프로젝트명] 을 입력해 현재, 서버가 돌고 있는지 확인한다. (비즈메세지 센터에서 모니터링으로 확인도 같이)
  8. 로그 확인 후 안돌아가고있으면 톰캣경로/bin 디렉토리 내에 ./shutdown.sh 해주고 [FileZilla]에서 ROOT.war 최신으로 교체하고 다시 putty에서 ./startup.sh 배치파일 실행해서 톰캣서버 재시작.
  9. 경로예시) cd /svc/samsung-api/engine/apache-tomcat-9.0.7/bin
    1. ./shutdown.sh << ./ 필수 (톰캣이 아닌 리눅스 자체를 종료해버릴수 있음 주의!!!!!)

 

vi 명령어

  • vi + 파일명
  • vi 내에서 [i] 입력모드
  • vi 내에서 :q 는 탈출, :wq 는 저장후 탈출
  • vi 내에서 /찾고싶은문자열 + n(ctrl+F 와 동일)

 

FileZilla

  • 처음 접속 시 SFTP - SSH 로 선택해서 들어가야함 일반 계정으로(셀렉박스 2번째에 위치)
  • 호스트: 예시)10.101.83.174
  • 사용자명 : 예시)admin1
  • 비밀번호: 예시)root1
  • 포트: 2022   ==> 정보 입력 후 연결
  • 리모트 서버 경로 webapp 까지 이동(WEB 일때)
  • API 는 경로 /svc/samsung-api/webapp 에 있음
  • 리모트 서버에 있는 ROOT.war 파일 로컬에 ORG 폴더에 백업(혹시모를 에러대비)
  • 백업이 완료 되었으면 수정 적용된 버전을 FTP 를 통해 서버에 반영
  • ROOT.war 파일 디패키징 경로 예시 ==> /svc/samsung/engine/apache-tomcat-9.0.7/webapps
  • FTP 21 번 포트는 보안 관련사항으로 막아져 있음

 

리눅스 명령어

  • pwd : 현재 위치
  • cd : 이동
  • ls : 현재 디렉토리 파일 확인
  • ls -al : 리스트로
  • ls -alrt : 정렬까지
  • su : root 계정으로 전환
  • ps -ef|grep tomcat: 톰캣 실행중인것 확인
  • vi : 텍스트파일 열기
  • i : 입력모드
  • dd : 한 줄 삭제
  • :q : 텍스트파일 나가기
  • :q! : 저장하지않고 나가기
  • :wq : 저장하고 나가기

 

hosts

DNS 서버 확인하기 전에 먼저 조회하는 ip 설정해두는 파일, 리눅스에도 존재함

  • C:\Windows\System32\drivers\etc\hosts 파일 확인

 

TIP

timeout 에러는 connection time out 과 read time out 이 있는데, 전자는 연결까지 허용할 수 있는 시간을 초과한 것이고 후자는 연결된 후 작업이 마무리 되는 데 까지 걸리는 허용 시간을 초과한 것이다.

블로그의 정보

우디의 개발스터디

개발자 우디

활동하기