Nginx集群报错“upstream”directive is not allow here错误

在搭建Nginx+Apache+PHP+MySQL的服务器集群时,遇到'upstream'指令错误。错误信息为'[emerg]: "upstream" directive is not allowed here'。解决方法是确认'upstream'配置应位于http模块内,但需在server模块之外。检查并修正配置文件的位置即可避免此类错误。
摘要由CSDN通过智能技术生成

原文地址:https://www.iyunv.com/thread-406-1-1.html

nginx集群报错“upstream”directive is not allow here 错误

搭建了一个服务器, 采用的是nginx + apache(多个) + php + mysql(两个) 多个apache负载均衡及后端mysql读写分离的服务器.  

当然如果网站流量小的话 就完全没有必要了! 一是搭建起来麻烦,二也增加了维护成本! 当你网站流量达到一定级别不考虑也得考虑了.

当设定好 upstream 如下:

upstream backend  {  server backend1.example.com weight=5;  server backend2.example.com:8080;  server unix:/tmp/backend3;}

执行命令:/usr/local/nginx/sbin/nginx -s reload 时 报错如下:

[emerg]: "upstream" directive is not allowed here in /usr/local/nginx/conf/nginx.conf:52

后来检查了一下原来是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位置是否正确!


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值