====== 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 애플리케이션의 안정적인 프로덕션 실행을 담당합니다.**