nginx域名反向代理配置(https/负载均衡):nginx.conf

简介

  1. nginx域名反向代理,整合http和https,同时实现iphash的负载均衡配置;
  2. 本篇博客展示nginx的配置文件nginx.conf的详细配置;

实践

#user  nobody;
worker_processes  1; #lscpu修改成内核数

events {
    worker_connections  1024;  #修改成:65535
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=licache:10m inactive=5m;
    fastcgi_cache_key "$request_method://$host$request_uri";
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 8 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
    fastcgi_cache licache;
    fastcgi_cache_valid 200 302 1h;
    fastcgi_cache_valid 301 1d;
    fastcgi_cache_valid any 1m;
    fastcgi_cache_min_uses 1;
    fastcgi_cache_use_stale error timeout invalid_header http_500;

    open_file_cache max=65535 inactive=20s;
    open_file_cache_min_uses 1;
    open_file_cache_valid 30s;

    sendfile        on;
    keepalive_timeout 120;
     upstream tomcat1{ #配置代理映射ip以及端口
             server 192.168.2.22:8080;
            }

     upstream tomcat2{
            ip_hash; #配置iphash,多台服务器负载,不需要则去掉
            server 192.168.2.22:8081;
            server 192.168.2.23:8081;
            }

#1. nginx默认接入端口为80;
#2. 多少个域名配置则配置使用多少个server;
#3. nginx接入https端口默认是443;

#配置nginx域名默认访问页面
server{
     listen  80;
     server_name   www.admin.com; #申请的域名

     location  / {
             root  webapp; #表示sbin同级目录webapp,也可设置根目录
             index index.html; #默认访问的html
     }

}

#配置http反向代理域名1
server {
	listen       80;
    server_name  www.admin.com; #申请的域名

    location / {
		proxy_pass   http://tomcat1; #区分域名映射的tomcat
		index  index.html index.htm;
	}

	error_page   500 502 503 504  /50x.html;
	location = /50x.html {
		root   html;
	}
}

#配置http反向代理域名2
server {
        listen       80;
        server_name  www.test.com; #申请的域名
        location / {
             proxy_pass   http://tomcat2; #区分域名映射的tomcat
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

# 配置https反向代理域名,默认监听端口443,需自行申请ssl证书,下载证书到同级目录下,引入即可
server {
    listen 443;
    server_name open.36change.com;
    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate     cert/admin/214877699140754.pem; #ssl证书
    ssl_certificate_key  cert/admin/214877699140754.key; #ssl证书秘钥
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_pass   http://tomcat1; #https域名对应的tomcat
        index index.html index.htm;
        client_max_body_size 40M;
    }
}

server {
    listen 443;
    server_name www.opensporting.com;
    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate     cert/test/214926212910754.pem; #ssl证书
    ssl_certificate_key  cert/test/214926212910754.key; #ssl证书秘钥
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_pass   http://tomcat2; #https域名对应的tomcat
        index index.html index.htm;
        client_max_body_size 1000M;
	proxy_connect_timeout 600;
	proxy_send_timeout 600;
	proxy_read_timeout 600;
	proxy_buffer_size 32k;
        proxy_buffers 32 256k;
        proxy_busy_buffers_size 512k;
        proxy_temp_file_write_size 512k;
    }
}


}

 

总结

实践是检验认识真理性的唯一标准,自己动手,丰衣足食~~

同一ip(都是80端口)可以绑定无数个域名 配置简单 里面包含一个配置文档:配置文档.doc 看一遍 大部分人都会设置了。 内容如下: NGNIX配置文档 1.解压文件到相应文件夹下(我解压到D:/下) (这里是图片) 目录结构如上 2.在D:\nginx\目录下用记事本新建一个文本文档改名为 proxy.conf。 proxy.conf里面的内容格式如下: server { listen 80; server_name www.*****.com; location / { proxy_pass http://192.168.45.1:8045; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } (完整拷贝上面的内容server_name www.*****.com; 这里面的域名即是来访域名 proxy_pass http://192.168.45.1:8045; 这里面的域名(http://192.168.45.1:8045)即是内部跳转的地址,将该内容拷贝多份实现不同来访域名的跳转) 如下: 3.找到D:\nginx\confnginx.conf文件用记事本打开 在文段末尾大括号前加上 include proxy.conf;(就是加载刚刚新建的那个文件(注意路径)) 4.进入cmd 进入D盘: d: 进到nginx文件夹下:cd nginx 启动nginx.exe:start nginx Cmd窗口会闪一下 进程里面会多了个 浏览器里面输入:http://127.0.0.1 将出现: Nginx的欢迎界面。 注: nginx -s stop // 停止nginx nginx -s reload // 重新加载配置文件 nginx -s quit // 退出nginx nginx-1.3.9.zip(这个版本) (1分钟搞定只是夸张说法啦,给你增加信心的啦,真正的操作起来,因人而异,没搞定的耐心再试试,自己xp系统亲测成功,不喜欢的无拍砖哦,实在搞不定的加我qq852208555 一起研究下 谢谢!)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值