Я следовал этому руководству, и это для развертывания моего django с guniconrn и apache.
Но я не совсем понимаю, что в этом руководстве говорит:
] (В дополнение к вышесказанному по-прежнему необходимо указать псевдоним, а также для статических и мультимедийных файлов.)Но в любом случае это все моя конфигурация. Приложение django находится в /var/www/html/django-project/helloapp
/etc/systemd/system/gunicorn.service:
[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target
[Service]
PIDFile=/run/gunicorn/pid
User=lau
Group=lau
RuntimeDirectory=gunicorn
WorkingDirectory=/var/www/html/django-project/helloapp
ExecStart=/usr/bin/gunicorn --pid /run/gunicorn/pid \
--bind unix:/run/gunicorn/socket helloapp.wsgi
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
/etc/systemd/system/gunicorn.socket:
[Unit]
Description=gunicorn socket
[Socket]
ListenStream=/run/gunicorn/socket
[Install]
WantedBy=sockets.target
/etc/tmpfiles.d/gunicorn.conf:
d /run/gunicorn 0755 lau www-data -
/etc/apache2/apache2.conf:
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
/ etc / apache2 / sites-available / 000-default.conf:
ProxyPass /static/ !
ProxyPass /media/ !
ProxyPass / http://localhost:8000/
/etc/apache2/ports.conf:
Listen 80
Listen 8000
После перезагрузки моего apache я получаю 403 на http://127.0.0.1/ или this
Forbidden
You don't have permission to access / on this server.
Apache/2.4.25 (Ubuntu) Server at localhost Port 8000
Любые идеи?
Я на Ubuntu 17.04
EDIT :
Я вижу, что некоторые процессы python работают, но не уверены, что они верны или нет:
$ ps -wef | grep python
root 2418 1 0 06:16 ? 00:00:00 /usr/bin/python3 /usr/share/apt-xapian-index/update-apt-xapian-index-dbus
lau 25488 28678 0 23:49 pts/2 00:00:00 grep --color=auto python
lau 30605 1 0 18:30 ? 00:00:02 /var/www/html/django-project/helloapp/env/bin/python /var/www/html/django-project/helloapp/env/bin/gunicorn --workers 3 --bind unix:/var/www/html/django-project/helloapp.sock helloapp.wsgi:application
lau 30609 30605 0 18:30 ? 00:00:00 /var/www/html/django-project/helloapp/env/bin/python /var/www/html/django-project/helloapp/env/bin/gunicorn --workers 3 --bind unix:/var/www/html/django-project/helloapp.sock helloapp.wsgi:application
lau 30610 30605 0 18:30 ? 00:00:00 /var/www/html/django-project/helloapp/env/bin/python /var/www/html/django-project/helloapp/env/bin/gunicorn --workers 3 --bind unix:/var/www/html/django-project/helloapp.sock helloapp.wsgi:application
lau 30612 30605 0 18:30 ? 00:00:00 /var/www/html/django-project/helloapp/env/bin/python /var/www/html/django-project/helloapp/env/bin/gunicorn --workers 3 --bind unix:/var/www/html/django-project/helloapp.sock helloapp.wsgi:application
Я знаю, что это древний вопрос, и OP, возможно, решила проблему, но, насколько я вижу, вы запустили Gunicorn на порту 8000, и сказанный apache прослушивал тот же порт. Поскольку два приложения прослушиваются на одном и том же порту, это, вероятно, создает конфликт. Судя по результатам ваших процессов, стрельба уже запущена. Этого достаточно, чтобы удалить Listen 8000 из файла конфигурации apache и снова перезапустить apache. Это должно решить проблему.
Я знаю, что это древний вопрос, и OP, возможно, решила проблему, но, насколько я вижу, вы запустили Gunicorn на порту 8000, и сказанный apache прослушивал тот же порт. Поскольку два приложения прослушиваются на одном и том же порту, это, вероятно, создает конфликт. Судя по результатам ваших процессов, стрельба уже запущена. Этого достаточно, чтобы удалить Listen 8000 из файла конфигурации apache и снова перезапустить apache. Это должно решить проблему.