{"id":9594,"date":"2024-11-28T00:11:07","date_gmt":"2024-11-28T08:11:07","guid":{"rendered":"https:\/\/www.shop2world.com\/blog\/?p=9594"},"modified":"2024-11-28T00:57:42","modified_gmt":"2024-11-28T08:57:42","slug":"sws%ea%b0%80%ec%83%81%ed%99%98%ea%b2%bd-python-%ec%a0%88%eb%8c%80-%ea%b2%bd%eb%a1%9c-%ec%b0%be%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/www.shop2world.com\/blog\/archives\/9594","title":{"rendered":"\ud83c\udf1f [SWS] \uac00\uc0c1\ud658\uacbd Python \uc808\ub300 \uacbd\ub85c \ucc3e\uae30 \ud83d\udc0d"},"content":{"rendered":"\n<p>\uc65c <strong>\uc808\ub300 \uacbd\ub85c<\/strong>\uac00 \ud544\uc694\ud55c\uac00? \ud83e\udd14<br>\uc6f9 \uc11c\ubc84 \ud504\ub85c\uadf8\ub7a8(Passenger, Apache, Nginx \ub4f1)\uc740 \uc2dc\uc2a4\ud15c \uc218\uc900\uc5d0\uc11c \uc2e4\ud589\ub418\uae30 \ub54c\ubb38\uc5d0 \uc0ac\uc6a9\uc790\uc758 \ud658\uacbd \ubcc0\uc218\ub098 \uc0c1\ub300 \uacbd\ub85c\ub97c \uc778\uc2dd\ud558\uc9c0 \ubabb\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc815\ud655\ud55c Python \uc778\ud130\ud504\ub9ac\ud130 \uc704\uce58\ub97c \uc808\ub300 \uacbd\ub85c\ub85c \uc9c0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>\uc808\ub300 \uacbd\ub85c\ub780 \ubb34\uc5c7\uc77c\uae4c\uc694?<\/strong><\/p>\n\n\n\n<p>\uc808\ub300 \uacbd\ub85c\ub294 \ud30c\uc77c \uc2dc\uc2a4\ud15c\uc758 \ucd5c\uc0c1\uc704 \ub514\ub809\ud1a0\ub9ac\ubd80\ud130 \uc2dc\uc791\ud558\ub294 \uacbd\ub85c\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, <code>\/var\/www\/vhosts\/mysite.com\/venv\/bin\/python<\/code>\uacfc \uac19\uc774 \uc804\uccb4 \uacbd\ub85c\ub97c \uba85\uc2dc\ud558\ub294 \uac83\uc744 \ub9d0\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p> \ud2b9\ud788 \uc6f9 \uc11c\ubc84 \ud504\ub85c\uadf8\ub7a8(Passenger, Apache, Nginx \ub4f1)\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \uc774\uc720\ub85c <strong>\uc808\ub300 \uacbd\ub85c<\/strong>\uac00 \ud544\uc694\ud569\ub2c8\ub2e4:<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3>1\ufe0f\u20e3 <strong>Passenger\uc758 \uc791\ub3d9 \ubc29\uc2dd \ud83d\ude80<\/strong><\/h3>\n\n\n\n<ul><li>Passenger\ub294 \uc6f9 \uc11c\ubc84 (Apache\/Nginx)\uc758 \ubaa8\ub4c8\ub85c \ub3d9\uc791\ud569\ub2c8\ub2e4.<\/li><li><strong>\uc2dc\uc2a4\ud15c \uad8c\ud55c<\/strong>\uc73c\ub85c \uc2e4\ud589\ub418\ubbc0\ub85c, \uc0ac\uc6a9\uc790\uc758 \ud658\uacbd\ubcc0\uc218\ub098 \uc0c1\ub300 \uacbd\ub85c\ub97c \uc778\uc2dd\ud558\uc9c0 \ubabb\ud569\ub2c8\ub2e4.<\/li><li>\ub530\ub77c\uc11c \uc815\ud655\ud55c <strong>Python \uc778\ud130\ud504\ub9ac\ud130<\/strong> \uc704\uce58\ub97c <strong>\uc808\ub300 \uacbd\ub85c<\/strong>\ub85c \uc9c0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3>2\ufe0f\u20e3 <strong>Nginx \uc124\uc815 \ud30c\uc77c\uc758 \uc81c\ud55c\uc0ac\ud56d \ud83d\udd27<\/strong><\/h3>\n\n\n\n<ul><li>Nginx \uc124\uc815 \ud30c\uc77c (<code>nginx.conf<\/code>)\uc5d0\uc11c\ub294 <strong>\uc808\ub300 \uacbd\ub85c<\/strong>\ub9cc \uc0ac\uc6a9 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/li><li>\uc0c1\ub300 \uacbd\ub85c (~)\ub97c \uc0ac\uc6a9\ud558\uba74 <strong>\uc124\uc815 \uc624\ub958<\/strong>\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4.<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3>3\ufe0f\u20e3 <strong>\ubcf4\uc548 \ubc0f \uc548\uc815\uc131 \ud83d\udee1\ufe0f<\/strong><\/h3>\n\n\n\n<ul><li>\uc808\ub300 \uacbd\ub85c\ub294 \uc2e4\ud589 \ud658\uacbd\uacfc \uad00\uacc4\uc5c6\uc774 \ud56d\uc0c1 \ub3d9\uc77c\ud55c \uc704\uce58\ub97c \uac00\ub9ac\ud0b5\ub2c8\ub2e4.<\/li><li>\uc0ac\uc6a9\uc790 \ud648 \ub514\ub809\ud1a0\ub9ac \ubcc0\uacbd\uc774\ub098 \uc2dc\uc2a4\ud15c \uc124\uc815 \ubcc0\uacbd\uc5d0\ub3c4 \uc601\ud5a5\uc744 \ubc1b\uc9c0 \uc54a\uc544 <strong>\uc548\uc815\uc131<\/strong>\uc774 \ub192\uc544\uc9d1\ub2c8\ub2e4.<\/li><li><strong>\uc0c1\ub300 \uacbd\ub85c\uc758 \ubb38\uc81c\uc810:<\/strong> \uc0c1\ub300 \uacbd\ub85c\ub294 \uc2e4\ud589\ub418\ub294 \uc704\uce58\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9c0\uae30 \ub54c\ubb38\uc5d0 \uc6f9 \uc11c\ubc84 \ud658\uacbd\uc5d0\uc11c \uc608\uc0c1\uce58 \ubabb\ud55c \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3>\ud83d\udca1 <strong>\uc808\ub300 \uacbd\ub85c \uc124\uc815 \ubc29\ubc95<\/strong><\/h3>\n\n\n\n<p>1\ufe0f\u20e3 <strong><code>which python<\/code> \uc2e4\ud589\ud558\uae30<\/strong> \ud83d\udd0d<br>which python \uba85\ub839\uc740 \ud604\uc7ac \uc0ac\uc6a9 \uc911\uc778 Python \uc778\ud130\ud504\ub9ac\ud130\uc758 \uc704\uce58\ub97c \ucc3e\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(venv) -bash-4.1$ which python\n~\/python.shop2world.info\/venv\/bin\/python<\/code><\/pre>\n\n\n\n<h4>2\ufe0f\u20e3 <strong><code>~<\/code> \ubd80\ubd84\uc744 <code>\/var\/www\/vhosts\/[\uc0ac\uc6a9\uc790\ub3c4\uba54\uc778]<\/code>\uc73c\ub85c \ubcc0\uacbd\ud558\uae30<\/strong> \ud83c\udfe0<\/h4>\n\n\n\n<ul><li><code>~<\/code>\ub294 \uc0ac\uc6a9\uc790\uc758 <strong>\ud648 \ub514\ub809\ud1a0\ub9ac<\/strong>\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4.<\/li><li>\uc608\ub97c \ub4e4\uc5b4, <strong>Shop2World \ud638\uc2a4\ud305<\/strong>\uc5d0\uc11c\ub294 \ud648 \ub514\ub809\ud1a0\ub9ac\uac00 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:<br><code>\/var\/www\/vhosts\/[\uc0ac\uc6a9\uc790\ub3c4\uba54\uc778]<\/code><\/li><\/ul>\n\n\n\n<h4>\u270f\ufe0f <strong>\uc608\uc2dc<\/strong><\/h4>\n\n\n\n<ul><li>\uc0ac\uc6a9\uc790\uc758 \ub3c4\uba54\uc778\uc774 <code>mysite.com<\/code>\uc774\ub77c\uba74:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>~\/&#91;\uc11c\ube0c\ub3c4\uba54\uc778]\/venv\/bin\/python\n\u2193\n\/var\/www\/vhosts\/&#91;\uc0ac\uc6a9\uc790\ub3c4\uba54\uc778]\/&#91;\uc11c\ube0c\ub3c4\uba54\uc778]\/venv\/bin\/python<\/code><\/pre>\n\n\n\n<h4>3\ufe0f\u20e3 <strong><code>passenger_wsgi.py<\/code>\uc5d0 \uc124\uc815\ud558\uae30<\/strong> \u270d\ufe0f<\/h4>\n\n\n\n<ul><li><strong>\uc608\uc2dc<\/strong>:<br>\ub3c4\uba54\uc778\uc774 <code>mysite.com<\/code>, \uc11c\ube0c\ub3c4\uba54\uc778\uc774 <code>python.mysite.com<\/code>\uc77c \uacbd\uc6b0:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># \uc608\uc2dc: \ub3c4\uba54\uc778\uc774 mysite.com\uc774\uace0 \uc11c\ube0c\ub3c4\uba54\uc778\uc774 python.mysite.com\uc778 \uacbd\uc6b0\nINTERP = \"\/var\/www\/vhosts\/mysite.com\/python.mysite.com\/venv\/bin\/python\"<\/code><\/pre>\n\n\n\n<h4>4\ufe0f\u20e3 <strong>\uc124\uc815 \ud655\uc778 \ubc29\ubc95<\/strong> \u2705<\/h4>\n\n\n\n<ul><li>\uacbd\ub85c\uac00 \uc62c\ubc14\ub978\uc9c0 \ud655\uc778\ud558\ub824\uba74<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ls -l \/var\/www\/vhosts\/&#91;\uc0ac\uc6a9\uc790\ub3c4\uba54\uc778]\/&#91;\uc11c\ube0c\ub3c4\uba54\uc778]\/venv\/bin\/python\n# \ud574\ub2f9 \ud30c\uc77c\uc774 \uc874\uc7ac\ud55c\ub2e4\uba74, \uacbd\ub85c\uac00 \uc815\ud655\ud569\ub2c8\ub2e4! \ud83c\udf89<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3>\uc694\uc57d \ud83c\udf08<\/h3>\n\n\n\n<ul><li>Passenger \ubc0f Nginx\ub294 <strong>\uc808\ub300 \uacbd\ub85c<\/strong>\ub97c \ud544\uc694\ub85c \ud569\ub2c8\ub2e4.<\/li><li><strong>\ubcf4\uc548<\/strong>, <strong>\uc548\uc815\uc131<\/strong>, <strong>\uc124\uc815 \uc624\ub958 \ubc29\uc9c0<\/strong>\ub97c \uc704\ud574 \uc808\ub300 \uacbd\ub85c\ub97c \uc815\ud655\ud788 \uc9c0\uc815\ud558\uc138\uc694.<\/li><li><code>passenger_wsgi.py<\/code>\uc5d0 Python \uacbd\ub85c\ub97c \ucd94\uac00\ud558\uace0, \ud30c\uc77c \uacbd\ub85c\ub97c \uaf2d \ud655\uc778\ud558\uc138\uc694! \ud83d\ude80<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\uc65c \uc808\ub300 \uacbd\ub85c\uac00 \ud544\uc694\ud55c\uac00? \ud83e\udd14\uc6f9 \uc11c\ubc84 \ud504\ub85c\uadf8\ub7a8(Passenger, Apache, Nginx \ub4f1)\uc740 \uc2dc\uc2a4\ud15c \uc218\uc900\uc5d0\uc11c \uc2e4\ud589\ub418\uae30 \ub54c\ubb38\uc5d0 \uc0ac\uc6a9\uc790\uc758 \ud658\uacbd \ubcc0\uc218\ub098 \uc0c1\ub300 \uacbd\ub85c\ub97c \uc778\uc2dd\ud558\uc9c0 \ubabb\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc815\ud655\ud55c Python \uc778\ud130\ud504\ub9ac\ud130 \uc704\uce58\ub97c \uc808\ub300 \uacbd\ub85c\ub85c \uc9c0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4. \uc808\ub300 \uacbd\ub85c\ub780 \ubb34\uc5c7\uc77c\uae4c\uc694? \uc808\ub300 \uacbd\ub85c\ub294 \ud30c\uc77c \uc2dc\uc2a4\ud15c\uc758 \ucd5c\uc0c1\uc704 \ub514\ub809\ud1a0\ub9ac\ubd80\ud130 \uc2dc\uc791\ud558\ub294 \uacbd\ub85c\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \/var\/www\/vhosts\/mysite.com\/venv\/bin\/python\uacfc \uac19\uc774 \uc804\uccb4 \uacbd\ub85c\ub97c \uba85\uc2dc\ud558\ub294 \uac83\uc744 \ub9d0\ud569\ub2c8\ub2e4. \ud2b9\ud788 \uc6f9 \uc11c\ubc84 \ud504\ub85c\uadf8\ub7a8(Passenger, Apache, Nginx \ub4f1)\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \uc774\uc720\ub85c \uc808\ub300 \uacbd\ub85c\uac00 \ud544\uc694\ud569\ub2c8\ub2e4: 1\ufe0f\u20e3 Passenger\uc758 \uc791\ub3d9 \ubc29\uc2dd \ud83d\ude80 Passenger\ub294 \uc6f9 \uc11c\ubc84 (Apache\/Nginx)\uc758 \ubaa8\ub4c8\ub85c \ub3d9\uc791\ud569\ub2c8\ub2e4. &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[731],"tags":[736,735],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.shop2world.com\/blog\/wp-json\/wp\/v2\/posts\/9594"}],"collection":[{"href":"https:\/\/www.shop2world.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shop2world.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shop2world.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shop2world.com\/blog\/wp-json\/wp\/v2\/comments?post=9594"}],"version-history":[{"count":6,"href":"https:\/\/www.shop2world.com\/blog\/wp-json\/wp\/v2\/posts\/9594\/revisions"}],"predecessor-version":[{"id":9603,"href":"https:\/\/www.shop2world.com\/blog\/wp-json\/wp\/v2\/posts\/9594\/revisions\/9603"}],"wp:attachment":[{"href":"https:\/\/www.shop2world.com\/blog\/wp-json\/wp\/v2\/media?parent=9594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shop2world.com\/blog\/wp-json\/wp\/v2\/categories?post=9594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shop2world.com\/blog\/wp-json\/wp\/v2\/tags?post=9594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}