django-nginx: [emerg] open ()"/etc/nginx / proxy params " не удалось (2: нет такого файла или каталога) в /etc / nginx / sites-enabled/myproject: 11

Я пытаюсь развернуть проект django с Nginx и Gunicorn с в этом уроке. я сделал все to-dos, но, когда я создаю /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

в чем проблема?? и как ее решить? tanx

1 ответов


вы получаете неправильный путь proxy_params 99% времени (по моему опыту), местоположение по умолчанию для и /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;

которые используются для пересылки информации в приложение, которое вы проксируете, я работал на старом сервере Centos, у которого не было файла proxy_params, вместо того, чтобы создавать его Сам, я просто включил эти параметры непосредственно, поэтому мой блок местоположения выглядел так

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

еще вы можете включить params непосредственно в блоке местоположения (Как я сделал выше)

или создайте его самостоятельно и поместите в /etc / nginx (если вы хотите придерживаться своего текущего кода)