Nginx upstream能否跨機房?
PHP中文网
PHP中文网 2017-05-16 17:27:09
0
2
729

如題,Nginx Upstream的配置能否跨機房設定為外網IP。
親測是可以的,但是不知道實際環境會有什麼問題。
Nginx upsteam做前端代理的時候是長連接,可能會因為網路不好什麼的出問題。
請問有這方面使用或經驗的同學可以回答下麼?

PHP中文网
PHP中文网

认证0级讲师

全部回覆 (2)
淡淡烟草味

我的網站是跨機房的,一台nginx做反向代理,真正的web伺服器在另外一個機房

做反向代理的nginx配置大概是這樣:

upstream real.sites { server 123.123.123.123; // 用keepalive保存长连接,降低频繁创建连接的开销 keepalive 16; } proxy_cache_path /path/to/cache levels=1:2 keys_zone=static_cache:100m; server { server_name www.example.com; // 把真正的IP地址放到header的X-Forwarded-For里面 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_next_upstream http_503; // 把静态资源缓存起来,减少服务器间数据传输 location ~ \.(css|js|jpg|png|gif|ico)$ { proxy_cache static_cache; proxy_pass http://real.sites; } location / { proxy_pass http://real.sites; } }

這種部署方式受機房間網路品質的影響比較大,如果機房網路給力就妥妥的,nginx本身倒沒有製造過什麼麻煩。

其實varnish應該比nginx更適合做這個,奈何我不熟悉varnish,乾脆就用nginx搞了。

    巴扎黑

    妥妥的。

      最新下載
      更多>
      網站特效
      網站源碼
      網站素材
      前端模板
      關於我們 免責聲明 Sitemap
      PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!