nginx负载均衡配置错误记录

**

错误配置

**


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
	sendfile	on;
	tcp_nopush	on;
	tcp_nodelay	on; keepalive_timeout	65;
	types_hash_max_size 2048;
	
	
	proxy_buffers 240 4k;
	
	
	include	mime.types;
	default_type	application/octet-stream;
	
	upstream durl{
		server 192.167.120.17:8080;
		server 192.167.120.18:8080;
		server 192.167.120.19:8080;
		server 192.167.120.20:8080;
		server 192.167.120.21:8080;
		#若本机IP可用localhost,有时127.0.0.1无效
        ip_hash;
	}
	server {
		listen 0.0.0.0:80; 
		client_max_body_size 20M;

	location / {
		root   html;
		index  index.html index.htm;
	}
		
	
	location /api{
		proxy_set_header Host $host; 
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
		# 修改为后端程序的IP和端口号
		proxy_pass http://durl; 
		proxy_read_timeout	1800;
		}
	}
}


stream {
    upstream backend {
        hash $remote_addr consistent;
        server 127.1.0.1:12346;
        server 127.2.0.1:12347;
        server 127.4.0.1:12348;
    }
    server {
        listen 12345;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass http://backend;
    }
}

**

正确配置


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
	sendfile	on;
	tcp_nopush	on;
	tcp_nodelay	on; keepalive_timeout	65;
	types_hash_max_size 2048;
	
	
	proxy_buffers 240 4k;
	
	
	include	mime.types;
	default_type	application/octet-stream;
	
	upstream durl{
		server 192.167.120.17:8080;
		server 192.167.120.18:8080;
		server 192.167.120.19:8080;
		server 192.167.120.20:8080;
		server 192.167.120.21:8080;
		#若本机IP可用localhost,有时127.0.0.1无效
        ip_hash;
	}
	server {
		listen 0.0.0.0:80; 
		client_max_body_size 20M;

	location / {
		root   html;
		index  index.html index.htm;
	}
		
	
	location /api{
		proxy_set_header Host $host; 
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
		# 修改为后端程序的IP和端口号
		proxy_pass http://durl; 
		proxy_read_timeout	1800;
		}
	}
}


stream {
    upstream backend {
        hash $remote_addr consistent;
        server 127.1.0.1:12346;
        server 127.2.0.1:12347;
        server 127.4.0.1:12348;
    }
    server {
        listen 12345;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass backend;
    }
}

错误原因:在stream中配置proxy_pass的时候加了http:.//

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Nginx 是一款轻量级的 Web 服务器软件,它的性能非常出色,可以处理大量的并发请求。以下是 Nginx 的部署和配置步骤: 1. 下载 Nginx:可以到官网下载 Nginx 的源码包,也可以使用包管理器安装。 2. 安装 Nginx:如果使用源码包安装,解压后进入 Nginx 目录,执行以下命令: ``` ./configure make sudo make install ``` 如果使用包管理器安装,可以执行以下命令: ``` sudo apt-get update sudo apt-get install nginx ``` 3. 配置 NginxNginx配置文件位于 /etc/nginx/nginx.conf。可以通过修改配置文件来配置 Nginx。以下是一些常用的配置项: ``` http { server { listen 80; server_name example.com; location / { root /var/www/example.com; index index.html; } } } ``` 上面的配置项表示监听 80 端口,当访问 example.com 时,返回 /var/www/example.com 目录下的 index.html 文件。 4. 启动 Nginx:执行以下命令启动 Nginx: ``` sudo nginx ``` 如果成功启动,可以通过浏览器访问服务器的 IP 地址或域名,验证是否能够正常访问。也可以执行以下命令查看 Nginx状态: ``` sudo systemctl status nginx ``` 以上是 Nginx 的部署和配置步骤,具体的配置需要根据实际需求进行调整。 ### 回答2: Nginx是一款轻量级的高性能Web服务器和反向代理服务器,在部署和配置过程中,主要需要进行以下步骤: 1. 下载和安装Nginx:访问Nginx官方网站,下载适用于您的操作系统的Nginx安装包,并按照官方文档的指引进行安装。 2. 配置Nginx:默认情况下,Nginx配置文件位于"/etc/nginx/nginx.conf"。可以使用任何文本编辑器打开该文件,根据需求进行配置。 3. 配置虚拟主机:Nginx支持虚拟主机的配置,可以同时运行多个网站。在配置文件中,可以为每个虚拟主机设置独立的配置,包括域名、端口等信息。 4. 配置反向代理:Nginx的反向代理功能非常强大,可以将客户端的请求转发给后端服务器处理。在配置文件中,需要设置反向代理的目标服务器IP和端口。 5. 配置HTTPS:如果需要使用HTTPS协议进行安全连接,可以在配置文件中添加SSL证书的相关配置,并将HTTP请求转发到HTTPS端口。 6. 优化性能:为了提高Nginx的性能,可以进行一些优化措施,例如调整worker进程数量、设置缓存等。 7. 重载配置:在完成配置文件的修改后,使用命令"nginx -s reload"重载配置文件,以使修改生效。 8. 监控和日志记录Nginx提供了丰富的监控和日志记录功能,可以通过配置文件设置相关选项,包括访问日志、错误日志等。 总的来说,Nginx的部署和配置相对简单,但需要根据实际需求进行相应的调整。熟练掌握Nginx配置语法和配置选项,可以帮助提高服务器的性能和安全性。 ### 回答3: Nginx是一个高性能的Web服务器和反向代理服务器,常用于搭建网站和提供静态资源服务。以下是Nginx的部署和配置过程: 1. 下载和安装Nginx:首先,需要从Nginx官方网站下载适合操作系统的安装包。然后解压安装包,将Nginx文件夹移动到指定位置。 2. 配置NginxNginx配置文件位于安装目录的`/etc/nginx/nginx.conf`。打开配置文件,可以根据需求进行修改。 3. 配置基本设置:在配置文件中,可以设置Nginx监听的端口,默认是80端口。还可以设置后台进程的运行用户和运行模式。 4. 配置虚拟主机:在配置文件中添加虚拟主机的配置块,可以实现多域名和多站点的支持。配置块包含域名、根目录和其他需要的参数。 5. 配置反向代理:如果需要使用Nginx作为反向代理服务器,可以在配置文件中添加`proxy_pass`指令,将请求转发到后端服务器上。 6. 配置负载均衡:如果需要实现负载均衡,可以使用`upstream`指令定义后端服务器的IP和端口,并在反向代理配置中使用该`upstream`。 7. 配置缓存和压缩:为了提高性能,可以将静态资源进行缓存和压缩。在配置文件中添加`proxy_cache`和`gzip`指令,启用缓存和压缩功能。 8. 重启Nginx:完成配置后,使用命令行执行`nginx -t`检查配置文件语法是否正确,然后再执行`nginx -s reload`重启Nginx服务。 9. 监控和调试:Nginx提供了丰富的监控指令和日志文件,可以通过查看日志定位问题并进行调试。可以使用命令行执行`tail -f /var/log/nginx/access.log`实时查看访问日志。 以上是Nginx的部署和配置过程。根据具体需求,可以根据配置文件中的不同参数进行灵活调整。Nginx具有高性能和可靠性,适用于大多数Web应用程序的部署。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值