Nginx实现负载均衡

一、安装搭建环境

1.1 编译环境

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

1.2 支持rewirte

第一步、进入安装目录用wget下载: 

#进入安装目录
cd /tools
#下载
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

第二步、在指定目录解压

#解压
tar -zxvf pcre8.4.2.tar.gz
#改名为prce
mv pcre8.4.2 pcre
#删除安装包
rm -rf pcre8.4.2.tar.gz

第三步、编译

#指定编译信息
./configure
#编译并安装
 make && make install

二、安装nginx

第一步、进入安装目录用wget下载: 

#进入安装目录
cd /tools
#下载
wget http://nginx.org/download/nginx-1.15.6.tar.gz

第二步、在指定目录解压

#解压
tar -zxvf nginx-1.15.6.tar.gz
#改名为nginx
mv nginx-1.15.6 nginxc
#删除安装包
rm -rf nginx-1.15.6.tar.gz

第三步、编译

#指定编译信息
./configure --prefix=/tools/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/tools/pcre
#编译并安装
 make
 make install
#删除源包
rm -rf nginxc

第四步、测试

#进入nginx工具目录
cd /tools/nginx/sbin
#执行nginx -v
./ningx -v

三、配置nginx

第一步、创建用户信息

/usr/sbin/groupadd xxx
/usr/sbin/useradd -g xxx

第二步、修改配置文件

vim /tools/nginx/conf/nginx.conf

添加如下内容:

user xxx xxx;
worker_processes 1; #设置值和CPU核心数一致
error_log /tools/nginx/logs/nginx_error.log crit; #日志位置和日志级别
pid /tools/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;
events
{
  use epoll;
  worker_connections 65535;
}
http
{
  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';
  
#charset gb2312;
     
  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 8m;
     
  sendfile on;
  tcp_nopush on;
  keepalive_timeout 60;
  tcp_nodelay on;
  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_buffer_size 64k;
  fastcgi_buffers 4 64k;
  fastcgi_busy_buffers_size 128k;
  fastcgi_temp_file_write_size 128k;
  gzip on; 
  gzip_min_length 1k;
  gzip_buffers 4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 2;
  gzip_types text/plain application/x-javascript text/css application/xml;
  gzip_vary on;
 
  #limit_zone crawler $binary_remote_addr 10m;
 #下面是server虚拟主机的配置
   #upstream设置需要代理对象 hello代理名
 upstream  hello { 
    #weight随机权衡值  
    server   106.12.121.80:8081  weight=1; 
    server   106.12.121.80:8082  weight=2;  
}     

#监听转发
server {  
    listen       80; 
    server_name  106.12.121.80;  

location / {  
        proxy_pass http://hello;  
        proxy_redirect default;  
    }  
 
}
}

输入:/tools/nginx/sbin/nginx  -t 检查配置是否有问题

四、测试

创建测试用boot项目

/**
 * @author sunyiran
 */
@SpringBootApplication
@RestController
public class HelloApplication {

    @Autowired
    Environment environment;

    public static void main(String[] args) {
        SpringApplication.run(HelloApplication.class, args);
    }

    @RequestMapping("/hello")
    public String test() {
        return environment.getProperty("server.port");
    }
}

启动两个实例,一个端口为8081,一个为8082

执行  /tools/nginx/sbin/nginx 开始测试:

第一次:

第二次:

第三次:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值