server {
listen 80;
server_name 13.209.53.205;
charset utf-8;
client_max_body_size 128M;
location / {
proxy_pass http://0.0.0.0:8000;
}
location /ws {
proxy_pass http://0.0.0.0:8001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
location /static/ {
root /home/ubuntu/chat_env/django_chat_exam/;
}
}
[Unit]
Description=daphne Emperor service
After=syslog.target
[Service]
User=root
Group=root
WorkingDirectory=/home/ubuntu/chat_env/django_chat_exam/
Environment=DJANGO_SETTINGS_MODULE=chat_ex.settings
ExecStart=/home/ubuntu/chat_env/bin/daphne -b 0.0.0.0 -p 8001 chat_ex.asgi:application --access-log /var/log/daphne/daphne.log
# KillSignal=SIGQUIT
# Type=notify
# StandardError=syslog
# NotifyAccess=all
# Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo apt-get install redis-server
sudo nano /etc/redis/redis.conf
sudo systemctl restart redis-server.service
sudo systemctl enable redis-server.service
server {
listen 80;
server_name 13.209.53.205;
charset utf-8;
client_max_body_size 128M;
location / {
proxy_pass http://0.0.0.0:8000;
}
location /ws {
proxy_pass http://daphne-server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
location /static/ {
root /home/ubuntu/chat_env/django_chat_exam/;
}
}
# load balancing - round robin
upstream daphne-server{
server 13.209.53.205:8002;
server 13.209.53.205:8003;
server 13.209.53.205:8004;
}
- 기존에 만들었던 방식과 똑같이 daphne1.service, daphne2.service, daphne3.service 를 만들고
nginx에서 round robin 방식으로 처리
- 각각 다 enable, start 해줄것