I have successfully deployed django1.6 with uwsgi and nginx on RHEL6
but I cannot seem to get it working on RHEL7.
I get Internal Server Error in the browser, and this in the uwsgi log:
--- no python application found, check your startup logs for errors ---
[pid: 10582|app: -1|req: -1/2] xx.xx.xx.xx () {46 vars in 803 bytes}
[Mon Jun 6 11:58:50 2016] GET /favicon.ico => generated 21 bytes in 0
msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 0)
I have tried everything I can think of. Where am I going wrong here?
Here are my files:
nginx config:
upstream django {
server unix:///projects/elucid/elucid.sock; # for a file socket
}
# configuration of the server
server {
# the port your site will be served on
listen 9004;
# the domain name it will serve for
server_name
foo.bar.com;
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
# Django media
location /media {
alias /projects/elucid/elucid/media;
}
location /static {
alias /projects/elucid/static;
}
# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include /projects/elucid/elucid/uwsgi_params;
}
}
/etc/uwsgi/sites/elucid_uwsgi.ini:
# mysite_uwsgi.ini file
[uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /projects/elucid
# Django's wsgi file
module = elucid.wsgi
# the virtualenv (full path)
# home = /
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 10
# the socket (use the full path to be safe
socket = /projects/elucid/elucid.sock
# ... with appropriate permissions - may be needed
chmod-socket = 666
# clear environment on exit
vacuum = true
logto = /var/log/uwsgi/error.log
/etc/systemd/system/uwsgi.service:
[Unit]
Description=uWSGI Emperor service
[Service]
ExecStartPre=/usr/bin/bash -c 'mkdir -p /run/uwsgi; chown nginx /run/uwsgi'
ExecStart=/usr/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all
[Install]
WantedBy=multi-user.target
wsgi.py:
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "elucid.settings")
application = get_wsgi_application()