{"id":904,"date":"2017-10-15T16:02:13","date_gmt":"2017-10-15T08:02:13","guid":{"rendered":"http:\/\/192.168.1.20\/?p=904"},"modified":"2017-10-15T18:13:50","modified_gmt":"2017-10-15T10:13:50","slug":"{d4daabd1ba368d9860c36387ddb72bbda14f8f9559d69d60a952800885260c03}e6{d4daabd1ba368d9860c36387ddb72bbda14f8f9559d69d60a952800885260c03}90{47dd41ec6bdcbd9a214c783a3735392b82ea6d1d918378c5a53e0640702d813","status":"publish","type":"post","link":"http:\/\/alextop.top\/?p=904","title":{"rendered":"\u642c\u74e6\u5de5ubuntu 14.04 x86\u73af\u5883\u914d\u7f6e\uff08apache2\u3001mod_wsgi\uff09"},"content":{"rendered":"<p>\u53c2\u8003\u7f51\u7ad9\uff1a<\/p>\n<p>http:\/\/code.ziqiangxuetang.com\/django\/django-deploy.html<\/p>\n<p>http:\/\/www.jianshu.com\/p\/ff78d1ab5091<\/p>\n<p>&nbsp;<\/p>\n<p>1\u3001\u8fdb\u5165ubuntu\uff0c\u5b89\u88c5apache2\u548cmod_wsgi\uff1a<br \/>\n<code>apt-get install apache2 libapache2-mod-wsgi-py3<\/code><br \/>\n2\u3001\u67e5\u770bapache2\u7248\u672c\uff1a<br \/>\n<code>apachectl -v<\/code><br \/>\n3\u3001\u65b0\u5efa\u4e00\u4e2a\u7f51\u7ad9\uff0c\u8fd9\u91cc\u662f\u521b\u5efa\u4e00\u4e2a\u7f51\u7ad9\u7684\u914d\u7f6e\u6587\u4ef6<\/p>\n<p><code>nano \/etc\/apache2\/sites-available\/test1.conf<\/code><\/p>\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">&lt;VirtualHost\u00a0*:80&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">ServerName\u00a0www.yourdomain.com<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">ServerAlias\u00a0otherdomain.com<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">ServerAdmin\u00a0tuweizhong@163.com<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash spaces\">\u00a0<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">Alias\u00a0<\/code><code class=\"bash plain\">\/media\/<\/code>\u00a0<code class=\"bash plain\">\/home\/tu\/blog\/media\/<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">Alias\u00a0<\/code><code class=\"bash plain\">\/static\/<\/code>\u00a0<code class=\"bash plain\">\/home\/tu\/blog\/static\/<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash spaces\">\u00a0<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">&lt;Directory\u00a0<\/code><code class=\"bash plain\">\/home\/tu\/blog\/media<\/code><code class=\"bash plain\">&gt;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">Require\u00a0all\u00a0granted<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">&lt;<\/code><code class=\"bash plain\">\/Directory<\/code><code class=\"bash plain\">&gt;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash spaces\">\u00a0<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">&lt;Directory\u00a0<\/code><code class=\"bash plain\">\/home\/tu\/blog\/static<\/code><code class=\"bash plain\">&gt;<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">Require\u00a0all\u00a0granted<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">&lt;<\/code><code class=\"bash plain\">\/Directory<\/code><code class=\"bash plain\">&gt;<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash spaces\">\u00a0<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">WSGIScriptAlias\u00a0\/\u00a0<\/code><code class=\"bash plain\">\/home\/tu\/blog\/blog\/wsgi<\/code><code class=\"bash plain\">.py<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u00a0WSGIDaemonProcess\u00a0ziqiangxuetang.com\u00a0pythonpath=\/home\/tu\/blog:\/home\/tu\/.virtualenvs\/blog\/lib\/python2.7\/site-packages<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u00a0WSGIProcessGroup\u00a0ziqiangxuetang.com<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"bash spaces\">\u00a0<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">&lt;Directory\u00a0<\/code><code class=\"bash plain\">\/home\/tu\/blog\/blog<\/code><code class=\"bash plain\">&gt;<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">&lt;Files\u00a0wsgi.py&gt;<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">Require\u00a0all\u00a0granted<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">&lt;<\/code><code class=\"bash plain\">\/Files<\/code><code class=\"bash plain\">&gt;<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">&lt;<\/code><code class=\"bash plain\">\/Directory<\/code><code class=\"bash plain\">&gt;<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"bash plain\">&lt;<\/code><code class=\"bash plain\">\/VirtualHost<\/code><code class=\"bash plain\">&gt;<\/code><\/div>\n<p>4\u3001\u4fee\u6539wsgi\u6587\u4ef6\uff0c<\/p>\n<div class=\"line number1 index0 alt2\"><code class=\"python keyword\">import<\/code>\u00a0<code class=\"python plain\">os<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"python keyword\">from<\/code>\u00a0<code class=\"python plain\">os.path\u00a0<\/code><code class=\"python keyword\">import<\/code>\u00a0<code class=\"python plain\">join,dirname,abspath<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"python plain\">PROJECT_DIR\u00a0<\/code><code class=\"python keyword\">=<\/code>\u00a0<code class=\"python plain\">dirname(dirname(abspath(__file__)))<\/code><code class=\"python comments\">#3<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"python keyword\">import<\/code>\u00a0<code class=\"python plain\">sys\u00a0<\/code><code class=\"python comments\">#\u00a04<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"python plain\">sys.path.insert(<\/code><code class=\"python value\">0<\/code><code class=\"python plain\">,PROJECT_DIR)\u00a0<\/code><code class=\"python comments\">#\u00a05<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"python plain\">os.environ[<\/code><code class=\"python string\">\"DJANGO_SETTINGS_MODULE\"<\/code><code class=\"python plain\">]\u00a0<\/code><code class=\"python keyword\">=<\/code>\u00a0<code class=\"python string\">\"blog.settings\"<\/code>\u00a0<code class=\"python comments\">#\u00a07<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"python keyword\">from<\/code>\u00a0<code class=\"python plain\">django.core.wsgi\u00a0<\/code><code class=\"python keyword\">import<\/code>\u00a0<code class=\"python plain\">get_wsgi_application<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"python plain\">application\u00a0<\/code><code class=\"python keyword\">=<\/code>\u00a0<code class=\"python plain\">get_wsgi_application()<\/code><\/div>\n<div><\/div>\n<p>5\u3001\u542f\u7528apache2\u914d\u7f6e\u6587\u4ef6<br \/>\n<code>service apache2 reload\u00a0<\/code><br \/>\n<code>a2dissite 000-default &amp;&amp; a2ensite sitename.conf<\/code><br \/>\n<code>service apache2 restart<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u53c2\u8003\u7f51\u7ad9\uff1a http:\/\/co&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-904","post","type-post","status-publish","format-standard","hentry","category-jishu"],"_links":{"self":[{"href":"http:\/\/alextop.top\/index.php?rest_route=\/wp\/v2\/posts\/904"}],"collection":[{"href":"http:\/\/alextop.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/alextop.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/alextop.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/alextop.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=904"}],"version-history":[{"count":0,"href":"http:\/\/alextop.top\/index.php?rest_route=\/wp\/v2\/posts\/904\/revisions"}],"wp:attachment":[{"href":"http:\/\/alextop.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/alextop.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=904"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/alextop.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}