nginx集羣報錯「upstream」directive is not allow here 錯誤php
搭建了一個服務器, 採用的是nginx + apache(多個) + php + mysql(兩個) 多個apache負載均衡及後端mysql讀寫分離的服務器. mysql
固然若是網站流量小的話 就徹底沒有必要了! 一是搭建起來麻煩,二也增長了維護成本! 當你網站流量達到必定級別不考慮也得考慮了.nginx
當設定好 upstream 以下:web
upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080; server unix:/tmp/backend3; }
執行命令:/usr/local/nginx/sbin/nginx -s reload 時 報錯以下:sql
[emerg]: "upstream" directive is not allowed here in /usr/local/nginx/conf/nginx.conf:52apache
後來檢查了一下原來是upstream backend 位置放錯了, upstream位置應該放在http模塊裏面 但必須是在server模塊的外面. 應該是下面這樣的結構:後端
http{ upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080; server unix:/tmp/backend3; } server { location / { proxy_pass http://backend; } } }
若是你配置的服務器也如相似的錯誤 不妨檢查你的upstream位置是否正確!服務器