Nginx·´ÏòÊðÀíWebsocketÉèÖý̳̣¬ÊµÏÖʵʱͨѶ
nginx·´ÏòÊðÀíwebsocketÉèÖý̳̣¬ÊµÏÖʵʱͨѶ
Websocket ÊÇÒ»ÖÖ»ùÓÚ³¤ÅþÁ¬µÄÐÒ飬¿ÉÒÔʵÏÖʵʱͨѶ£¬ÍŽá Nginx ·´ÏòÊðÀíµÄ¹¦Ð§£¬¿ÉÒÔ¸üºÃµØÖÎÀíºÍ·Ö·¢ Websocket ÇëÇó¡£±¾ÎĽ«ÏÈÈÝÔõÑùÉèÖà Nginx ·´ÏòÊðÀíÀ´ÊµÏÖ Websocket ʵʱͨѶ¡£
È·ÈÏ Nginx ÒÑ×°ÖÃ
Ê×ÏÈ£¬È·±£ÒѾÔÚЧÀÍÆ÷ÉÏ×°ÖÃÁË Nginx¡£ÈôÊÇûÓÐ×°Ö㬿ÉÒÔʹÓÃÒÔÏÂÏÂÁî×°Öãº
sudo apt-get update sudo apt-get install nginx
µÇ¼ºó¸´ÖÆ
ÐÞ¸Ä Nginx ÉèÖÃÎļþ
ʹÓÃÎı¾±à¼Æ÷·¿ª Nginx µÄÉèÖÃÎļþ£¬Ò»Ñùƽ³£Î»ÓÚ /etc/nginx/nginx.conf »ò /etc/nginx/conf.d/default.conf¡£Æ¾Ö¤ÏÂÃæµÄʾÀý¾ÙÐÐÐ޸ģº
server { listen 80; server_name yourdomain.com; location /websocket { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } }
µÇ¼ºó¸´ÖÆ
ÔÚÉÏÊöÉèÖÃÖУ¬ÎÒÃǽç˵ÁËÒ»¸öÃûΪ websocket µÄλÖã¨location£©£¬²¢½«ÇëÇóÊðÀíµ½ÃûΪ backend µÄºó¶ËЧÀÍÆ÷¡£×¢ÖØ yourdomain.com ºÍ backend Ó¦¸ÃÌ滻ΪÄã×Ô¼ºµÄÓòÃûºÍºó¶ËЧÀÍÆ÷µØµã¡£
±ðµÄ£¬ÎÒÃÇ»¹ÉèÖÃÁËÁ½¸öÊðÀíÇëÇóÍ· Upgrade ºÍ Connection£¬ÕâÊÇΪÁËʹ Nginx Äܹ»×¼È·´¦Àí Websocket ÅþÁ¬¡£
ÖØÆô Nginx
Íê³ÉÉèÖÃÎļþµÄÐ޸ĺó£¬ÉúÑIJ¢Í˳öÎı¾±à¼Æ÷¡£È»ºóʹÓÃÒÔÏÂÏÂÁîÖØÆô Nginx£º
sudo service nginx restart
µÇ¼ºó¸´ÖÆ
²âÊÔWebsocketÅþÁ¬
ÏÖÔÚÄã¿ÉÒÔʹÓÃÈκÎÖ§³Ö Websocket ÐÒéµÄ¿Í»§¶ËÓ¦ÓóÌÐò£¨Èçä¯ÀÀÆ÷»òÖն˹¤¾ß£©À´²âÊÔÄãµÄ Websocket ЧÀÍÆ÷¡£¼ÙÉèÄãµÄÓòÃûÊÇ yourdomain.com£¬Ê¹ÓÃÒÔÏ´úÂë¾ÙÐвâÊÔ£º
const socket = new WebSocket('ws://yourdomain.com/websocket'); socket.onopen = () => { console.log('ÅþÁ¬Òѽ¨Éè'); }; socket.onmessage = (event) => { console.log('ÊÕµ½ÐÂÎÅ:', event.data); }; socket.onclose = () => { console.log('ÅþÁ¬ÒѹرÕ'); }; socket.onerror = (error) => { console.error('±¬·¢¹ýʧ:', error); };
µÇ¼ºó¸´ÖÆ
½«ÉÏÊö´úÂëÕ³Ìùµ½Ò»¸öÖ§³Ö JavaScript µÄÇéÐÎÖÐÔËÐУ¬Èçä¯ÀÀÆ÷µÄ¿ª·¢Õß¹¤¾ß¿ØÖÆ̨£¬»òʹÓà Node.js ÔËÐС£ÈôÊÇÄãÄÜ¿´µ½ÅþÁ¬Òѽ¨ÉèµÄÈÕÖ¾£¬ËµÃ÷ÄãµÄ Nginx ÉèÖÃºÍ Websocket ЧÀÍÆ÷¶¼Õý³£ÊÂÇé¡£
×ܽá
ͨ¹ý Nginx ·´ÏòÊðÀíµÄÉèÖã¬ÎÒÃÇ¿ÉÒÔ½« Websocket ÇëÇóÊðÀíµ½ºó¶ËЧÀÍÆ÷£¬´Ó¶øʵÏÖʵʱͨѶµÄ¹¦Ð§¡£±¾ÎÄÏÈÈÝÁËÔõÑùÉèÖà Nginx£¬È»ºóʹÓà JavaScript ´úÂë¶Ô Websocket ÅþÁ¬¾ÙÐвâÊÔ¡£Ï£ÍûÕâƪÎÄÕ¶ÔÄãÃ÷È·ºÍÓ¦Óà Nginx ·´ÏòÊðÀí Websocket ÓÐËù×ÊÖú¡£
ÒÔÉϾÍÊÇNginx·´ÏòÊðÀíWebsocketÉèÖý̳̣¬ÊµÏÖʵʱͨѶµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡