Nginx

#安装依赖并编译安装 Nginx

 yum install -y pcre pcre-devel openssl openssl-devel
 wget -q http://nginx.org/download/nginx-1.6.3.tar.gz 
 tar -zxvf nginx-1.6.3.tar.gz 
  cd nginx-1.6.3
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx-1.6.3 --with-http_stub_status_module --with-http_ssl_module
make && make install
ln -s  /usr/local/nginx-1.6.3/sbin/nginx /usr/local/sbin/nginx

反向代理指令

指令说明
proxy_pass代理 IP
proxy_set_header将客户端请求发送到服务器钱更改客户端请求头信息
proxy_connect_timeout配置 Nginx 与后端服务器尝试建立连接的超时时间
proxy_read_timeout配置 Nginx 向后端服务器发出 read 请求后,等待翔云的超时时间
proxy_redirect用于修改后端服务器返回投中的Location 和 Refresh
#假设本机IP 192.168.0.20 ,hosts 配置域名proxy.server1 192.168.0.20 proxy.server2 192.168.0.20
#nginx.conf 核心配置
server{
	listen 80;
	server_name proxy.server1;#没分号结尾会报错
	location / {
		proxy_pass http://192.168.0.21;
	}	
}
server{
	listen 80;
	server_name proxy.server2;
	location / {
		proxy_pass http://192.168.0.22;
	}
}

负载均衡配置

server{
	listen 80;
	server name www.test.cn;
	location /{
		proxy_pass http://web_server
		proxy_set_header Host $host;
		proxy_set_header X-Client-IP $remote_addr;
	}
	location ~ * \.(gif|jpg|png|flv|mp4)${
		valid_referers www.test.cn test.cn;
		if($invalid_referer){
			return 403;
		}
	}
}
upstream web_server{
	# ip_hash; #使用  ip_bash 不能使用 weight 和 backup 设置
	server 192.168.0.100 weight=1
	server 192.168.0.101 weight=3
 	server 192.168.0.102 weight=2 down
 	server 192.168.0.103 backup
 	#常用状态参数
 	# max_fails 允许请求失败的次数,默认1
 	# fail_timeout 在经历了 max_fails 次失败后,暂停服务的时间
 	# backup 预留的备份机器
 	# down 表示当前的 server 暂时不参与负载
}

Nginx 缓存配置

server{
	listen 80;
	server_name web_server;
	add_header X-Via $server_addr;
	add_header X-Cache $upstream_cache_status;
	location / {
		root cache;
		proxy_store on;
		proxy_store_access user:rw group:rw all;
		proxy_cache cache_one;#设置缓存区域名称
		proxy_cache_key $host$url$is_args$args;
		proxy_cache_valid 200 10m; #200 缓存10分钟
		proxy_cache valid 304 1m;#304 缓存1分钟
		proxy_cache valid 301 302 1h;# 301、302 缓存 1小时
		proxy_temp_path cache_tmp;
		if(!-e $request_filename){
			proxy_pass http://192.168.0.110;
		}
	}
}

启用 SSL 服务

server {
	listen 443;
	server_name www.test.cn
	root html/test.com
	ssl on;
	ssl_certificate /usr/local/nginx/conf/ssl/server.crt;
	ssl_certificate_key /usr/local/nginx/conf/ssl/server.key;
}

限制同一 IP 并发

http{
	limit_conn_zone $binary_remote_addr zone=perip:10m; #限制内存共享内存空间
	limit_conn perip 10;#限制并发访问数
}

Nginx+Tomcat 动静分离

server{
	listen 80;
	server_name localhost;
	root /usr/localhost/tomcat/webapps/ROOT;
	index index.html index.htm index.jsp index.do;
	location ~/(WEB-INF|META-INF){
		deny all;
	}
	location ~\.(jsp|do)${
		proxy_pass http://127.0.0.1:8080
		proxy_set_header X-Client-IP $remote_addr;
	}
	location ~^/(docs|examples)(/.*)* ${
		root /usr/local/tomcat/webapps;
	}
}

Nginx 前后端分离前端部署

server {
    listen 80;

    gzip on;
    gzip_static on;     # 需要http_gzip_static_module 模块
    gzip_min_length 1k;
    gzip_comp_level 4;
    gzip_proxied any;
    gzip_types text/plain text/xml text/css;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    # 前端打包好的dist目录文件
    root /data/;

    # 若新增后端路由前缀注意在此处添加(|新增)
    location /basic-api/ {
       proxy_pass http://pigx-gateway:9999/;
       proxy_connect_timeout 15s;
       proxy_send_timeout 15s;
       proxy_read_timeout 15s;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto http;
    }
}

常用 Nginx 模块
nginx-upstream-fair-module #按Web服务器响应时间实现负载均衡(先下载nginx-upstream-fair.zip安装Nginx时配置./configure --add-module 添加模块)
echo-nginx-module
http_secure_link_module

防盗链

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值