django- nginx: [emerg] open() “/etc/nginx/proxy_params” failed (2: No such file or directory) in /etc/nginx/sites-enabled/myproject:11

后端 未结 1 891
南旧
南旧 2021-02-05 06:32

i try to deploy a django project with Nginx and Gunicorn with this tutorial. i did all to-dos but, when i create /etc/nginx/sites-available/myproject file with belo

1条回答
  •  既然无缘
    2021-02-05 06:38

    You're getting the path wrong for proxy_params 99% of the time (From my experience), the default location for the proxy_params file is /etc/nginx/proxy_params but this doesn't seem to be the same for you.

    The proxy_params file contains the following:

    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;
    

    Which are used to forward information to the application you're proxying to, I've worked on an old Centos server that didn't have a proxy_params file, Instead of creating one myself i just included these parameters directly, so my location block looked like this

    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;
     }
    

    So it's up to you, If the file exists in another location just include it with the right location:

    include /path/to/proxy_params

    else you can include the params directly in the location block (Like i did above)

    Or create one yourself and place it in /etc/nginx (If you want to stick with your current code)

    0 讨论(0)
提交回复
热议问题