Я пытался решить эту проблему три целых дня без решения. Теперь я испытываю давление в своей работе, и мне действительно нужна ваша помощь.Развертывание приложения django с nginx и uwsgi, клиент не может подключиться к серверу
Я знаю, что nginx прослушивает правильный порт «20154», используя netstat, также я запустил команду nginx -t и ее ок. Журналы не имеют ошибки, потому что клиент не может связаться с сервером.
Может быть, проблема с uwsgi.init я не знаю, поэтому я ставлю здесь свои минусы файлы и uwsgi файлы инициализации
Я надеюсь, что может решить эту проблему с вашей помощью и решить эту проблему узнать больше.
nginx.conf файл:
user user;
worker_processes 1;
pid /var/run/nginx.pid;
events {
worker_connections 768;
multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
##
#include /etc/nginx/naxsi_core.rules;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Nginx включен сайты
upstream django {
server unix:///home/ctag/env_Compass4D/Compass4D/Compass4D.sock; # for a file socket
}
server {
listen 20154;
location /assets/ {
root /home/ctag/env_Compass4D/Compass4D/;
}
location /doc/ {
alias /usr/share/doc/;
#alias /home/ctag/Compass4D/env_Compass4D/Compass4D
autoindex on;
#allow 127.0.0.1;
}
location/{
#uwsgi_pass unix:/home/ctag/env_Compass4D/Compass4D/Compass4D.sock;
proxy_pass http://unix:/home/ctag/env_Compass4D/Compass4D/Compass4D.sock;
#proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
uwsgi_pass django;
include /etc/nginx/uwsgi_params; # the uwsgi_params file you installed
}
location /Compass4D {
root /home/ctag/env_Compass4D/Compass4D/;
}
uwsgi.init
# Compass4D_uwsgi.ini file
[uwsgi]
# Configuraciones Django
# ruta al directorio del proyecto (ruta completa)
chdir = /home/ctag/env_Compass4D/Compass4D/
# Archivo wsgi de Django
module = Compass4D.wsgi
# master
master = true
# numero de procesos (trabajadores)
processes = 5
# Ruta al socket
socket = /home/ctag/env_Compass4D/Compass4D/Compass4D.sock
# Permisos del socket
chmod-socket = 666
# Loggeo para detectar fallo al startup
#logto = /tmp/errlog
# Al cerrar limpiar el ambiente
vacuum = true
Почему на земле вы делаете Nginx слушать порт 20154? он должен слушать 80 и 443 для SSL – e4c5
Nginx - это ** общедоступный сервер ** программное обеспечение, как и в случае с кем-то, пытающимся получить доступ к вашим службам, работающим внутри вашего сервера, будет проходить через Nginx. Как спросил e4c5, ПОЧЕМУ на земле вы хотите, чтобы Nginx прослушивал локальный порт внутренней службы? Это побеждает всю цель Nginx, не так ли? – Rexford