<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gunicorn on 얼쑤 · Team Edo</title><link>https://team-edo.github.io/tags/gunicorn/</link><description>Recent content in Gunicorn on 얼쑤 · Team Edo</description><generator>Hugo</generator><language>ko-kr</language><lastBuildDate>Mon, 09 Nov 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://team-edo.github.io/tags/gunicorn/index.xml" rel="self" type="application/rss+xml"/><item><title>읽기 전용 컨테이너에서 Gunicorn이 기동 오류를 남긴 이유</title><link>https://team-edo.github.io/posts/2026/11/gunicorn-control-socket-read-only-rootfs/</link><pubDate>Mon, 09 Nov 2026 00:00:00 +0900</pubDate><guid>https://team-edo.github.io/posts/2026/11/gunicorn-control-socket-read-only-rootfs/</guid><description>&lt;p>얼쑤 기술 블로그의 편집 API를 점검하던 중 Gunicorn 기동 로그에서 같은 오류가 반복되는 것을 발견했습니다. 편집 설정과 조회수 API는 계속 HTTP 200을 돌려줬는데, 컨테이너를 시작할 때마다 &lt;code>/.gunicorn&lt;/code>을 만들 수 없다는 메시지가 한 번씩 남았습니다. Gunicorn이 시작하면서 어떤 작업에 실패했는지부터 살펴봤습니다.&lt;/p>
&lt;h2 id="요청은-처리됐는데-어떤-소켓이-실패했을까">요청은 처리됐는데 어떤 소켓이 실패했을까&lt;/h2>
&lt;p>Gunicorn은 HTTP 요청을 받는 리스너 외에 프로세스 관리를 위한 Unix 소켓을 엽니다. &lt;code>gunicornc&lt;/code>는 이 제어 소켓으로 워커 상태를 조회하거나 재시작을 요청할 수 있습니다. 소켓 경로를 지정하지 않으면 Gunicorn은 &lt;code>XDG_RUNTIME_DIR&lt;/code>을 우선 사용하고, 그 값이 없으면 홈 아래의 &lt;code>.gunicorn&lt;/code> 디렉터리를 사용합니다. &lt;a href="https://gunicorn.org/reference/settings/#control_socket">Gunicorn 제어 소켓 설정&lt;/a>&lt;/p></description></item></channel></rss>