【问题标题】:running local server .py prompts a text editor instead of opening page运行本地服务器 .py 提示文本编辑器而不是打开页面
【发布时间】:2017-02-21 18:41:40
【问题描述】:

我有一个文件,目前在我的生产站点上运行,名为 mysite.com/pages/lister.py。

我正在尝试构建站点的本地版本。 index.php 可以工作,其他页面也可以工作,但是当我转到 .py 页面时:localhost/pages/lister.py 它不会更改站点,它只是询问我是否要使用 gedit 打开文件。

我的猜测是我的本地配置在某处关闭,但在处理此问题时我不知道从哪里开始。

注意事项:

我正在运行我使用 sudo apt-get install lamp-server^ 下载的 Lamp 服务器

我的 apache 配置是 /etc/apache2/sites-available/000-default.conf 并包含:

<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/
    <Directory /var/www/>
        Options ExecCGI Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
        AddHandler cgi-script .py
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

编辑 1

这可能是我的问题的解决方案,但它还没有真正起作用,所以还没有。

我跑了

sudo a2enmod cgi
sudo service apache2 restart

现在它给出了:

内部服务器错误

服务器遇到内部错误或配置错误,无法完成您的请求。

请通过 webmaster@localhost 联系服务器管理员,告知他们此错误发生的时间,以及您在此错误之前执行的操作。

服务器错误日志中可能会提供有关此错误的更多信息。 Apache/2.4.18 (Ubuntu) 服务器在 localhost 端口 80

【问题讨论】:

  • 我是全栈开发的新手,但参与这些讨论对我很有帮助!我将首先问一些显而易见的事情: .py 文件是否放置在您的 Web 服务器可以看到的目录中? .py 文件是否真的写了一些 HTML?您的服务器配置设置是否可以处理 .py 文件?
  • 文件在正确的位置并且确实写了html,我在上面添加了我的配置。 @PatJones
  • 嗯,内部服务器错误是一个好兆头......这意味着它正在尝试加载页面。在我的配置设置中,我没有“选项”下的“多视图”……不知道那是做什么的。我也有AllowOverride AllRequire all granted,但不确定它们是否适合您的情况。

标签: php python lamp


【解决方案1】:

我对将 HTML 直接写入页面的 .pl 和 .py 脚本的配置如下:

<Directory "[put production path here]">
    Options Indexes FollowSymLinks ExecCGI
    AllowOverride All
    Require all granted
</Directory>

由于我是全栈工作的新手,我不确定这是否适合您的情况,但可能值得一试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-01
    • 2017-11-26
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    • 2019-01-12
    • 2011-10-18
    • 2014-01-23
    相关资源
    最近更新 更多