Это место:
location /static {
root /opt/web2py/applications/cheer10s/;
}
- это только перезапись для статических файлов, а не для приложений, и я думаю, что это неправильно, должно быть:
location ~* /(\w+)/static/ {
root /opt/web2py/applications/;
}
В приведенной выше строке будут только файлы сервера в папке / static непосредственно NGINX, не затрагивая web2py для этого.
с uwsgi, эти строки отвечают за вызов web2py
location / {
uwsgi_pass 127.0.0.1:9001;
include uwsgi_params;
}
и маршрутизатор должен быть определен в платформе, а не в nginx. если вы хотите, чтобы приложение cheer10s было приложением по умолчанию, поместите маршруты .py.py в корневой папке web2py. выглядит так:
routers = dict(
# base router
BASE = dict(
default_application = 'cheer10s',
domains = {
'yourdomain.com' : 'cheer10s',
'anotherdomain.com':'anotherapp'
},
applications = ['cheer10s','anotherapp','admin'],
controllers = 'DEFAULT'
),
)
сохраните приведенное выше содержимое как rout.py в корневой папке web2py и перезапустите web2py, но не забудьте исправить вашу конфу nginx.