Skip to content

Latest commit

 

History

History
52 lines (34 loc) · 1.59 KB

File metadata and controls

52 lines (34 loc) · 1.59 KB
layout default
title 在 Apache 上部署 CGI

在 Apache 上部署 CGI

以下是创建并运行 web.py 应用程序的简单步骤:

  • 确保已安装 web.py 和 flup。
  • ​创建应用程序

按文档创建应用程序,主代码结构如下:

    if __name__ == "__main__":
        web.run(urls, globals())

本示例中,我们将应用命名为 app.py,存放在 /www/app 目录下,并通过 http://server/app/app.py 访问。

  • ​配置 Apache(以 Apache 2.2 为例)​

      ScriptAlias /app "/www/app/"
      <Directory "/www/app/">
              Options +ExecCGI +FollowSymLinks
              Order allow,deny
              Allow from all
      </Directory>
    

完成后,即可通过 http://server/app/app.py/ 访问应用。应用处理的其他 URL 会附加在路径后,例如:http://server/app/app.py/myurl

  • .htaccess 配置

            Options +ExecCGI
            AddHandler cgi-script .py
            DirectoryIndex index.py
            <IfModule mod_rewrite.c>
                RewriteEngine on
                RewriteBase /
                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteCond %{REQUEST_FILENAME} !-d
                RewriteCond %{REQUEST_URI} !^/favicon.ico$
                RewriteCond %{REQUEST_URI} !^(/.*)+index.py/
                RewriteRule ^(.*)$ index.py/$1 [PT]
            </IfModule>
    

此配置假设应用名为 index.py。当请求的静态文件或目录不存在时,请求会被路由到 index.py。若需调整路径,可修改 RewriteBase 为子目录。