Я пытаюсь развернуть простой проект Django, но все время терплю неудачу. Я следую инструкциям здесь а>.
Когда я использую python manage.py runserver 0.0.0.0:8000
, я вижу, что мой сайт работает:
В virtualenv я установил uWSGI:
pip install uwsgi
и написал test.py
:
# test.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"] # python3
#return ["Hello World"] # python2
При запуске uwsgi --http :8000 --wsgi-file test.py
я вижу
Затем я установил и запустил Nginx:
sudo apt-get install nginx
sudo /etc/init.d/nginx start
я вижу
а потом написал mysite_nginx.conf
:
upstream django {
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}
# configuration of the server
server {
# the port your site will be served on
listen 8000;
# the domain name it will serve for
server_name 10.211.55.21; # substitute your machine's IP address or FQDN
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
# Django media
#location /media {
# alias /path/to/your/mysite/media; # your Django project's media files - amend as required
#}
#location /static {
# alias /path/to/your/mysite/static; # your Django project's static files - amend as required
#}
# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include /home/parallels/books/mysite/uwsgi_params; # the uwsgi_params file you installed
}
}
потому что это всего лишь простой сайт, я закомментировал медиа и статические пути и uwsgi_params
:
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $scheme;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
каталог:
и запустите:
sudo ln -s ~/home/parallels/books/mysite/mysite_nginx.conf
/etc/nginx/sites-enabled/
Я вижу mysite_nginx.conf
внутри /etc/nginx/sites-enabled/
:
а затем запустите:
sudo /etc/init.d/nginx restart
uwsgi --socket :8001 --wsgi-file test.py
Я ничего не вижу в своем веб-браузере:
Я не знаю, почему всякий раз, когда я пытаюсь развернуть сайт Django, часть сокета дает сбой.