nginx学习

nginx web通信服务软件 基于http协议通信,tcp协议连接

反向代理,并发

软件的启动与关闭:
	systemctl start nginx 启动软件
	systemctl restart nginx 重启软件
	systemctl stop nginx 关闭软件

查看软件状态
	systemctl status nginx

重新加载软件
	systemctl reload nginx
	
关闭防火墙
	systemctl stop firewalld
	systemctl disable firewalld 开机也不启动防火墙
	
安装
	yum -y install epel-release 安装扩展包源

	yum -y install nginx
	
写配置文件
	打开配置文件:vim /etc/nginx/nginx.conf
	user 用户
	worker_processes 工作进程,默认是auto
	error_log 错误日志路径
	pid pid文件路径
	
	include nginx模块相关的配置文件
	
	events {      代表事件
		worker_connections 1024; 工作连接数目,代表一个进程中开启多少个线程
	}
	
	http {
		#日志格式
		log_format main  .......
		
		access_log /var/log/nginx/access.log main  记录访问日志 格式按照上面日志格式来写
		include 包含的配置文件
		server {  服务******
			listen 80 default_server; 监听的端口
			root /user/share/nginx/html web服务的根目录;在该目录下建立index.html文件
			
			location / {   # / 代表统一资源定位符 url地址  uri 代表统一文件标识符
				写配置文件,没有文件,读外部全局的配置
				root /var/www/html;  #参照上部写配置文件,注意结尾的分号
				index index.html index.htm index.* 指定默认资源
			}
			error_log 
		}	
	}
	
	
正反向代理,负载均衡

	nginx 做的就是反向代理,把自己暴露给请求用户,然后交给身后的web服务器去处理请求。

	正向代理:
		知道自己想要访问的地址,访问明确!不管中间怎么处理都会走到这个明确的地址
	反向代理:
		不明确具体请求,只要要求告诉代理,代理去做处理,然后把信息返回。
		
	有三种负载均衡的调用方法
		1、轮询 从头到尾轮一遍 默认方式
		
		在http中配置
		http { #http配置的位置
			
			# 配置信息
			upstream myapp1 {  创建组,自定义组名
				server srv1.example.com;  web服务器的IP地址
				server srv2.example.com;
				server srv3.example.com;
			}

			server {
				listen 80;
				# 配置轮询监听的location
				location / {
					proxy_pass http://myapp1; # 指定反向代理是自己的组名
				}
			}
		}
		
		通过访问代理IP就能间接的访问web服务器的页面
		
		也可以对某台web服务器通过权重,进行加权操作。在server 定义的一个服务器后边加上一个 weight = 数字;以表示多大的权重。
		
		upstream myapp1 {  创建组,自定义组名
			server srv1.example.com;  web服务器的IP地址
			server srv2.example.com wight=3; 加权访问
			server srv3.example.com;
		}
		
		2、最小链接调度  哪台连接处理的少就交给谁处理
		
		在http中配置,在upstream 配置访问组中加上一条属性 least_conn 即可。
		upstream myapp1 {
			least_conn;
			server srv1.example.com;
			server srv2.example.com;
			server srv3.example.com;
		}
		
		server {
			listen 80;
			# 配置监听的location
			location / {
				proxy_pass http://myapp1; # 指定反向代理是自己的组名
			}
		}
		
		3、ip-hash 基于ip地址进行判断,常用于http请求回话保持操作
			
		在http中配置,在upstream 配置访问组中加上一条属性 ip-hash即可。
		http { #http配置的位置
			
			# 配置信息
			upstream myapp1 {  创建组,自定义组名
				ip-hash
				server srv1.example.com;  web服务器的IP地址
				server srv2.example.com;
				server srv3.example.com;
			}

			server {
				listen 80;
				# 配置监听的location
				location / {
					proxy_pass http://myapp1; # 指定反向代理是自己的组名
				}
			}
		}

 

posted @ 2017-10-01 21:48  细雨蓝枫  阅读(84)  评论(0编辑  收藏  举报