Nginx部署

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强。可以做为EasySwoole的前置服务器,实现负载均衡等。

http代理

  1. # 配置EasySwoole节点 至少需要一个
  2. upstream easyswoole {
  3. server 127.0.0.1:9501;
  4. server 127.0.0.1:9502;
  5. server 127.0.0.1:9503;
  6. }
  7. server {
  8. # nginx所监听端口
  9. listen 80;
  10. # 域名
  11. server_name proxy.easyswoole.com;
  12. location / {
  13. # 将客户端host及ip信息转发到对应节点
  14. proxy_set_header Host $http_host;
  15. proxy_set_header X-Real-IP $remote_addr;
  16. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  17. # 转发Cookie,设置 SameSite
  18. proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
  19. # 代理访问真实服务器
  20. proxy_pass http://easyswoole;
  21. }
  22. }

websocket代理

  1. # 配置EasySwoole节点 至少需要一个
  2. upstream easyswoole {
  3. # 将负载均衡模式设置为IP hash,作用:不同的客户端每次请求都会与同一节点进行交互。
  4. ip_hash;
  5. server 127.0.0.1:9501;
  6. server 127.0.0.1:9502;
  7. server 127.0.0.1:9503;
  8. }
  9. server {
  10. listen 80;
  11. server_name websocket.easyswoole.com;
  12. location / {
  13. # websocket的header
  14. proxy_http_version 1.1;
  15. # 升级http1.1到websocket协议
  16. proxy_set_header Upgrade websocket;
  17. proxy_set_header Connection "Upgrade";
  18. # 将客户端host及ip信息转发到对应节点
  19. proxy_set_header X-Real-IP $remote_addr;
  20. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  21. proxy_set_header Host $http_host;
  22. # 客户端与服务端60s之内无交互,将自动断开连接。
  23. proxy_read_timeout 60s ;
  24. # 代理访问真实服务器
  25. proxy_pass http://easyswoole;
  26. }
  27. }