我正在尝试设置一个可以托管Python应用程序的Ubuntu服务器。它具有Nginx Web服务器。我对这些技术还很陌生。
我能够设置nginx来提供静态html文件,但是设置Python时遇到了问题。我得到的是找不到页面(例如404错误)。
我一直在以下URL上执行以下步骤: https://www.digitalocean.com/community/tutorials/how-to-set-up-uwsgi-and-nginx-to-serve-python-apps-on-ubuntu-14-04
我的示例应用程序与他们拥有的示例非常相似,除了我将其命名为app.py并将其复制到文件夹“ / srv / www / gobid / live”。
我的“ app.py”代码如下:
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return "Hello World From Digital Ocean"
在“ / etc / nginx / sites-enabled /”中,我有一个配置文件,看起来像:
server {
listen 80;
root /srv/www/gobid/live;
index index.html index.htm test.html;
# Make site accessible from http://localhost/
# server_name localhost;
server_name 10.220.200.11;
access_log /var/log/nginx/gobid.access.log main;
error_log /var/log/nginx/gobid.error.log;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.html
try_files $uri $uri/ /index.html;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
#include uwsgi_params;
#uwsgi_pass /srv/www/gobid/live/myapp.sock;
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
deny all;
}
location /hello/ {
include uwsgi_params;
# uwsgi_pass 127.0.0.1:9090;
}
}
我曾尝试创建套接字,但是这导致nginx不再提供静态页面。我已经设置了网址“ 10.220.200.11”以指向该网站。
当我键入“ http://10.220.200.11/”时,将正确提供静态页面。
我想让“ http://10.220.200.11/hello/”返回由app.py服务的内容(在这种情况下,它将显示为“来自Digital Ocean的Hello World”),但是却显示找不到文件。 (静态页面和app.py在同一目录中。)