<p><code>mpm</code>代表<a href="http://httpd.apache.org/docs/2.4/mpm.html" rel="nofollow">Multi-Processing Module</a>;基本上,您将基于<code>event</code>的方法替换为{<cd3>};这是Apache内部使用的,通常不会影响性能以外的任何东西(每个MPM都有不同的性能特征),但是有些东西与某些MPM不兼容,然后您需要更改它们。在</p>
<p><code>cgi</code>模块是提供<a href="http://en.wikipedia.org/wiki/Common_Gateway_Interface" rel="nofollow">Common Gateway Interface</a>的附加模块;默认情况下,它不再包含在Apache中。在</p>
<p>脚本的第一行是<a href="http://en.wikipedia.org/wiki/Shebang_%28Unix%29" rel="nofollow"><em>shebang</em></a>;它告诉Unix/Linux内核使用什么程序作为解释器;也就是说,“请使用<code>/usr/bin/python</code>来运行这个文件”。文件扩展名在*nix w.r.t可执行性中没有任何意义。在</p>
<p>第二行是标题。CGI规范指出<a href="http://httpd.apache.org/docs/2.4/howto/cgi.html#writing" rel="nofollow">output shall be headers followed by an empty line</a>,后跟内容。1头是必需的:<code>Content-Type</code>。这里您告诉web服务器和浏览器,下面是<code>text/html</code>类型的文档。<code>'\n'</code>代表换行符。(严格来说,你应该写</p>
<pre><code>print "Content-type: text/html\n\n",
</code></pre>
<p>在那里加一个逗号,否则你会得到一个新行太多)。在</p>
<p>默认情况下,*nix中的文件没有打开<a href="http://en.wikipedia.org/wiki/File_system_permissions#Notation_of_traditional_Unix_permissions" rel="nofollow">^{<cd9>} execute bit</a>-这是一个安全特性;需要有意识的决定才能使某些内容可执行。在</p>
<hr/>
<p>至于首选方法,因为您控制了服务器,所以可以将Apache<code>mod_wsgi</code>与任何web框架一起使用-<a href="http://docs.pylonsproject.org/docs/pyramid/en/latest/tutorials/modwsgi/index.html" rel="nofollow">Pyramid</a>、<a href="http://flask.pocoo.org/docs/0.10/deploying/mod_wsgi/" rel="nofollow">Flask</a>、<a href="https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/modwsgi/" rel="nofollow">Django</a>等;WSGI应用程序比CGI效率高很多。在</p>