Почему сайт не отображается когда я использую сокеты вместо портов в uwsgi?
Есть сайт mysite.ru. В конфигурации nginx:
upstream django{
server unix:///home/projects/mysite/mysite.sock;
}
server{
listen 80;
server_name mysite.ru;
charset utf-8;
client_max_body_size 75M;
location /media/{
alias /home/projects/mysite/media;
}
location /static/{
alias /home/projects/mysite/static;
}
location /{
uwsgi_pass django;
include /home/projects/mysite/uwsgi_params;
}
}
Выполняю команду nginx restart, всё работает.
Далее запускаю uwsgi:
1. uwsgi --http :8000 --module mysite.wsgi
При переходе по адресу mysite.ru:8000 вижу стартовую страницу django
2. uwsgi --socket mysite.sock --module mysite.wsgi --chmod-socket=666
Терминал ошибок не выводит, но при переходе на mysite.ru:8000, пишет что данные недоступны то бишь не работает
Если кто знает, что нужно сделать, чтобы "довязать" nginx django uwsgi, и чтобы при переходе на mysite.ru отображался сам сайт, а не Welcome to nginx, напишите пожалуйста что нужно сделать, заранее спасибо.
Не уверен, но
server unix:/tmp/
вроде 1 слэш в начале. Не пробовал 3, может конечно и с 3 работает.
А релоад nginx'a делали?
А uwsgi смотрели где создаёт сокет?
Вы уверены, что используется приведенная вами конфигурация? Даже если не запускать uwsgi вы должны получить 502 Bad Gateway. Возможно эта конфигурация не подключена – не добалена в sites-enabled например. Как вы nginx запускаете?
Мое предположение в том, что приведенная конфигурация nginx не используется, поэтому при заходе на / вы получаете стандартную страницу nginx. Процесс подключения конфигурации для *nix-подобной операционной системы может выглядеть так: в директории /etc/nginx/sites-enabled/ создайте файл mysite.conf, поместите в него конфигурацию nginx для вашего сайта (она уже есть в вашем вопросе).
Выполните sudo nginx restart и попробуйте снова зайти на /.
Теперь нужно убедиться, что файл /home/projects/mysite/mysite.sock и uwsgi запущен. Попробуйте использовать параметр --uwsgi-socket /home/projects/mysite/mysite.sock, вместо --socket. Посмотрите что пишет uwsgi в консоли после запуска и при выполнении запроса.
Вы должны видеть файл wsgi.py в директории mysite, mysite.wsgi - это путь к нему в формате питоновского оператора import. Таким образом вам нужно запускать uwsgi в той директории, где лежит папка mysite, в которой лежит файл wsgi.py, либо передайте параметром --python-path путь к этой директории и запускайте uwsgi откуда угодно.