Не удается развернуть два разных веб-сайта на одном сервере ubuntu с помощью nginx
У меня есть два разных сайта django, которые я хочу развернуть на моем linux-сервере с двумя разными доменами, но они не работают. Только один из двух сайтов работает (первый сайт). Когда я перехожу по url второго домена, он указывает на приложение первого сайта (оба домена указывают на сервер корректно)
Первый веб-сайт:
- имя папки = mysite
- имя домена = www.firstwebsite.com
Второй сайт:
- имя папки = mysite2
- имя домена = www.secondwebsite.com
sudo vim /etc/systemd/system/gunicorn.socket
[Unit]
Description=gunicorn socket
[Socket]
ListenStream=/run/gunicorn.sock
Environment="PATH=/usr/bin:/home/tiber/mysite/env/bin"
[Install]
WantedBy=sockets.target
sudo vim /etc/systemd/system/gunicorn.service
[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target
[Service]
User=tiber
Group=www-data
WorkingDirectory=/home/tiber/mysite
ExecStart=/home/tiber/mysite/env/bin/gunicorn \
--access-logfile - \
--workers 3 \
--bind unix:/run/gunicorn.sock \
mysite.wsgi:application
[Install]
WantedBy=multi-user.target
У меня для каждого проекта свой файл конфига, поэтому первый проект /etc/nginx/sites-available/mysite
, а второй
/etc/nginx/sites-available/mysite2
Вот конфиг второго проекта, потому что именно он не работает должным образом
server {
listen 80;
server_name www.secondwebsite.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /var/www/mysite2;
}
location /media/ {
root /var/www/mysite2;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}
Вам нужно использовать разные пары файлов сокетов и сервисов для каждого сервера django.
Переименуйте каждый из них, например, gunicorn@first.socket
, gunicorn@first.service
,
Затем в файле сокетов измените ListenStream=/run/gunicorn@first.sock
, в файле сервисов измените --bind unix:/run/gunicorn@first.sock
и, наконец, в nginx используйте http://unix:/run/gunicorn@first.sock