python + nginx 内部服务器错误

python + nginx internal server error

所以我按照本教程设置了我的服务器:http://jronnholm.sysio.se/setup-nginx-and-uwsgi-with-python3-on-ubuntu-14-04/

参见:nginx + uwsgi + python3 configuration not working

我设法通过将 /etc/nginx/sites-available/default 切换为 /etc/nginx/sites-available/pythonapp 并将站点名称更改为 _.

来让它工作

我的/etc/nginx/sites-available/default:

server {
    server_name _;
    error_log  /var/log/nginx/pythonapp.error.log;
    access_log         /var/log/nginx/pythonapp.access.log;
    root /vagrant/site/python/pythonapp;
    location / {
        uwsgi_pass unix:/var/run/uwsgi/app/pythonapp/socket;
        include uwsgi_params;
    }
}

但是当我将 webpage.py 的内容更改为:

print "Content-type: text/html\n\n"
print("lololol");

当我转到 http://localhost:8080 时,它最终返回内部服务器错误。

我做错了什么?

webpage.py 的 Python 代码无效。直接从命令行尝试 运行:python3 webpage.py 会告诉你哪里出了问题。

将您的 webpage.py 更改为:

print("Content-type: text/html\n\n")
print("lololol")

print 语句已替换为 print() 函数,关键字参数替换了旧 print 语句 (PEP 3105) 的大部分特殊语法。

请注意,我已从第二行中删除了分号,因为它在您的示例中没有执行任何操作。 Python 不需要 semi-colons 来终止语句。如果您希望将多个语句放在同一行,可以使用分号来分隔语句。