🔍 '' 검색 결과
👤 기본 접속 정보
서버 IP : 192.168.0.17
사용자 : 박종완
🛠 시스템 재구축 및 환경 초기화
초기화 절차 : 서버 타임존 설정(Asia/Seoul), 호스트네임 변경, 패키지 업데이트
기반 설치 : nginx, python3-venv, 가상환경(mysite) 및 의존성 모듈 설치
# 의존성 모듈 설치 (에러 방지 핵심) pip install flask gunicorn flask-migrate flask-wtf email_validator pymysql requests
✅ 필수 패키지 설치 완료
#초기화 #nginx #python-venv
⚙️ 서비스 배포 및 설정 (Nginx + Gunicorn)
환경 변수 : mysite.env 파일을 통해 Flask 설정파일 경로 지정
별칭 등록 : ~/.profilemysite 명령어를 추가하여 환경(가상환경, 경로, 변수) 즉시 전환
Nginx 설정 : /etc/nginx/sites-available/mysite 파일을 생성하고 소켓을 통한 Gunicorn 연결 구성
# systemd 서비스 유닛 작성 (/etc/systemd/system/mysite.service) [Service] User=master Group=master WorkingDirectory=/home/master/projects/mysite/flask EnvironmentFile=/home/master/mysite.env ExecStart=/home/master/mysite/bin/gunicorn --workers 2 \ --bind unix:/tmp/mysite.sock "monitor:create_app()"
✅ systemd 서비스 등록 완료
#Gunicorn #systemd #환경변수
🔥 핵심 트러블슈팅 및 해결
1. 모듈 에러 : ModuleNotFoundError 발생 시 가상환경 진입 상태와 라이브러리 설치(pymysql, requests) 재확인
2. 502 Bad Gateway : 소켓 권한(chmod) 문제 해결 및 Gunicorn 실행 위치를 프로젝트 최상단으로 조정
3. CSS 미출력 : 웹 서버가 정적 파일에 접근할 수 있도록 /home/master 및 프로젝트 하위 디렉토리에 실행 권한(o+x) 부여
# 권한 부여 명령어 chmod o+x /home/master chmod o+x /home/master/projects/mysite/flask/monitor
✅ 모든 트러블슈팅 완료
#502에러 #권한설정 #트러블슈팅
🚀 배포 자동화 프로세스
설정 완료 후 서비스를 활성화하여 부팅 시 자동 실행되도록 구성
sudo systemctl enable nginx sudo systemctl enable mysite sudo systemctl restart nginx sudo systemctl restart mysite
✅ Nginx 및 mysite 서비스 자동 실행 등록 완료
#자동화 #systemctl #배포
📌 Day 14 요약 / 결론

📌 어제 발생한 502 에러를 완벽하게 분석하여 소켓 권한필수 파이썬 모듈 누락 문제를 해결

📌 서버 초기화부터 서비스 배포까지 전체 파이프라인을 복습하며 history를 통해 명령어를 체계화

📌 웹 서비스 배포 시 파일 권한 설정의 중요성을 체득

📌 향후 수정사항 발생 시 systemctl restart mysite 만으로 즉시 배포가 가능한 환경 구축 완료

🎯 결론 : "Nginx-Gunicorn-Flask 실 서버 배포 자동화 환경 구축 완료"
#Linux #Nginx #Gunicorn #Flask #배포자동화
14/31