Ich habe versucht, dieses Problem drei Tage ohne Lösung zu lösen. Jetzt bin ich bei meiner Arbeit unter Druck und brauche deine Hilfe.Bereitstellen von Django-App mit Nginx und uwsgi, Client kann keine Verbindung zum Server
Ich weiß, dass Nginx ist zu korrekten Port '20154' mit Netstat zu hören, auch ich habe den Befehl nginx -t und es ist ok. Die Protokolle haben keinen Fehler, da der Client den Server nicht erreichen kann.
Vielleicht ist das Problem mit uwsgi.init Ich weiß nicht, so dass ich hier meine cons Dateien und uwsgi init-Dateien
Ich hoffe, dass dieses Problem mit Ihrer Hilfe lösen kann, und dies mehr lernen zu lösen.
nginx.conf Datei:
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 aktivierten Seiten
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
auf der Erde Warum Sie machen nginx auf Port hören 20154? Es sollte auf 80 und auf 443 für SSL hören. – e4c5
Nginx ist eine ** öffentlich zugängliche Server-Software **, da jemand, der versucht, auf Ihre Dienste zuzugreifen, die auf Ihrem Server laufen, über Nginx läuft. Wie e4c5 gefragt hat, WARUM wolltest du, dass Nginx einen internen lokalen Port des Dienstes hört? Das vereitelt den ganzen Zweck von Nginx, nicht wahr? – Rexford
Bitte nehmen Sie sich Zeit und lesen Sie diese, Sie können einige hilfreiche Tipps finden: https://www.digitalcean.com/community/tutorials/how-to-serve-django-applications-with-uwsgi-and-nginx-on- ubuntu-14-04 – Rexford