Python apache未正确转换本地主机

Python apache未正确转换本地主机,python,html,apache,debian,cgi,Python,Html,Apache,Debian,Cgi,我有两个文件: /var/www/index.html: <html> <head> <meta content="text/html; charset=ISO-8859-1"http-equiv="content-type"> <title>Hello</title> </head> <body> http://localhost/cgi-bin/hello.py <

我有两个文件: /var/www/index.html:

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"http-equiv="content-type">
    <title>Hello</title>
  </head>
  <body>
    http://localhost/cgi-bin/hello.py
  </body>
</html>
结果如我所料。 当我像这样访问root index.html时

http://192.168.1.102
我在浏览器中获得以下信息:

http://localhost/cgi-bin/hello.py
这是我的apache.conf文件:

    # This is the main Apache server configuration file.  It contains the
    # configuration directives that give the server its instructions.
    # See http://httpd.apache.org/docs/2.2/ for detailed information about
    # the directives and /usr/share/doc/apache2-common/README.Debian.gz about
    # Debian specific hints.
    #
    #
    # Summary of how the Apache 2 configuration works in Debian:
    # The Apache 2 web server configuration in Debian is quite different to
    # upstream's suggested way to configure the web server. This is because Debian's
    # default Apache2 installation attempts to make adding and removing modules,
    # virtual hosts, and extra configuration directives as flexible as possible, in
    # order to make automating the changes and administering the server as easy as
    # possible.

    # It is split into several files forming the configuration hierarchy outlined
    # below, all located in the /etc/apache2/ directory:
    #
    #       /etc/apache2/
    #       |-- apache2.conf
    #       |       `--  ports.conf
    #       |-- mods-enabled
    #       |       |-- *.load
    #       |       `-- *.conf
    #       |-- conf.d
    #       |       `-- *
    #       `-- sites-enabled
    #               `-- *
    #
    #
    # * apache2.conf is the main configuration file (this file). It puts the pieces
    #   together by including all remaining configuration files when starting up the
    #   web server.
    #
    #   In order to avoid conflicts with backup files, the Include directive is
    #   adapted to ignore files that:
    #   - do not begin with a letter or number
    #   - contain a character that is neither letter nor number nor _-:.
    #   - contain .dpkg
    #
    #   Yet we strongly suggest that all configuration files either end with a
    #   .conf or .load suffix in the file name. The next Debian release will
    #   ignore files not ending with .conf (or .load for mods-enabled).
    #
    # * ports.conf is always included from the main configuration file. It is
    #   supposed to determine listening ports for incoming connections, and which
    #   of these ports are used for name based virtual hosts.
    #
    # * Configuration files in the mods-enabled/ and sites-enabled/ directories
    #   contain particular configuration snippets which manage modules or virtual
    #   host configurations, respectively.
    #
    #   They are activated by symlinking available configuration files from their
    #   respective *-available/ counterparts. These should be managed by using our
    #   helpers a2enmod/a2dismod, a2ensite/a2dissite. See
    #   their respective man pages for detailed information.
    #
    # * Configuration files in the conf.d directory are either provided by other
    #   packages or may be added by the local administrator. Local additions
    #   should start with local- or end with .local.conf to avoid name clashes. All
    #   files in conf.d are considered (excluding the exceptions noted above) by
    #   the Apache 2 web server.
    #
    # * The binary is called apache2. Due to the use of environment variables, in
    #   the default configuration, apache2 needs to be started/stopped with
    #   /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
    #   work with the default configuration.


    # Global configuration
    #

    #
    # ServerRoot: The top of the directory tree under which the server's
    # configuration, error, and log files are kept.
    #
    # NOTE!  If you intend to place this on an NFS (or otherwise network)
    # mounted filesystem then please read the LockFile documentation (available
    # at <URL:http://httpd.apache.org/docs/2.2/mod/mpm_common.html#lockfile>);
    # you will save yourself a lot of trouble.
    #
    # Do NOT add a slash at the end of the directory path.
    #
    #ServerRoot "/etc/apache2"

    #
    # The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
    #
    LockFile ${APACHE_LOCK_DIR}/accept.lock

    #
    # PidFile: The file in which the server should record its process
    # identification number when it starts.
    # This needs to be set in /etc/apache2/envvars
    #
    PidFile ${APACHE_PID_FILE}

    #
    # Timeout: The number of seconds before receives and sends time out.
    #
    Timeout 300

    #
    # KeepAlive: Whether or not to allow persistent connections (more than
    # one request per connection). Set to "Off" to deactivate.
    #
    KeepAlive On

    #
    # MaxKeepAliveRequests: The maximum number of requests to allow
    # during a persistent connection. Set to 0 to allow an unlimited amount.
    # We recommend you leave this number high, for maximum performance.
    #
    MaxKeepAliveRequests 100

    #
    # KeepAliveTimeout: Number of seconds to wait for the next request from the
    # same client on the same connection.
    #
    KeepAliveTimeout 5

    ##
    ## Server-Pool Size Regulation (MPM specific)
    ##

    # prefork MPM
    # StartServers: number of server processes to start
    # MinSpareServers: minimum number of server processes which are kept spare
    # MaxSpareServers: maximum number of server processes which are kept spare
    # MaxClients: maximum number of server processes allowed to start
    # MaxRequestsPerChild: maximum number of requests a server process serves
    <IfModule mpm_prefork_module>
        StartServers          5
        MinSpareServers       5
        MaxSpareServers      10
        MaxClients          150
        MaxRequestsPerChild   0
    </IfModule>

    # worker MPM
    # StartServers: initial number of server processes to start
    # MinSpareThreads: minimum number of worker threads which are kept spare
    # MaxSpareThreads: maximum number of worker threads which are kept spare
    # ThreadLimit: ThreadsPerChild can be changed to this maximum value during a
    #              graceful restart. ThreadLimit can only be changed by stopping
    #              and starting Apache.
    # ThreadsPerChild: constant number of worker threads in each server process
    # MaxClients: maximum number of simultaneous client connections
    # MaxRequestsPerChild: maximum number of requests a server process serves
    <IfModule mpm_worker_module>
        StartServers          2
        MinSpareThreads      25
        MaxSpareThreads      75
        ThreadLimit          64
        ThreadsPerChild      25
        MaxClients          150
        MaxRequestsPerChild   0
    </IfModule>

    # event MPM
    # StartServers: initial number of server processes to start
    # MinSpareThreads: minimum number of worker threads which are kept spare
    # MaxSpareThreads: maximum number of worker threads which are kept spare
    # ThreadsPerChild: constant number of worker threads in each server process
    # MaxClients: maximum number of simultaneous client connections
    # MaxRequestsPerChild: maximum number of requests a server process serves
    <IfModule mpm_event_module>
        StartServers          2
        MinSpareThreads      25
        MaxSpareThreads      75
        ThreadLimit          64
        ThreadsPerChild      25
        MaxClients          150
        MaxRequestsPerChild   0
    </IfModule>

    # These need to be set in /etc/apache2/envvars
    User ${APACHE_RUN_USER}
    Group ${APACHE_RUN_GROUP}

    #
    # AccessFileName: The name of the file to look for in each directory
    # for additional configuration directives.  See also the AllowOverride
    # directive.
    #

    AccessFileName .htaccess

    #
    # The following lines prevent .htaccess and .htpasswd files from being
    # viewed by Web clients.
    #
    <Files ~ "^\.ht">
        Order allow,deny
        Deny from all
        Satisfy all
    </Files>

    #
    # DefaultType is the default MIME type the server will use for a document
    # if it cannot otherwise determine one, such as from filename extensions.
    # If your server contains mostly text or HTML documents, "text/plain" is
    # a good value.  If most of your content is binary, such as applications
    # or images, you may want to use "application/octet-stream" instead to
    # keep browsers from trying to display binary files as though they are
    # text.
    #
    # It is also possible to omit any default MIME type and let the
    # client's browser guess an appropriate action instead. Typically the
    # browser will decide based on the file's extension then. In cases
    # where no good assumption can be made, letting the default MIME type
    # unset is suggested  instead of forcing the browser to accept
    # incorrect  metadata.
    #
    DefaultType None


    #
    # HostnameLookups: Log the names of clients or just their IP addresses
    # e.g., www.apache.org (on) or 204.62.129.132 (off).
    # The default is off because it'd be overall better for the net if people
    # had to knowingly turn this feature on, since enabling it means that
    # each client request will result in AT LEAST one lookup request to the
    # nameserver.
    #
    HostnameLookups Off

    # ErrorLog: The location of the error log file.
    # If you do not specify an ErrorLog directive within a <VirtualHost>
    # container, error messages relating to that virtual host will be
    # logged here.  If you *do* define an error logfile for a <VirtualHost>
    # container, that host's errors will be logged there and not here.
    #
    ErrorLog ${APACHE_LOG_DIR}/error.log

    #
    # LogLevel: Control the number of messages logged to the error_log.
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    #
    LogLevel warn

    # Include module configuration:
    Include mods-enabled/*.load
    Include mods-enabled/*.conf

    # Include list of ports to listen on and which to use for name based vhosts
    Include ports.conf

    #
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    # If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
    #
    LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
    LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %O" common
    LogFormat "%{Referer}i -> %U" referer
    LogFormat "%{User-agent}i" agent

    # Include of directories ignores editors' and dpkg's backup files,
    # see the comments above for details.

    # Include generic snippets of statements
    Include conf.d/

    # Include the virtual host configurations:
    Include sites-enabled    
  <Directory "/var/www">
#    Options None
    Options FollowSymLinks +ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
    DirectoryIndex index.py index.html
  </Directory>
    AddHandler cgi-script .cgi
    AddHandler cgi-script .cgi
#这是主要的Apache服务器配置文件。它包含
#为服务器提供指令的配置指令。
#看http://httpd.apache.org/docs/2.2/ 有关
#指令和/usr/share/doc/apache2 common/README.Debian.gz关于
#特定于Debian的提示。
#
#
#Apache2配置如何在Debian中工作的摘要:
#Debian中的Apache2Web服务器配置与
#upstream建议的配置web服务器的方法。这是因为Debian的
#默认Apache2安装尝试添加和删除模块,
#虚拟主机,以及尽可能灵活的额外配置指令
#以便尽可能轻松地自动化更改和管理服务器
#可能。
#它被分割成几个文件,形成所概述的配置层次结构
#下面的所有文件都位于/etc/apache2/目录中:
#
#/etc/apache2/
#|--apache2.conf
#|`--ports.conf
#|--mods已启用
#| 124;--*.装载
#|`-*.conf
#|--conf.d
#       |       `-- *
#`--已启用站点
#               `-- *
#
#
#*apache2.conf是主配置文件(此文件)。它把碎片
#在启动时包括所有剩余的配置文件
#网络服务器。
#
#为了避免与备份文件冲突,使用Include指令
#适用于忽略以下文件:
#-不要以字母或数字开头
#-包含既不是字母,也不是数字,也不是-:。
#-contain.dpkg
#
#但是,我们强烈建议所有配置文件都以
#文件名中的.conf或.load后缀。下一个Debian版本将
#忽略未以.conf结尾的文件(或已启用mods的.load)。
#
#*ports.conf始终包含在主配置文件中。它是
#应该确定传入连接的侦听端口,以及
#其中一个端口用于基于名称的虚拟主机。
#
#*mods enabled/和sites enabled/目录中的配置文件
#包含管理模块或虚拟机的特定配置代码段
#主机配置。
#
#它们通过将其上的可用配置文件符号链接来激活
#相应*-可用/副本。这些应该通过使用我们的
#助手a2enmod/a2dismod、a2ensite/A2DISMODE。看见
#有关详细信息,请参阅各自的手册页。
#
#*conf.d目录中的配置文件由其他
#本地管理员可以添加包或。本地添加
#应以local开头或以.local.conf结尾,以避免名称冲突。全部的
#conf.d中的文件由
#Apache2Web服务器。
#
#*二进制文件称为apache2。由于使用了环境变量,在
#默认配置apache2需要使用启动/停止
#/etc/init.d/apache2或apache2ctl。直接调用/usr/bin/apache2不会
#使用默认配置。
#全局配置
#
#
#ServerRoot:目录树的顶部,服务器的
#保留配置、错误和日志文件。
#
#注意!如果要将其放置在NFS(或其他网络)上
#安装的文件系统然后请阅读LockFile文档(可用
#at);
#你会省去很多麻烦。
#
#不要在目录路径的末尾添加斜杠。
#
#ServerRoot“/etc/apache2”
#
#接受序列化锁定文件必须存储在本地磁盘上。
#
LockFile${APACHE\u LOCK\u DIR}/accept.LOCK
#
#PidFile:服务器应在其中记录其进程的文件
#启动时的标识号。
#这需要在/etc/apache2/envvars中设置
#
PidFile${APACHE_PID_文件}
#
#超时:接收和发送超时之前的秒数。
#
超时300
#
#KeepAlive:是否允许持久连接(超过
#每个连接一个请求)。设置为“关闭”以停用。
#
继续
#
#MaxKeepAliverRequests:允许的最大请求数
#在持久连接期间。设置为0以允许无限量。
#我们建议您将此数字保持在较高水平,以获得最佳性能。
#
MaxKeepAliveRequests 100
#
#KeepAliveTimeout:等待来自的下一个请求的秒数
#同一连接上的同一客户端。
#
保持超时
##
##服务器池大小调节(特定于MPM)
##
#预工作MPM
#StartServers:要启动的服务器进程数
#MinSpareServers:保留备用的最小服务器进程数
#MaxSpareServers:保留备用的最大服务器进程数
#MaxClient:允许启动的最大服务器进程数
#MaxRequestsPerChild:服务器进程服务的最大请求数
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
#工人MPM
#StartServers:要启动的服务器进程的初始数目
#MinSpareThreads:保留备用的最小工作线程数
#MaxSpareThreads:保留备用的最大工作线程数
#ThreadLimit:ThreadsPerChild可以是
http://localhost/cgi-bin/hello.py
    # This is the main Apache server configuration file.  It contains the
    # configuration directives that give the server its instructions.
    # See http://httpd.apache.org/docs/2.2/ for detailed information about
    # the directives and /usr/share/doc/apache2-common/README.Debian.gz about
    # Debian specific hints.
    #
    #
    # Summary of how the Apache 2 configuration works in Debian:
    # The Apache 2 web server configuration in Debian is quite different to
    # upstream's suggested way to configure the web server. This is because Debian's
    # default Apache2 installation attempts to make adding and removing modules,
    # virtual hosts, and extra configuration directives as flexible as possible, in
    # order to make automating the changes and administering the server as easy as
    # possible.

    # It is split into several files forming the configuration hierarchy outlined
    # below, all located in the /etc/apache2/ directory:
    #
    #       /etc/apache2/
    #       |-- apache2.conf
    #       |       `--  ports.conf
    #       |-- mods-enabled
    #       |       |-- *.load
    #       |       `-- *.conf
    #       |-- conf.d
    #       |       `-- *
    #       `-- sites-enabled
    #               `-- *
    #
    #
    # * apache2.conf is the main configuration file (this file). It puts the pieces
    #   together by including all remaining configuration files when starting up the
    #   web server.
    #
    #   In order to avoid conflicts with backup files, the Include directive is
    #   adapted to ignore files that:
    #   - do not begin with a letter or number
    #   - contain a character that is neither letter nor number nor _-:.
    #   - contain .dpkg
    #
    #   Yet we strongly suggest that all configuration files either end with a
    #   .conf or .load suffix in the file name. The next Debian release will
    #   ignore files not ending with .conf (or .load for mods-enabled).
    #
    # * ports.conf is always included from the main configuration file. It is
    #   supposed to determine listening ports for incoming connections, and which
    #   of these ports are used for name based virtual hosts.
    #
    # * Configuration files in the mods-enabled/ and sites-enabled/ directories
    #   contain particular configuration snippets which manage modules or virtual
    #   host configurations, respectively.
    #
    #   They are activated by symlinking available configuration files from their
    #   respective *-available/ counterparts. These should be managed by using our
    #   helpers a2enmod/a2dismod, a2ensite/a2dissite. See
    #   their respective man pages for detailed information.
    #
    # * Configuration files in the conf.d directory are either provided by other
    #   packages or may be added by the local administrator. Local additions
    #   should start with local- or end with .local.conf to avoid name clashes. All
    #   files in conf.d are considered (excluding the exceptions noted above) by
    #   the Apache 2 web server.
    #
    # * The binary is called apache2. Due to the use of environment variables, in
    #   the default configuration, apache2 needs to be started/stopped with
    #   /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
    #   work with the default configuration.


    # Global configuration
    #

    #
    # ServerRoot: The top of the directory tree under which the server's
    # configuration, error, and log files are kept.
    #
    # NOTE!  If you intend to place this on an NFS (or otherwise network)
    # mounted filesystem then please read the LockFile documentation (available
    # at <URL:http://httpd.apache.org/docs/2.2/mod/mpm_common.html#lockfile>);
    # you will save yourself a lot of trouble.
    #
    # Do NOT add a slash at the end of the directory path.
    #
    #ServerRoot "/etc/apache2"

    #
    # The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
    #
    LockFile ${APACHE_LOCK_DIR}/accept.lock

    #
    # PidFile: The file in which the server should record its process
    # identification number when it starts.
    # This needs to be set in /etc/apache2/envvars
    #
    PidFile ${APACHE_PID_FILE}

    #
    # Timeout: The number of seconds before receives and sends time out.
    #
    Timeout 300

    #
    # KeepAlive: Whether or not to allow persistent connections (more than
    # one request per connection). Set to "Off" to deactivate.
    #
    KeepAlive On

    #
    # MaxKeepAliveRequests: The maximum number of requests to allow
    # during a persistent connection. Set to 0 to allow an unlimited amount.
    # We recommend you leave this number high, for maximum performance.
    #
    MaxKeepAliveRequests 100

    #
    # KeepAliveTimeout: Number of seconds to wait for the next request from the
    # same client on the same connection.
    #
    KeepAliveTimeout 5

    ##
    ## Server-Pool Size Regulation (MPM specific)
    ##

    # prefork MPM
    # StartServers: number of server processes to start
    # MinSpareServers: minimum number of server processes which are kept spare
    # MaxSpareServers: maximum number of server processes which are kept spare
    # MaxClients: maximum number of server processes allowed to start
    # MaxRequestsPerChild: maximum number of requests a server process serves
    <IfModule mpm_prefork_module>
        StartServers          5
        MinSpareServers       5
        MaxSpareServers      10
        MaxClients          150
        MaxRequestsPerChild   0
    </IfModule>

    # worker MPM
    # StartServers: initial number of server processes to start
    # MinSpareThreads: minimum number of worker threads which are kept spare
    # MaxSpareThreads: maximum number of worker threads which are kept spare
    # ThreadLimit: ThreadsPerChild can be changed to this maximum value during a
    #              graceful restart. ThreadLimit can only be changed by stopping
    #              and starting Apache.
    # ThreadsPerChild: constant number of worker threads in each server process
    # MaxClients: maximum number of simultaneous client connections
    # MaxRequestsPerChild: maximum number of requests a server process serves
    <IfModule mpm_worker_module>
        StartServers          2
        MinSpareThreads      25
        MaxSpareThreads      75
        ThreadLimit          64
        ThreadsPerChild      25
        MaxClients          150
        MaxRequestsPerChild   0
    </IfModule>

    # event MPM
    # StartServers: initial number of server processes to start
    # MinSpareThreads: minimum number of worker threads which are kept spare
    # MaxSpareThreads: maximum number of worker threads which are kept spare
    # ThreadsPerChild: constant number of worker threads in each server process
    # MaxClients: maximum number of simultaneous client connections
    # MaxRequestsPerChild: maximum number of requests a server process serves
    <IfModule mpm_event_module>
        StartServers          2
        MinSpareThreads      25
        MaxSpareThreads      75
        ThreadLimit          64
        ThreadsPerChild      25
        MaxClients          150
        MaxRequestsPerChild   0
    </IfModule>

    # These need to be set in /etc/apache2/envvars
    User ${APACHE_RUN_USER}
    Group ${APACHE_RUN_GROUP}

    #
    # AccessFileName: The name of the file to look for in each directory
    # for additional configuration directives.  See also the AllowOverride
    # directive.
    #

    AccessFileName .htaccess

    #
    # The following lines prevent .htaccess and .htpasswd files from being
    # viewed by Web clients.
    #
    <Files ~ "^\.ht">
        Order allow,deny
        Deny from all
        Satisfy all
    </Files>

    #
    # DefaultType is the default MIME type the server will use for a document
    # if it cannot otherwise determine one, such as from filename extensions.
    # If your server contains mostly text or HTML documents, "text/plain" is
    # a good value.  If most of your content is binary, such as applications
    # or images, you may want to use "application/octet-stream" instead to
    # keep browsers from trying to display binary files as though they are
    # text.
    #
    # It is also possible to omit any default MIME type and let the
    # client's browser guess an appropriate action instead. Typically the
    # browser will decide based on the file's extension then. In cases
    # where no good assumption can be made, letting the default MIME type
    # unset is suggested  instead of forcing the browser to accept
    # incorrect  metadata.
    #
    DefaultType None


    #
    # HostnameLookups: Log the names of clients or just their IP addresses
    # e.g., www.apache.org (on) or 204.62.129.132 (off).
    # The default is off because it'd be overall better for the net if people
    # had to knowingly turn this feature on, since enabling it means that
    # each client request will result in AT LEAST one lookup request to the
    # nameserver.
    #
    HostnameLookups Off

    # ErrorLog: The location of the error log file.
    # If you do not specify an ErrorLog directive within a <VirtualHost>
    # container, error messages relating to that virtual host will be
    # logged here.  If you *do* define an error logfile for a <VirtualHost>
    # container, that host's errors will be logged there and not here.
    #
    ErrorLog ${APACHE_LOG_DIR}/error.log

    #
    # LogLevel: Control the number of messages logged to the error_log.
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    #
    LogLevel warn

    # Include module configuration:
    Include mods-enabled/*.load
    Include mods-enabled/*.conf

    # Include list of ports to listen on and which to use for name based vhosts
    Include ports.conf

    #
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    # If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
    #
    LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
    LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %O" common
    LogFormat "%{Referer}i -> %U" referer
    LogFormat "%{User-agent}i" agent

    # Include of directories ignores editors' and dpkg's backup files,
    # see the comments above for details.

    # Include generic snippets of statements
    Include conf.d/

    # Include the virtual host configurations:
    Include sites-enabled    
  <Directory "/var/www">
#    Options None
    Options FollowSymLinks +ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
    DirectoryIndex index.py index.html
  </Directory>
    AddHandler cgi-script .cgi
    AddHandler cgi-script .cgi