django - django- nginx:/etc/nginx/sites-enabled/myproject中的[emerg] open() “/etc/nginx/proxy_params”失败(2:无此类文件或目录):11

标签 django django-deployment

我尝试使用ngt_a与Nginx和Gunicorn一起部署django项目。我做了所有待办事项,但是,当我用以下代码创建/etc/nginx/sites-available/myproject文件时:

server {
listen 80;
server_name server_domain_or_IP;

location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
    root /home/sammy/myproject;
}

location / {
    include proxy_params;
    proxy_pass http://unix:/home/sammy/myproject/myproject.sock;
 }
}
然后运行sudo nginx -t查找错误,我得到这个错误:
nginx: [emerg] open() "/etc/nginx/proxy_params" failed (2: No such file or directory) in /etc/nginx/sites-enabled/myproject:11
nginx: configuration file /etc/nginx/nginx.conf test failed
有什么问题??
以及如何解决?
坦克斯

最佳答案

99%的时间里,您给proxy_params的路径出错了(根据我的经验),proxy_params文件的默认位置是/etc/nginx/proxy_params,但这对您来说似乎并不相同。
proxy_params文件包含以下内容:

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

它们用于将信息转发到您要代理的应用程序,我在一个没有proxy_params文件的旧Centos服务器上工作,而不是自己创建一个,而是直接包含了这些参数,因此我的位置块看起来像这样
location / {
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass http://unix:/home/sammy/myproject/myproject.sock;
 }

因此,这取决于您,如果文件存在于其他位置,只需将其包含在正确的位置即可:
include /path/to/proxy_params
否则,您可以将参数直接包含在位置块中(就像我上面所做的一样)

或自己创建一个并将其放在/ etc / nginx中(如果要坚持使用当前代码)

关于django - django- nginx:/etc/nginx/sites-enabled/myproject中的[emerg] open() “/etc/nginx/proxy_params”失败(2:无此类文件或目录):11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42589781/

相关文章:

Django rest framework - 在 POST 后将新创建的对象的 id 传回响应

python - 当前的 URL,app/,与这些中的任何一个都不匹配

django - FastCGI进程经常失败,使用IIS在windows 2012服务器上部署Django应用程序时获取

python - 递归浏览 django 模板中的字典

mysql - 带有额外选择的 Django 查询集计数

angularjs - 在 django 模型中存储 ajax post 数据

python - 在 Google Compute Engine 上使用 python 3.6 部署 Django 1.10 应用程序

python - 每次我访问服务器时,Django 应用程序都会显示相同的实例

amazon-web-services - 使用 MySQL 将 Django 部署到 AWS EC2 和 RDS