278번째 줄:
278번째 줄:
네이티브로 설치하는 게 아니라 도커를 사용할 거라면 아래로 넘어가자.
네이티브로 설치하는 게 아니라 도커를 사용할 거라면 아래로 넘어가자.
+
+
단순 apt-get install redis로 설치해 5 이상의 버전이 되어도 작동한다.
|[http://id8436.iptime.org:8080/mediawiki/index.php/Radis Redis] 문서 참조.
|[http://id8436.iptime.org:8080/mediawiki/index.php/Radis Redis] 문서 참조.
|-
|-
343번째 줄:
345번째 줄:
await self.send(text_data=json.dumps({"message": message}))
await self.send(text_data=json.dumps({"message": message}))
</syntaxhighlight>
</syntaxhighlight>
+
+
= 서버에 반영 =
+
튜토리얼엔 나오지 않지만(공식문서 한참 뒤에 나온다..), 서버에 반영하게 되면 ws/ 경로에 대하여 새로운 설정을 해주어야 한다.(필자는 이걸 몰라서 이것저것 건드리다가 sql 날려먹었다.. 젠장)
+
+
일반적으로 WSGI 통신을 gunicorn으로 처리한다면, ASGI통신은 daphne으로 처리한다.(daphne에서도 wsgi통신이 가능하지만, 보안상 권장되진 않는다.)
+
{| class="wikitable"
+
!과정
+
!설명
+
!방법
+
|-
+
| 설치
+
|daphne은 channels를 설치하면 자동으로 설치가 된다.
+
|
+
|-
+
|확인
+
|실행 명령은 우측과 같다.(asgi의 경로를 지정해주면 된다.)
+
+
포트번호는 필요에 따라 지정하면 된다.
+
+
해당 포트로 접속해보면 사이트와 채팅이 잘 작동한다.
+
|<code>daphne -b 0.0.0.0 -p 8001 config.asgi:application</code>
+
|-
+
|서버에서 실행
+
|서비스를 위해선 백그라운드로 진행해주어야 한다.
+
|<code>nohup daphne -b 0.0.0.0 -p 8001 config.asgi:application &</code>
+
|-
+
|웹서버에 반영
+
|/static을 반영하듯, /ws로 시작되는 주소는 다핀으로 넘겨준다.
+
이후 관련 서비스들을 재시작하면 설정들이 반영된다.
+
+
채팅도 물론 성공적...!
+
|<syntaxhighlight lang="bash">
+
location /ws {
+
proxy_pass http://localhost:8001;
+
proxy_http_version 1.1;
+
proxy_set_header Upgrade $http_upgrade;
+
proxy_set_header Connection "upgrade";
+
}
+
</syntaxhighlight>
+
|}
+
,
+
+
웹소켓에서도 https 인증을 적용할 수 있다.([https://victorydntmd.tistory.com/265 추후에 반영해보자.])
= 마무리. 각 요소들이 어떤 역할을 하는지. =
= 마무리. 각 요소들이 어떤 역할을 하는지. =