nginx使用配置说明

一、下载安装nginx,本人下载的是nginx-1.0.11版本;

二、下载安装tomcat,本人使用的是apache-tomcat-7.0.62,复制分别命名为:apache-tomcat-7.0.62_1和apache-tomcat-7.0.62_2作为后台服务tomcat;

三、修改tomcat配置文件

      1、 apache-tomcat-7.0.62_1\conf下server.xml

          修改关闭端口<Server port="8005" shutdown="SHUTDOWN">

          修改请求端口<Connector port="8080" .../>

      2、apache-tomcat-7.0.62_2\conf下server.xml

          修改关闭端口<Server port="8015" shutdown="SHUTDOWN">

          修改请求端口<Connector port="8090" .../>

 

四、二个tomcat下分别部署工程test.war:

       apache-tomcat-7.0.62_1/webapps/test下index.html页面值为Server 1;

       apache-tomcat-7.0.62_2/webapps/test下index.html页面值为Server 2;

       启动验证访问:http://localhost:8080/test/    页面显示Server 1

                                http://localhost:8090/test/    页面显示Server 2

五、修改nginx的配置文件

      

#定义Nginx运行的用户和用户组
#user www;

#nginx进程数,建议设置为等于CPU总核心数
worker_processes  1;

#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#进程文件
pid        logs/nginx.pid;

#工作模式及连接数上限
events {
    #use   epoll;             #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
    worker_connections  1024;#单个后台worker process进程的最大并发链接数
    # multi_accept on;
}

#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
    #设定mime类型,类型由mime.type文件定义
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #设定日志格式
    #access_log  logs/access.log  main;

    #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
    #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
    sendfile        on;
    #tcp_nopush     on;

    #连接超时时间
    #keepalive_timeout  0;
    keepalive_timeout  65;

    #开启gzip压缩
    #gzip  on;

    #设定请求缓冲
    #client_header_buffer_size    1k;
    #large_client_header_buffers  4 4k;
 
    #include /etc/nginx/conf.d/*.conf;
    #include /etc/nginx/sites-enabled/*;

    #设定负载均衡的服务器列表
    upstream myServer{
 server 127.0.0.1:8080 ;
 server 127.0.0.1:8090 ;
    }

    server {
        #监听访问域名绑定那台服务器8000端口的请求
        listen       8000;
        server_name  127.0.0.1;

        location / {
  root /root;      #定义服务器的默认网站根目录位置;
  index index.html; #定义首页索引文件的名称
  proxy_pass
http://myServer ; #请求转向myServer定义的服务器列表
 }

    }
}

七、启动nginx

  操作命令

 启动:start nginx.exe

 重启:nginx.exe -s reload

 停止:nginx.exe -s stop(或者quit)

 

八、负载均衡策略

 nginx的upstream目前支持的5种方式的分配

1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
upstream myServer{
  server 127.0.0.1:8080 ;
  server 127.0.0.1:8090 ;
}

访问http://127.0.0.1:8000/test/后,页面循环显示server 1和server 2

2、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
upstream backserver {
server 127.0.0.1:8080  weight=10;
server 127.0.0.1:8090 weight=5;
}

访问http://127.0.0.1:8000/test/后,页面循环显示server 1 、server 1和server 2

3、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream backserver {
ip_hash;
server 127.0.0.1:8080;
server 127.0.0.1:8090;
}

访问http://127.0.0.1:8000/test/后,页面循环显示server 1

4、fair(未验证)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream backserver {
server server1;
server server2;
fair;
}

5、url_hash(未验证)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
upstream backserver {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}

 

 

 

  

   

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值