1. 서버 접속 및 프로토콜 (Connection & Protocol)
1-1. 접속 필수 정보
서버(물리/가상 머신)에 접속하기 위해서는 클라이언트 프로그램(SecureCRT, Xshell, PuTTY 등)을 사용하며, 아래 3가지 정보가 필수적이다.
- HostName (IP Address)
- 접속할 서버의 고유 주소. (예:
192.168.10.55)
- 접속할 서버의 고유 주소. (예:
- UserName (Account)
- 서버 OS(Linux)에 로그인할 계정명.
- 미들웨어 계정:
jeus,tomcat(애플리케이션 구동용) - 개인 계정: 사번 등 개인 식별 ID (권한 관리가 엄격한 경우)
- Protocol & Port
- SSH2 (Port 22): 원격 접속 및 명령어 제어용 표준 프로토콜.
- SFTP (Port 22): 파일 전송용 프로토콜. (SSH와 동일 포트 사용)
1-2. 보안 접속 (Secure Guard)
사내 보안 정책에 따라 서버 직접 접속이 차단된 경우, 접근 제어 솔루션을 경유한다.
- 방식: [웹 로그인] -> [접속 대상 아이콘 클릭] -> [SecureCRT 자동 실행]의 흐름을 따른다.
- 특이사항: 이 경우 HostName/UserName을 수동으로 입력하지 않고 토큰 기반으로 자동 연결된다.
2. 리눅스 파일 시스템 식별 (File System)
2-1. 파일 타입 식별 (ls -F)
CLI 환경에서 파일과 디렉토리를 시각적으로 구분하기 위해 ls -F 옵션을 사용하거나, 기본 설정된 색상(Coloring)을 통해 식별한다.
| 색상 (통상적) | 식별 기호 (-F) |
타입 (Type) | 설명 |
|---|---|---|---|
| 파란색 | 이름/ |
Directory | 폴더. cd 명령어로 진입 가능. |
| 초록색 | 이름* |
Executable | 실행 권한이 있는 파일. 쉘 스크립트(.sh), 바이너리 파일 등. |
| 하늘색 | 이름@ |
Symbolic Link | 윈도우의 바로가기. 원본 파일이 다른 경로에 존재함. |
| 흰색/회색 | 없음 | Regular File | 일반 텍스트 파일, 설정 파일, 소스 코드 등. |
2-2. 디렉토리 이동 및 탐색
pwd: 현재 작업 중인 경로의 전체 주소를 출력한다.cd [경로]: 디렉토리를 이동한다.cd ..: 상위 디렉토리로 이동.cd /logs/jeus: 절대 경로로 즉시 이동.
- Tip:
Tab키를 사용하여 경로 자동 완성을 적극 활용한다.
3. 서버 상태 점검 및 모니터링 (Monitoring)
3-1. 프로세스 점검 (ps)
애플리케이션(WAS)이 정상적으로 구동 중인지 PID(프로세스 ID)를 확인한다.
- 명령어:
ps -ef | grep java - 확인 포인트:
- 출력 결과에
java프로세스와 함께-Djeus...또는-Dcatalina...옵션이 보여야 정상이다. grep명령어 자체만 출력되면 프로세스가 다운된 상태다.
- 출력 결과에
3-2. 실시간 로그 확인 (tail)
애플리케이션의 에러 로그나 기동 상태를 실시간으로 모니터링한다.
- 명령어:
tail -f [로그파일명] # 예시: tail -f catalina.out - 종료:
Ctrl + C키를 입력하여 모니터링을 중단한다.
3-3. 디스크 용량 점검 (df)
서버의 스토리지 여유 공간을 확인한다.
- 명령어:
df -h - 확인 포인트:
Use%가 90% 이상인 파티션이 있는지 확인한다. 특히 로그가 쌓이는 파티션이 100%가 되면 서버가 멈춘다.
4. 빌드 및 배포 프로세스 (Deployment Flow)
4-1. 배포 아키텍처 흐름
일반적인 레거시 및 Spring Boot 환경의 배포 흐름은 다음과 같다.
- SCM (Git/SVN): 로컬 개발 완료 후 코드 커밋.
- CI (Jenkins): 젠킨스 서버에서 소스를 받아 컴파일 및 빌드 (
.war/.jar생성). - Transfer: 빌드된 산출물을 운영 서버의 지정된 경로(Target Directory)로 전송 (SSH/SFTP).
- Deploy & Restart:
- 기존 애플리케이션 중단 (Stop).
- 새 산출물로 교체.
- 애플리케이션 재기동 (Start).
4-2. 쉘 스크립트(.sh) 활용
복잡한 Java 실행 옵션이나 도커 명령어를 매번 입력하지 않고, 미리 작성된 스크립트를 실행한다.
- 실행:
./start.sh,./stop.sh,./restart.sh - 내용 확인:
cat start.sh(실행하지 않고 내용만 출력하여 실행 인자나 옵션을 확인한다.)
5. 컨테이너 환경 (Docker Context)
5-1. Docker Compose
여러 컨테이너(DB, WAS, Web)를 한 번에 관리하기 위한 설정 파일이다.
- 파일명:
docker-compose.yml - 주요 확인 항목 (
cat으로 확인):image: 사용 중인 미들웨어 및 OS의 정확한 버전.ports: 호스트와 컨테이너 간 포트 포워딩 설정 (외부포트:내부포트).volumes: 컨테이너 데이터가 저장되는 로컬 호스트의 실제 경로 (마운트 정보).
5-2. 배포 시 주의사항
- 도커 환경에서는 소스 파일 변경 후 컨테이너를 **재빌드(Rebuild)**하거나 **재시작(Restart)**해야 변경 사항이 반영된다.
docker-compose up -d명령어를 주로 스크립트화하여 사용한다.
'공부일기.. > Infra' 카테고리의 다른 글
| [인터넷 통신] http 기본개념 전반적인 내용 찍먹 (0) | 2025.12.21 |
|---|---|
| [Infra] 웹 서버 & 리버스 프록시 (Nginx) 기초개념 찍먹~ (1) | 2025.12.03 |