Я пытаюсь запустить несколько панелей, написанных на Django, для запуска на моем сервере, но не запускаю их. Следовал этому цифровому учебнику по океану и изменил его в соответствии с этим SO ответом . Теперь все запущено и работает, но когда я указываю на мой URL, он показывает страницу приветствия Nginx http://ipaddr/first_dashboard
Ниже приведен файл gunicorn_fdab.socket
:
[Unit]
Description=gunicorn socket
[Socket]
ListenStream=/run/gunicorn_fdab.sock
[Install]
WantedBy=sockets.target
Ниже gunicorn_fdab.service
файл:
[Unit]
Description=gunicorn daemon for fdab
Requires= gunicorn_fdab.socket
After=network.target
[Service]
User=root
Group=root
WorkingDirectory=/opt/fdab
ExecStart=/opt/anaconda/envs/fdab/bin/gunicorn \
--access-logfile - \
--workers 3 \
--bind unix:/run/gunicorn_fdab.sock \
fdab.wsgi:application
[Install]
WantedBy=multi-user.target
Теперь это мой файл конфигурации Nginx:
server {
listen 80;
server_name 111.11.11.111;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /opt/fdab/fdab;
}
location /fdab {
include proxy_params;
rewrite /fdab(.*) $1;
proxy_pass http://unix:/run/gunicorn_fdab.sock;
}
}
Я не могу понять, где я делаю это неправильно.
Если я делаю curl --unix-socket /run/gunicorn_fdab.sock localhost
, он просто ничего не возвращает.
(base) root@virtualserver01:~# curl --unix-socket /run/gunicorn_fdab.sock localhost
(base) root@virtualserver01:~#
Проект хранится в /opt/fdab
.
Дополнительная информация:
По сути, моя структура проекта для обоих проектов выглядит следующим образом:
/opt/fdab
/fdab
/fdab_dashboard
/opt/pdab
/pdab
/pdab_dashboard
Структура проекта такая, потому что я собираюсь иметь несколько приложений в fbad и fdab2 (имя второго проекта.
EDIT
Обновлен файл настроек для Nginx:
server {
listen 80;
server_name 111.11.11.111;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /opt/fdab/fdab;
}
location /fdab {
include proxy_params;
rewrite /fdab/(.*) /$1 break;
proxy_pass http://unix:/run/gunicorn_fbad.sock;
}
location /pdab/static/ {
alias /opt/pdab/pdab/static/;
}
location /pdab {
include proxy_params;
rewrite /pdab/(.*) /$1 break;
proxy_pass http://unix:/run/gunicorn_pdab.sock;
}
}
Теперь я добавил FORCE_SCRIPT_NAME = '/exampleproject'
в оба проекта.
Теперь происходит то, что, если я набираю, http://<ipaddr>/fdab/fdab_dashboard
работает нормально, но если я набираю http://<ipaddr>/fdab/
или http://<ipaddr>/pdab/
, меня перенаправляют на http://<ipaddr>/fdab_dashboard
и http://<ipaddr>/pdab_dashboard
, это не то, что требуется, и более того, http://<ipaddr>/fdab_dashboard
, кажется, работает правильно. Но часть URL fdab
отсутствует, как только я вхожу в приложение после входа в систему, URL кажется нормальным, возможно, из-за FORCE_SCRIPT_NAME = '/fdab'
, но URL http://<ipaddr>/pdab_dashboard
дает мне страницу 404 error
.