使用Python 3.4将Django / Gunicorn部署到Nginx服务器时发现了错误的模板路径

时间:2014-12-06 08:19:47

标签: python django nginx gunicorn

不确定此问题是否应该在ServerFault或StackOverflow中,但我认为此处有更多人。

我已经构建了一个名为' to_pm'的Django项目。并决定将其放在使用CentOs 7作为操作系统的VPS服务器上。我想将我的Django项目部署到Nginx服务器,我已经在服务器上成功设置并运行了该服务器。

最初我将我的项目放到/root/,因为我是linux系统管理的新手。然后我意识到,由于nginx使用nginx作为其用户,它需要是我的项目文件夹及其所有父目录的所有者才能访问我项目的静态内容,所以我将项目移动到{{ 1}}并将/www/的所有者更改为nginx:nginx。然后我无法访问我的网站。

我收到此错误:(所有模板都在/www/文件夹中)

to_pm/templates/

它显示我的python路径是:

Django tried loading these templates, in this order:
Using loader django_jinja.loaders.FileSystemLoader:
/root/to_pm/templates/index.jinja (File does not exist)

见附图: enter image description here 如何更改以使我的网站重新启动并运行?我是否需要将python路径更改为/ www / to_pm? 但是我Python Path: ['/root/to_pm', '/usr/local/bin', '/usr/local/lib/python34.zip', '/usr/local/lib/python3.4', '/usr/local/lib/python3.4/plat-linux', '/usr/local/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/site-packages'] 并没有出现。从这一点来说,我不知道该怎么做。

我正在使用Supervisor在Gunicorn应用服务器上运行我的项目,并且我已经检查了我的echo $PYTHONPATH文件,并且我确信文件中没有设置supervisord.conf路径。

更新:

我已经缩小了问题范围。我认为这不是一个nginx问题,因为即使我关闭了Nginx,我仍然可以通过使用初始IP和端口而不使用端口80来解决问题。

1 个答案:

答案 0 :(得分:0)

好吧,好像这不是服务器的问题。在使用旧路径设置运行项目的Centos后端有一些僵尸进程。在我杀死这些进程后,我的网站已经上线。