🐧 리눅스 서버 관리 필수 명령어 정리 (Flask + Nginx + AWS)
AWS EC2에서 Flask 서버와 Nginx를 설정하며 사용한 주요 리눅스 명령어들을 정리했습니다! 서버 운영과 배포 시 꼭 필요한 명령어들이니 참고하세요.
1️⃣ 기본 명령어
🔹 명령어 📝 설명
cd /경로 | 디렉토리 이동 |
ls | 현재 디렉토리 파일 목록 확인 |
sudo nano 파일명 | 터미널에서 파일 수정 (nano 에디터) |
sudo cat 파일명 | 파일 내용 출력 |
sudo cp 원본 대상 | 파일 복사 (백업할 때 사용) |
2️⃣ Nginx 관리 명령어
🔹 명령어 📝 설명
sudo nginx -t | Nginx 설정 테스트 (문법 오류 확인) |
sudo systemctl reload nginx | Nginx 설정 적용 (무중단 재적용) |
sudo systemctl restart nginx | Nginx 서버 재시작 |
sudo systemctl status nginx | Nginx 상태 확인 |
sudo tail -f /var/log/nginx/error.log | Nginx 에러 로그 실시간 확인 |
3️⃣ Flask + Gunicorn 서버 관리
🔹 명령어 📝 설명
bash launch.sh | Flask + Gunicorn 서버 실행 (사용자 스크립트) |
bash terminate.sh | Flask 서버 종료 (사용자 스크립트) |
`ps aux | grep gunicorn` |
kill -9 PID | 강제 프로세스 종료 |
tail -f gunicorn.log | Gunicorn 로그 실시간 확인 |
sudo lsof -i :8000 | 8000 포트 사용 중인 프로세스 확인 |
4️⃣ 데이터베이스(MySQL) 관리
🔹 명령어 📝 설명
sudo systemctl status mysqld | MySQL 서버 상태 확인 |
sudo systemctl start mysqld | MySQL 서버 실행 |
5️⃣ Python & Flask 환경
🔹 명령어 📝 설명
python | Python 인터프리터 실행 |
Flask App Context 진입 | app.app_context().push() |
SQLAlchemy 테스트 | db.session.execute(text('SELECT 1')) |
6️⃣ EC2 접속 & 서버 관리 스크립트
# 리눅스 접속 사용자명
ec2-user
# 서버 실행 시
bash launch.sh
# 서버 종료 시
bash terminate.sh
🚨 자주 사용하는 패턴
- Nginx 설정 변경 시
sudo nginx -t
sudo systemctl reload nginx
- 로그 실시간 모니터링
tail -f /경로/로그파일.log
- 프로세스 확인 & 종료
ps aux | grep 프로세스명
kill -9 PID
- 설정 파일 백업
sudo cp 설정파일.conf 설정파일.conf.bak
🎯 마무리 팁
- 서버 관리 시 항상 설정 변경 → 테스트 → 적용 순서를 지키기!
- 로그 확인 습관이 문제 해결 속도를 결정합니다.
- 반복 작업은 스크립트(.sh)로 자동화하면 효율성 UP!
실전에서 익힌 명령어들이니, 그대로 따라하면 서버 관리가 한층 수월해질 거예요! 😄
'기술블로그' 카테고리의 다른 글
Use Case Diagram (유스케이스 다이어그램) 완벽 이해하기 (0) | 2025.04.28 |
---|---|
📂 프론트엔드 파일 구조 설명 (0) | 2025.04.28 |
Flask 백엔드 배포 & CORS 문제 해결기 (AWS EC2 + DuckDNS) (0) | 2025.04.27 |
백엔드 내부(admin용) 페이지(시작단계 확인) (0) | 2025.04.26 |
백엔드, 프론트엔드 로컬 연동 설정 및 검증 진행 (0) | 2025.04.26 |