{"id":1860,"date":"2013-10-05T16:20:15","date_gmt":"2013-10-05T07:20:15","guid":{"rendered":"http:\/\/hyunsu.com\/wordpress\/?p=1860"},"modified":"2013-10-31T15:30:33","modified_gmt":"2013-10-31T06:30:33","slug":"mod_wsgi%eb%a5%bc-%ec%9d%b4%ec%9a%a9%ed%95%9c-multiple-apps-%ec%84%b8%ed%8c%85","status":"publish","type":"post","link":"https:\/\/hyunsu.com\/wordpress\/?p=1860","title":{"rendered":"mod_wsgi\ub97c \uc774\uc6a9\ud55c multiple apps \uc138\ud305"},"content":{"rendered":"<p>django\ub098 flask, bottle \uac19\uc740 \ud30c\uc774\uc36c\ud504\ub808\uc784\uc6cd\uc744 apache\uc5d0 \ubd99\uc774\uae30 \uc704\ud574 mod_wsgi\ub97c \uc774\uc6a9\ud560 \ub54c<br \/>\n\uc5ec\ub7ec\uac1c\uc758 app\uc744 \uc0ac\uc6a9\ud558\uac8c \ub418\uba74 \uac01 app\ubcc4\ub85c process\ub97c \uc720\uc77c\ud55c \uc774\ub984\uc744 \uc138\ud305\ud574\uc57c \ub41c\ub2e4.<br \/>\n\uadf8\ub807\uc9c0 \uc54a\uc73c\uba74 \uae30\ub300\ud558\uc9c0 \uc54a\uc740 \uacb0\uacfc\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\ubcf4\ud1b5 wsgi \uc138\ud305\ud560 \ub54c,<\/p>\n<div>\n<pre class=\"lang:default decode:true\">&lt;VirtualHost *&gt;\r\n    ServerName hyunsu.com\r\n\r\n    WSGIDaemonProcess myapp user=user1 group=group1 threads=5\r\n    WSGIScriptAlias \/myapp \/home\/apps\/myapp\/apps.wsgi\r\n\r\n    &lt;Directory \/home\/apps&gt;\r\n        WSGIProcessGroup myapp\r\n        WSGIApplicationGroup %{GLOBAL}\r\n        Order deny,allow\r\n        Allow from all\r\n    &lt;\/Directory&gt;\r\n&lt;\/VirtualHost&gt;<\/pre>\n<p>\uc774\ub807\uac8c \uc138\ud305\ud558\ub294\ub370 \uc5ec\uae30\uc5d0 app\uc744 \ud558\ub098 \ucd94\uac00\ud55c\ub2e4\uba74 \uc544\ub798\uc640 \uac19\uc774 \ud560 \uc218 \uc788\ub2e4.<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<div>\n<pre class=\"lang:default decode:true crayon-selected\">&lt;VirtualHost *&gt;\r\n    ServerName hyunsu.com\r\n\r\n    WSGIDaemonProcess myapp user=user1 group=group1 threads=5\r\n    WSGIScriptAlias \/myapp \/home\/apps\/myapp\/apps.wsgi\r\n\r\n    WSGIScriptAlias \/myapp2 \/home\/apps\/myapp2\/apps.wsgi \r\n\r\n    &lt;Directory \/home\/apps&gt; \r\n        WSGIProcessGroup myapp \r\n        WSGIApplicationGroup %{GLOBAL} \r\n        Order deny,allow \r\n        Allow from all \r\n    &lt;\/Directory&gt;\r\n&lt;\/VirtualHost&gt;<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<p>\uadfc\ub370 \uc774\ub807\uac8c \ud558\uba74 hyunsu.com\/myapp \uc73c\ub85c \uc5f0\uacb0\ud588\uc744 \ub54c hyunsu.com\/myapp2\uc758 \ucee8\ud150\uce20\uac00 \ub85c\ub529\ub418\uace0<br \/>\n\ubb3c\ub860 hyunsu.com\/myapp2\ub85c \uc5f0\uacb0\ud558\uba74 hyunsu.com\/myapp\uc758 \ucee8\ud150\uce20\uac00 \ub85c\ub529\ub418\uae30\ub3c4 \ud55c\ub2e4.<\/p>\n<p>\ud558\ub098\uc758 process\uc5d0 \uc5ec\ub7ec\uac1c\uc758 apps\uc744 \uc5f0\uacb0\ud560 \ub54c, \uac01\uac01\uc758 apps\uc758 \uacbd\ub85c\uac00 \uc911\ubcf5\ub418\uba74 \uc774\ub7f0 \ud604\uc0c1\uc774 \ubc1c\uc0dd\ud558\ub294 \uac83\uc73c\ub85c \ubcf4\uc778\ub2e4.<\/p>\n<p>\uc774\ub7f0 \ubb38\uc81c\ub97c \ud53c\ud558\uae30 \uc704\ud574 \uac01 apps\ubcc4\ub85c process\ub97c \ubd84\ub9ac\ud574\uc57c \ud55c\ub2e4.<\/p>\n<div>\n<div>\n<div>\n<pre class=\"lang:default decode:true  crayon-selected\">    WSGIDaemonProcess myapp user=nobody group=nobody processes=1 threads=5\r\n    WSGIDaemonProcess myapp2 user=nobody group=nobody processes=1 threads=5\r\n    WSGIScriptAlias \/myapp \/home\/apps\/myapp\/apps.wsgi process-group=myapp application-group=%{GLOBAL}\r\n    WSGIScriptAlias \/myapp2 \/home\/apps\/myapp2\/apps.wsgi process-group=myapp2 application-group=%{GLOBAL}<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<p>\uc5ec\ub7ec\uac1c\uc758 app\uc774 \ud558\ub098\uc758 VirtualHost \ub0b4\uc5d0 \uc788\ub4e0, \uc5ec\ub7ec VirtualHost\uc5d0 \uac01\uac01 \ub098\ub220\uc838 \uc788\ub4e0\uc9c0 \uac04\uc5d0 \uac01 app\uc740 \uac01 process\ub97c \uac00\uc9c0\uc57c \ud55c\ub2e4.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>django\ub098 flask, bottle \uac19\uc740 \ud30c\uc774\uc36c\ud504\ub808\uc784\uc6cd\uc744 apache\uc5d0 \ubd99\uc774\uae30 \uc704\ud574 mod_wsgi\ub97c \uc774\uc6a9\ud560 \ub54c \uc5ec\ub7ec\uac1c\uc758 app\uc744 \uc0ac\uc6a9\ud558\uac8c \ub418\uba74 \uac01 app\ubcc4\ub85c process\ub97c \uc720\uc77c\ud55c \uc774\ub984\uc744 \uc138\ud305\ud574\uc57c \ub41c\ub2e4. \uadf8\ub807\uc9c0 \uc54a\uc73c\uba74 \uae30\ub300\ud558\uc9c0 \uc54a\uc740 \uacb0\uacfc\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub2e4. \ubcf4\ud1b5 wsgi \uc138\ud305\ud560 \ub54c, &lt;VirtualHost *&gt; ServerName hyunsu.com WSGIDaemonProcess myapp user=user1 group=group1 threads=5 WSGIScriptAlias \/myapp \/home\/apps\/myapp\/apps.wsgi &lt;Directory \/home\/apps&gt; WSGIProcessGroup myapp WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[53],"class_list":["post-1860","post","type-post","status-publish","format-standard","hentry","category-coding","tag-python"],"_links":{"self":[{"href":"https:\/\/hyunsu.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1860","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hyunsu.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hyunsu.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hyunsu.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hyunsu.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1860"}],"version-history":[{"count":3,"href":"https:\/\/hyunsu.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1860\/revisions"}],"predecessor-version":[{"id":1875,"href":"https:\/\/hyunsu.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1860\/revisions\/1875"}],"wp:attachment":[{"href":"https:\/\/hyunsu.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1860"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hyunsu.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1860"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hyunsu.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1860"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}