====== Waitress: Python WSGI 서버 ====== **Waitress**는 Python WSGI 서버입니다. Flask 애플리케이션을 프로덕션 환경에서 안정적으로 실행하기 위해 사용되며, Dream of E&C 프로젝트의 백엔드 서버 실행에 활용됩니다. ==== 주요 특징 ==== **핵심 장점**: * **프로덕션 준비**: 개발용 서버 대신 실제 서비스에 사용 * **멀티스레딩**: 동시 요청 처리 가능 * **안정성**: 장시간 운영에 적합한 안정적인 서버 * **크로스 플랫폼**: Windows, Linux, macOS 모두 지원 **Flask와의 차이점**: * **개발 서버**: Flask 내장 서버는 개발 전용 * **성능**: Waitress는 더 많은 동시 접속자 처리 가능 * **보안**: 프로덕션 환경에 필요한 보안 기능 제공 ==== Dream of E&C 프로젝트에서의 활용 ==== **주요 역할**: * **API 서버 실행**: Flask 백엔드를 안정적으로 서비스 * **멀티스레딩**: 여러 사용자의 동시 요청 처리 * **시스템 서비스**: [[wiki:glossary:server_operations:systemd|systemd]]와 연동하여 자동 시작 * **포트 바인딩**: 특정 포트(예: 5000)에서 서비스 제공 ==== 기본 사용법 ==== # app.py from waitress import serve from your_flask_app import app if __name__ == '__main__': serve(app, host='0.0.0.0', port=5000) ==== 명령줄 실행 ==== # 직접 실행 waitress-serve --host=0.0.0.0 --port=5000 app:app # 백그라운드 실행 nohup waitress-serve --host=0.0.0.0 --port=5000 app:app & ==== 관련 기술 ==== * **[[wiki:glossary:web_technologies:flask|Flask]]**: 주로 Flask 애플리케이션 실행에 사용 * **[[wiki:glossary:web_technologies:nginx|Nginx]]**: 프론트에서 리버스 프록시로 연동 * **[[wiki:glossary:server_operations:systemd|systemd]]**: 서비스 관리 및 자동 시작 * **[[wiki:glossary:server_operations:linux|Linux]]**: 주로 리눅스 서버에서 운영 ==== 추가 정보 ==== **공식 자료**: * [[https://docs.pylonsproject.org/projects/waitress/|Waitress 공식 문서]] * [[https://pypi.org/project/waitress/|PyPI 패키지 정보]] **운영 팁**: * **설치**: `pip install waitress` * **설정 옵션**: `--threads`, `--connection-limit` 등으로 성능 조정 * **로그 설정**: `--access-log`, `--error-log`로 로그 파일 지정 * **프로세스 관리**: `ps aux | grep waitress`로 실행 상태 확인 ---- > **Waitress는 Dream of E&C Flask 애플리케이션의 안정적인 프로덕션 실행을 담당합니다.**