{"id":5235,"date":"2025-12-21T07:21:00","date_gmt":"2025-12-20T22:21:00","guid":{"rendered":"https:\/\/secondlife.lol\/?p=5235"},"modified":"2025-12-21T13:27:32","modified_gmt":"2025-12-21T04:27:32","slug":"django-deployment-error-troubleshooting","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/en\/django-deployment-error-troubleshooting\/","title":{"rendered":"500\ubd80\ud130 \ubaa8\ub4c8, .env\uae4c\uc9c0 \ud55c \ubc88\uc5d0 \uc815\ub9ac\ud558\ub294 Django Deployment Error \ud574\uacb0 \uac00\uc774\ub4dc 5\ud3b8"},"content":{"rendered":"<style>.kb-image5235_2042c0-23 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5235_2042c0-23\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"400\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-48-600x400.jpg\" alt=\"Django Deployment Error \uc5d0\ub7ec \ud574\uacb0 \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-5286\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-48-600x400.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-48-300x200.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-48-768x512.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-48-18x12.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-48.jpg 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u201cDjango Deployment Error \ud574\uacb0\u201d\uc740 \uacb0\uad6d \ub85c\uadf8\ub791 \uce5c\ud574\uc9c0\ub294 \uacfc\uc815<\/h2>\n\n\n\n<p>\ubc30\ud3ec\ub97c \ud574\ubcf4\uba74 \uc54c\uac8c \ub429\ub2c8\ub2e4.<br>\uc9c4\uc9dc \ud504\ub85c\uc81d\ud2b8\ub294 \ud56d\uc0c1 <strong>\uc5d0\ub7ec\uc640 \ud568\uaed8<\/strong> \uc62c\ub77c\uac00\uc694.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>500 Internal Server Error<\/li>\n\n\n\n<li><code>ModuleNotFoundError: No module named ...<\/code><\/li>\n\n\n\n<li><code>.env<\/code> \ud55c\uae00 \ub54c\ubb38\uc5d0 \ud130\uc9c0\ub294 <code>UnicodeEncodeError<\/code><\/li>\n<\/ul>\n\n\n\n<p><a href=\"http:\/\/studymate.secondlife.lol\">studymate.secondlife.lol<\/a>\ub97c \uc62c\ub9ac\ub294 \ub3d9\uc548,<br>\uc800\ub3c4 \uc774 \ubaa8\ub4e0 \uac78 \ub2e4 \uacaa\uc73c\uba74\uc11c \u201c\uc544, \uc774\uac8c \uc9c4\uc9dc \uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0\uc774\uad6c\ub098\u2026\u201d \ud558\uace0 \uccb4\uac10\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc774\ubc88 5\ud3b8\uc5d0\uc11c\ub294<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Studymate\ub97c \ubc30\ud3ec\ud558\uba74\uc11c \uc2e4\uc81c\ub85c \uacaa\uc5c8\ub358 \uc5d0\ub7ec\ub4e4\uc744 \uc911\uc2ec\uc73c\ub85c<br>Django Deployment Error \ud574\uacb0 \ud328\ud134\uc744 \ud55c \ubc88 \uc815\ub9ac\ud574 \ubcf4\ub824\uace0 \ud569\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n\n\n\n<p>\u201c\uc5d0\ub7ec \ub0a0 \ub54c\ub9c8\ub2e4 \uc0c8\ub85c \uac80\uc0c9\ud558\ub294\u201d \ub2e8\uacc4\uc5d0\uc11c<br>\u201c\uc544, \uc774\uac74 \uc774\ucabd \ubb38\uc81c\uaca0\uad6c\ub098.\u201d \ud558\uace0 \uac10\uc774 \uc624\ub294 \uc218\uc900\uae4c\uc9c0 \uac00\ub294 \uac8c \ubaa9\ud45c\uc785\ub2c8\ub2e4.<\/p>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{color:var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{color:var(--global-palette2, #2B6CB0);font-size:28px;font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list{color:var(--global-palette1, #3182CE);line-height:2em;font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list .kb-table-of-contents__entry:hover{color:var(--global-palette6, #718096);}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}@media all and (max-width: 767px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}<\/style>\n\n\n<h2 class=\"wp-block-heading\">\uc774\ub7f0 \uc0c1\ud669\uc5d0\uc11c \uaf2d \ud544\uc694\ud55c \u201cDjango Deployment Error \ud574\uacb0\u201d<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. \ub3c4\uba54\uc778\uae4c\uc9c0 \uc5f0\uacb0\ud588\ub294\ub370 500\ub9cc \ubcf4\uc77c \ub54c<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ub3c4\uba54\uc778: OK<\/li>\n\n\n\n<li><a href=\"http:\/\/python.org\" target=\"_blank\" rel=\"noopener\">Python<\/a> 3.12 venv: OK<\/li>\n\n\n\n<li><code>manage.py runserver<\/code>: OK<\/li>\n<\/ul>\n\n\n\n<p>\uadf8\ub7f0\ub370 \uc678\ubd80\uc5d0\uc11c \uc811\uc18d\ud558\uba74 <strong>500 Internal Server Error<\/strong>\ub9cc \ub531 \ub730 \ub54c,<br>\uc774\uac74 \ubb34\uc870\uac74 \uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0 \ubaa8\ub4dc\ub85c \ub4e4\uc5b4\uac00\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc774\ub54c \uc911\uc694\ud55c \uac74<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201c\ucf54\ub4dc \uc798 \ub3cc\uc544\uac00\ub294\ub370 \uc65c 500\uc774\uc57c?\u201d\ub77c\ub294 \ubd84\ub178\uac00 \uc544\ub2c8\ub77c<\/li>\n\n\n\n<li><code>stderr.log<\/code>, Apache \ub85c\uadf8, <code>manage.py check<\/code> \ub97c \ucc28\ubd84\ud788 \ubcf4\ub294 \uc2b5\uad00<\/li>\n<\/ul>\n\n\n\n<p>\uc989, \uc9c4\uc9dc <strong>\uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0<\/strong>\uc758 \ucd9c\ubc1c\uc810\uc740 \u201c\ub85c\uadf8\uc640 \uce5c\ud574\uc9c0\uae30\u201d\uc608\uc694.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. \ud328\ud0a4\uc9c0 \uc124\uce58\ub294 \ud55c \ub4ef\ud55c\ub370, ModuleNotFoundError\uac00 \uacc4\uc18d \ub098\uc62c \ub54c<\/h3>\n\n\n\n<p><code>jazzmin<\/code>, <code>allauth<\/code>, <code>rest_framework<\/code>\u2026<\/p>\n\n\n\n<p>\ub85c\uceec\uc5d0\uc11c\ub294 \uc798 \ub410\ub294\ub370 \uc11c\ubc84\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ModuleNotFoundError: No module named 'jazzmin'\nModuleNotFoundError: No module named 'allauth'<\/code><\/pre>\n\n\n\n<p>\uc774\ub7f0 \uba54\uc2dc\uc9c0\uac00 \ubcf4\uc774\uba74,<br><strong>\uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0<\/strong>\uc758 \uad00\uc810\uc5d0\uc11c \uc81c\uc77c \uba3c\uc800 \ubd10\uc57c \ud560 \uac74:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201c\uc9c0\uae08 \ub0b4\uac00 \ubcf4\uace0 \uc788\ub294 venv\uac00 \ub9de\ub294\uac00?\u201d<\/li>\n\n\n\n<li>\u201cSetup Python App\uac00 \uc4f0\ub294 venv\uc5d0 \uc124\uce58\ud588\ub294\uac00?\u201d<\/li>\n<\/ul>\n\n\n\n<p>\uc785\ub2c8\ub2e4. \uac19\uc740 \ud328\ud0a4\uc9c0\uc778\ub370 venv\uac00 \ub2e4\ub974\uba74 \uc5c6\ub294 \uac70\ub098 \ub9c8\ucc2c\uac00\uc9c0\ub2c8\uae4c\uc694.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. .env \uc124\uc815\uc740 \uc798 \ud55c \uac83 \uac19\uc740\ub370, \uc774\uc720\ub97c \uc54c \uc218 \uc5c6\ub294 500\uc774 \ub0a0 \ub54c<\/h3>\n\n\n\n<p><code>SECRET_KEY<\/code>, <code>ALLOWED_HOSTS<\/code>, <code>DATABASE_URL<\/code>\uae4c\uc9c0 \uc798 \ub123\uc740 \uac83 \uac19\uc740\ub370,<br>Setup Python App\uc73c\ub85c \ub3cc\ub9ac\uba74 500\uc774 \ub728\uace0,<br>\ub85c\uadf8\ub97c \ubcf4\uba74 \ub09c\ub370\uc5c6\uc774 <code>UnicodeEncodeError<\/code>\uac00 \ud280\uc5b4\ub098\uc62c \ub54c\u2026<\/p>\n\n\n\n<p>\uc774\uac74 \uc880 \ub354 \uace0\uae09 \ub2e8\uacc4\uc758 Django Deployment Error \ud574\uacb0 \uc601\uc5ed\uc774\uc8e0.<br>\ud658\uacbd\uc5d0 \ub530\ub77c \uae30\ubcf8 \uc778\ucf54\ub529\uc774 ASCII\uc77c \uc218 \uc788\ub2e4\ub294 \uac78 \uc2e4\uc81c\ub85c \uacaa\uc5b4\ubd10\uc57c<br>\u201c.env \uac12\uc5d0 \ud55c\uae00 \ub123\uc9c0 \ub9d0\uc790\u201d\ub77c\ub294 \uad50\ud6c8\uc774 \ubab8\uc5d0 \uc0c8\uaca8\uc9d1\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc720\ud615\ubcc4\ub85c \uc815\ub9ac\ud558\ub294 \uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0 \ud328\ud134<\/h2>\n\n\n\n<p>\uc774\uc81c \uc2e4\uc81c\ub85c \uacaa\uc5c8\ub358 \uc5d0\ub7ec\ub4e4\uc744 <strong>\uc720\ud615\ubcc4\ub85c \ubb36\uc5b4\uc11c<\/strong><br>\uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0 \uccb4\ud06c\ub9ac\uc2a4\ud2b8\ucc98\ub7fc \uc815\ub9ac\ud574\ubcfc\uac8c\uc694.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. 500 Internal Server Error \u2013 \uccab \ubc88\uc9f8 \uad00\ubb38<\/h3>\n\n\n<style>.kb-image5235_5fcea4-c0 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5235_5fcea4-c0\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"400\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-50-600x400.jpg\" alt=\"500 Internal Server Error image\" class=\"kb-img wp-image-5290\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-50-600x400.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-50-300x200.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-50-768x512.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-50-18x12.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-50.jpg 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">\uc99d\uc0c1<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ube0c\ub77c\uc6b0\uc800: 500 Internal Server Error<\/li>\n\n\n\n<li>\ud654\uba74\uc5d4 \uc815\ubcf4 \uac70\uc758 \uc5c6\uc74c<\/li>\n\n\n\n<li>\uc7a5\uace0 \ub514\ubc84\uadf8 \ud654\uba74\ub3c4 \uc548 \ubcf4\uc784 (DEBUG=False)<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Django Deployment Error \ud574\uacb0 \ud3ec\uc778\ud2b8<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code>python manage.py check<\/code> \uba3c\uc800 \uc2e4\ud589<\/strong><code>source \/home2\/\uacc4\uc815\uba85\/virtualenv\/studymate_project\/3.12\/bin\/activate cd \/home2\/\uacc4\uc815\uba85\/<code>studymate_project<\/code>DJANGO_SETTINGS_MODULE=config.settings.prod python manage.py check<\/code>\n<ul class=\"wp-block-list\">\n<li>\uc5ec\uae30\uc11c \uc5d0\ub7ec\uac00 \ub098\uba74, WSGI \uc774\uc804\uc5d0 <strong>\uc124\uc815 \uc790\uccb4 \ubb38\uc81c<\/strong><\/li>\n\n\n\n<li>\uc5ec\uae30\uc11c OK\uba74, WSGI\/Passenger\/.env \ucabd \ubb38\uc81c\uc77c \uac00\ub2a5\uc131 \u2191<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>stderr.log<\/code> tail \ud574\uc11c \ub9c8\uc9c0\ub9c9 40\uc904 \ud655\uc778<\/strong><code>cd \/home2\/\uacc4\uc815\uba85\/<code>studymate_project<\/code> tail -n 40 stderr.log <\/code>\uc5ec\uae30\uc11c \uc9c4\uc9dc \uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0\uc758 \ud78c\ud2b8\uac00 \ub098\uc635\ub2c8\ub2e4.<ul><li>settings import \uc5d0\ub7ecModuleNotFoundErrorUnicodeEncodeErrorSyntaxError<\/li><\/ul>\ub4f1\ub4f1, 500 \ucc38\uace0\uc778\ub4e4\uc774 \uc904\uc904\uc774 \ucc0d\ud600 \uc788\uc5b4\uc694.<\/li>\n\n\n\n<li><strong>\uc218\uc815 \ud6c4\uc5d0\ub294 Setup Python App\uc5d0\uc11c \uaf2d Restart<\/strong>\uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0 \uacfc\uc815\uc5d0\uc11c \uc124\uc815\uc744 \uace0\ucce4\ub2e4\uba74,<br>cPanel \u2192 Setup Python App \u2192 \uc571 \uc120\ud0dd \u2192 Restart \ubc84\ud2bc\uc740 <strong>\uc2b5\uad00\ucc98\ub7fc \ub20c\ub7ec\uc8fc\uae30<\/strong>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">2. ModuleNotFoundError \u2013 venv\/requirements \ubb38\uc81c<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\uc99d\uc0c1 \uc608\uc2dc<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>ModuleNotFoundError: No module named 'jazzmin'\nModuleNotFoundError: No module named 'allauth'<\/code><\/pre>\n\n\n\n<p>\ub85c\uceec\uc5d0\uc11c\ub294 \uc798 \ub418\ub294\ub370 \uc11c\ubc84\uc5d0\uc11c\ub9cc \ub098\uc624\ub294 \ub300\ud45c\uc801\uc778 <strong>\uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0<\/strong> \ucf00\uc774\uc2a4\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Django Deployment Error \ud574\uacb0 \ud3ec\uc778\ud2b8<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\uc9c0\uae08 VENV\uac00 \ub9de\ub294\uc9c0 \ud655\uc778<\/strong><code>which python python --version<\/code>\n<ul class=\"wp-block-list\">\n<li>\uacbd\ub85c\uac00 <code>\/home2\/\uacc4\uc815\uba85\/virtualenv\/<code>studymate_project<\/code>\/3.12\/bin\/python<\/code> \uc774\ub77c\uba74 OK<\/li>\n\n\n\n<li><code>\/usr\/bin\/python3<\/code> \uac19\uc740 \uc2dc\uc2a4\ud15c Python\uc774\uba74, \uc798\ubabb\ub41c venv\uc5d0\uc11c \uc124\uce58 \uc911\uc77c \uc218 \uc788\uc74c<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ud544\uc694 \ud328\ud0a4\uc9c0 \uc124\uce58<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>pip install django-jazzmin pip install django-allauth # \ub610\ub294 pip install -r requirements.txt<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>INSTALLED_APPS<\/code>\uc640 \ud328\ud0a4\uc9c0 \uc774\ub984 \ub9e4\uce6d \ud655\uc778<\/strong>\n<ul class=\"wp-block-list\">\n<li>\ud328\ud0a4\uc9c0: <code>django-jazzmin<\/code> \u2192 \ubaa8\ub4c8: <code>jazzmin<\/code><\/li>\n\n\n\n<li>\ud328\ud0a4\uc9c0: <code>django-allauth<\/code> \u2192 \ubaa8\ub4c8: <code>allauth<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\ub2e4\uc2dc <code>python manage.py check<\/code> \u2192 Restart \u2192 \ube0c\ub77c\uc6b0\uc800 \ud655\uc778<\/li>\n<\/ol>\n\n\n\n<p>\uc774 \uacfc\uc815\uc744 \ubc18\ubcf5\ud558\ub2e4 \ubcf4\uba74,<br>\ud328\ud0a4\uc9c0 \uad00\ub828 <strong>\uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0<\/strong>\uc740 \uae08\ubc29 \ub8e8\ud2f4\ud654\ub429\ub2c8\ub2e4.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5235_02c788-09, .wp-block-kadence-advancedheading.kt-adv-heading5235_02c788-09[data-kb-block=\"kb-adv-heading5235_02c788-09\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5235_02c788-09 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5235_02c788-09[data-kb-block=\"kb-adv-heading5235_02c788-09\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5235_02c788-09 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5235_02c788-09[data-kb-block=\"kb-adv-heading5235_02c788-09\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading5235_02c788-09 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5235_02c788-09\">3. .env \uc778\ucf54\ub529 \uc774\uc288 \u2013 UnicodeEncodeError<\/h3>\n\n\n<style>.kb-image5235_3fd224-77 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5235_3fd224-77\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"400\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-51-600x400.jpg\" alt=\"UnicodeEncodeError image\" class=\"kb-img wp-image-5292\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-51-600x400.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-51-300x200.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-51-768x512.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-51-18x12.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-51.jpg 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">\uc2e4\uc81c \uc5d0\ub7ec \uba54\uc2dc\uc9c0 \ud328\ud134<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>UnicodeEncodeError: 'ascii' codec can't encode characters in position ...\n  File \"...\/dotenv\/main.py\", line 111, in set_as_environment_variables\n    os.environ&#91;k] = v<\/code><\/pre>\n\n\n\n<p>\uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0 \uc911\uc5d0\uc11c \uac00\uc7a5 \u201c\uc5b4, \uc774\uac8c \uc65c?\u201d \ud588\ub358 \ucf00\uc774\uc2a4\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\uc6d0\uc778<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>.env<\/code> \uac12\uc5d0 \ud55c\uae00\uc774 \ub4e4\uc5b4\uc788\uace0<\/li>\n\n\n\n<li>\uc11c\ubc84(\ucf00\ubbf8\ud074\ub77c\uc6b0\ub4dc) \ud658\uacbd\uc774 <strong>ASCII \uae30\ubc18 \ub85c\ucf00\uc77c<\/strong>\uc774\ub77c<\/li>\n\n\n\n<li><code>os.environ<\/code>\uc5d0 \uc138\ud305\ud560 \ub54c \uc778\ucf54\ub529 \uc5d0\ub7ec \ubc1c\uc0dd<\/li>\n<\/ul>\n\n\n\n<p>\uc608\ub97c \ub4e4\uc5b4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SECRET_KEY=\uc5ec\uae30\uc5d0_\uc6b4\uc601\uc6a9_\uc2dc\ud06c\ub9bf\ud0a4_\uc791\uc131  # \u274c<\/code><\/pre>\n\n\n\n<p>\uc774\ub807\uac8c \ud55c\uae00\uc774 \ub4e4\uc5b4\uac00\uba74 \ubc14\ub85c \ubb38\uc81c \ubc1c\uc0dd.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0 \ubc29\ubc95<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>.env<\/code> \uac12\uc744 \uc804\ubd80 ASCII\ub85c \ubcc0\uacbd\n<ul class=\"wp-block-list\">\n<li><code>SECRET_KEY=django-insecure-\ub79c\ub364\uc601\ubb38\uc22b\uc790\uae30\ud638 # \uc601\uc5b4\/\uc22b\uc790\/\uae30\ud638\ub9cc <\/code><\/li>\n\n\n\n<li><code>DEBUG=False <\/code><\/li>\n\n\n\n<li><code>ALLOWED_HOSTS=secondlife.lol,studymate.<code>secondlife.lol<\/code><\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\uc124\uba85\uc740 \ubaa8\ub450 \uc8fc\uc11d\uc73c\ub85c \ubd84\ub9ac\n<ul class=\"wp-block-list\">\n<li><code># \uc11c\ube44\uc2a4 \uc774\ub984: \uc2a4\ud130\ub514\uba54\uc774\ud2b8(Studymate) SERVICE_NAME=<code>Studymate<\/code><\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\ub2e4\uc2dc <code>python manage.py check<\/code> \u2192 Restart \u2192 \ube0c\ub77c\uc6b0\uc800 \ud655\uc778<\/li>\n<\/ol>\n\n\n\n<p>\uc774 \uc774\ud6c4\ub85c\ub294 <code>.env<\/code> \uc791\uc131\ud560 \ub54c<br>\u201c<strong>\uac12\uc5d0\ub294 \ud55c\uae00 \uae08\uc9c0, \uc124\uba85\uc740 \uc804\ubd80 \uc8fc\uc11d<\/strong>\u201d\uc774\ub77c\ub294 \uaddc\uce59\uc744 \uc790\ub3d9\uc73c\ub85c \ub5a0\uc62c\ub9ac\ub294 \uc218\uc900\uc774 \ub429\ub2c8\ub2e4.<br>\uadf8\uac8c \ubc14\ub85c \ubab8\uc73c\ub85c \ubc30\uc6b0\ub294 \uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0\uc774\uc8e0.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. passenger_wsgi.py \uc7ac\uadc0 \uc774\uc288 \u2013 load_source \uc9c0\uc625<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\uc99d\uc0c1<\/h4>\n\n\n\n<p>\ub85c\uadf8\uc5d0 \uc774\ub7f0 \ud328\ud134\uc774 \ubb34\ud55c \ubc18\ubcf5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>File \"passenger_wsgi.py\", line 16, in &lt;module&gt;\n    wsgi = load_source('wsgi', 'passenger_wsgi.py')\n...<\/code><\/pre>\n\n\n\n<p>\ucf00\ubbf8\ud074\ub77c\uc6b0\ub4dc\uac00 \uae30\ubcf8\uc73c\ub85c \uc0dd\uc131\ud574\uc900 <code>passenger_wsgi.py<\/code>\ub97c<br>\uadf8\ub300\ub85c \uc37c\ub2e4\uac00 \uc0dd\uae34 \ubb38\uc81c\uc600\uc5b4\uc694.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Django Deployment Error \ud574\uacb0 \ubc29\ubc95<\/h4>\n\n\n\n<p>\ud15c\ud50c\ub9bf\uc744 \uc9c0\uc6b0\uace0, <strong>\ucd5c\uc18c\ud55c\uc758 WSGI \ucf54\ub4dc<\/strong>\ub85c \ub36e\uc5b4\uc4f0\uae30<\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code>import os\nimport sys\nfrom pathlib import Path\n\nBASE_DIR = Path(__file__).resolve().parent\n\nif str(BASE_DIR) not in sys.path:\n    sys.path.insert(0, str(BASE_DIR))\n\nos.environ.setdefault(\"DJANGO_SETTINGS_MODULE\", \"config.settings.prod\")\n\nfrom django.core.wsgi import get_wsgi_application\napplication = get_wsgi_application()<\/code><\/pre>\n\n\n\n<p>\uc774\ub807\uac8c \ubc14\uafb8\uace0 \ub098\uc11c\uc57c,<br>Setup Python App\uc774 \uc7a5\uace0\ub97c \uc81c\ub300\ub85c \ub744\uc6cc\uc8fc\uae30 \uc2dc\uc791\ud588\uc2b5\ub2c8\ub2e4.<br>\uc774\uac83\ub3c4 \uae30\uc5b5\ud574\ub450\uba74 \uc88b\uc740 \uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0 \ud328\ud134 \uc911 \ud558\ub098\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. \uc815\ub9ac\uc6a9 \ubbf8\ub2c8 \uccb4\ud06c\ub9ac\uc2a4\ud2b8 \u2013 \uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0 \ub8e8\ud2f4<\/h3>\n\n\n\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c, \uc55e\uc73c\ub85c\ub3c4 \uc368\uba39\uc744 \uc218 \uc788\ub294<br><strong>\uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/strong>\ub97c \uc9e7\uac8c \uc815\ub9ac\ud574 \ubcfc\uac8c\uc694.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>CLI\uc5d0\uc11c \uba3c\uc800 \ud655\uc778<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>DJANGO_SETTINGS_MODULE=config.settings.prod python manage.py check<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ub85c\uadf8 \ud655\uc778<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>tail -n 40 stderr.log<\/code> (\ud639\uc740 ChemiCloud Error Logs)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ud328\ud0a4\uc9c0 \ubb38\uc81c\uba74<\/strong>\n<ul class=\"wp-block-list\">\n<li>venv \ud655\uc778 \u2192 <code>pip install ...<\/code> \u2192 \ub2e4\uc2dc check<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>.env \ubb38\uc81c\uba74<\/strong>\n<ul class=\"wp-block-list\">\n<li>\uac12\uc5d0 \ud55c\uae00 \uc81c\uac70 \u2192 ASCII\ub9cc \uc0ac\uc6a9 \u2192 \uc8fc\uc11d\uc5d0 \ud55c\uae00<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>WSGI \ubb38\uc81c\uba74<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>passenger_wsgi.py<\/code> \ucd5c\uc18c \ubc84\uc804\uc73c\ub85c \uc815\ub9ac<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc218\uc815 \ud6c4\uc5d0\ub294<\/strong>\n<ul class=\"wp-block-list\">\n<li>Setup Python App \u2192 Restart \u2192 \ube0c\ub77c\uc6b0\uc800 \uc0c8\ub85c\uace0\uce68<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>\uc774 6\ub2e8\uacc4\ub9cc \uc2b5\uad00\ucc98\ub7fc \ub3cc\ub824\ub3c4,<br>\uc55e\uc73c\ub85c \ub9cc\ub0a0 \ub300\ubd80\ubd84\uc758 <strong>\uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0<\/strong>\uc740<br>\u201c\uac81\ub098\ub294 \uc77c \u2192 \uadc0\ucc2e\uc9c0\ub9cc \ud560 \uc218 \uc788\ub294 \uc77c\u201d \uc815\ub3c4\ub85c \ubc14\ub014 \uac70\uc608\uc694.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u201cDjango Deployment Error \ud574\uacb0\u201d\uc740 \uacb0\uad6d \ub85c\uadf8\ub791 \uce5c\ud574\uc9c0\ub294 \uacfc\uc815 \ubc30\ud3ec\ub97c \ud574\ubcf4\uba74&#8230;<\/p>","protected":false},"author":3,"featured_media":5286,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[15],"tags":[1004,1001,1000,1002,988,984,985,1005,1003,986],"class_list":["post-5235","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-jewel","tag-env-","tag-500-internal-server-error","tag-django-","tag-modulenotfounderror","tag-naxdax","tag-python-3-12","tag-setup-python-app","tag-1005","tag-1003","tag-986"],"taxonomy_info":{"category":[{"value":15,"label":"D \ubcf4\ubb3c\ucc3d\uace0(Jewel)"}],"post_tag":[{"value":1004,"label":".env \uc624\ub958"},{"value":1001,"label":"500 Internal Server Error"},{"value":1000,"label":"Django \uc5d0\ub7ec"},{"value":1002,"label":"ModuleNotFoundError"},{"value":988,"label":"Naxdax"},{"value":984,"label":"Python 3.12"},{"value":985,"label":"Setup Python App"},{"value":1005,"label":"\ub85c\uadf8 \ubd84\uc11d"},{"value":1003,"label":"\uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0"},{"value":986,"label":"\ucf00\ubbf8\ud074\ub77c\uc6b0\ub4dc"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-48-600x400.jpg",600,400,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/en\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":15,"name":"D \ubcf4\ubb3c\ucc3d\uace0(Jewel)","slug":"it-jewel","term_group":0,"term_taxonomy_id":15,"taxonomy":"category","description":"","parent":0,"count":55,"filter":"raw","cat_ID":15,"category_count":55,"category_description":"","cat_name":"D \ubcf4\ubb3c\ucc3d\uace0(Jewel)","category_nicename":"it-jewel","category_parent":0}],"tag_info":[{"term_id":1004,"name":".env \uc624\ub958","slug":"env-%ec%98%a4%eb%a5%98","term_group":0,"term_taxonomy_id":1004,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1001,"name":"500 Internal Server Error","slug":"500-internal-server-error","term_group":0,"term_taxonomy_id":1001,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1000,"name":"Django \uc5d0\ub7ec","slug":"django-%ec%97%90%eb%9f%ac","term_group":0,"term_taxonomy_id":1000,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1002,"name":"ModuleNotFoundError","slug":"modulenotfounderror","term_group":0,"term_taxonomy_id":1002,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":988,"name":"Naxdax","slug":"naxdax","term_group":0,"term_taxonomy_id":988,"taxonomy":"post_tag","description":"","parent":0,"count":4,"filter":"raw"},{"term_id":984,"name":"Python 3.12","slug":"python-3-12","term_group":0,"term_taxonomy_id":984,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":985,"name":"Setup Python App","slug":"setup-python-app","term_group":0,"term_taxonomy_id":985,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":1005,"name":"\ub85c\uadf8 \ubd84\uc11d","slug":"%eb%a1%9c%ea%b7%b8-%eb%b6%84%ec%84%9d","term_group":0,"term_taxonomy_id":1005,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1003,"name":"\uc7a5\uace0 \ubc30\ud3ec \uc5d0\ub7ec \ud574\uacb0","slug":"%ec%9e%a5%ea%b3%a0-%eb%b0%b0%ed%8f%ac-%ec%97%90%eb%9f%ac-%ed%95%b4%ea%b2%b0","term_group":0,"term_taxonomy_id":1003,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":986,"name":"\ucf00\ubbf8\ud074\ub77c\uc6b0\ub4dc","slug":"%ec%bc%80%eb%af%b8%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c","term_group":0,"term_taxonomy_id":986,"taxonomy":"post_tag","description":"","parent":0,"count":4,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/comments?post=5235"}],"version-history":[{"count":8,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5235\/revisions"}],"predecessor-version":[{"id":5676,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5235\/revisions\/5676"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media\/5286"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media?parent=5235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/categories?post=5235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/tags?post=5235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}