配置nginx

1,准备工作

1,三台虚拟机
2,一个spring—boot项目jar包

2,安装nginx

1,在一台虚拟机上安装nginx

1.上传nginx安装包
2.解压nginx
tar -zxvf nginx-1.12.2.tar.gz -C /usr/local/src/
3.进入到nginx的源码目录
cd /usr/local/src/nginx-1.12.2/
4.预编译
./configure
5.安静gcc编译器
yum -y install gcc pcre-devel openssl openssl-devel
6.然后再执行
./configure
7.编译安装nginx
make && make install
8.启动nginx
sbin/nginx
9.查看nginx进程
ps -ef | grep nginx
netstat -anpt | grep nginx

将springboot程序部署在多台服务器上,然后启动springboot
java -jar niubike-0.0.1-SNAPSHOT.war >> ./logs 2>&1 &

修改nginx的配置文件,让nginx实现负载均衡功能
vi /usr/local/nginx/conf/nginx.conf

内容见nginx.conf

3,配置nginx.conf

先备份nginx.conf 防止修改出错导致配置文件损坏


#nginx进程 一般设置为cpu核数一样
worker_processes  1;
#错误日志存放目录
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#进程号PIDc存放的位置
#pid        logs/nginx.pid;

#工作模式下连接数上限
events {
   #epoll 多路复用IO 开启可以大大提高nginx性能但是 linux的内核必须是 2.6以上
   use epoll;
   # 单台worker process 进程的最大的并发连接数
    worker_connections  1024;
}

################################## 一下的配置##################################
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"';

    #日志位置
    #access_log  logs/access.log  main;


    #开启高效的传输模型
    sendfile        on;
    #激活 tcp 参数可以允许吧httpresponse hedaer 文件放到一个文件里面发布 积极的作用是减少网络的报文 段的数量
    #tcp_nopush     on;

    #连接超时时间 单位是秒
    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    #上游服务器 意思就是配置负载均衡服务的设置 说白了(nginx 代理最后真是访问服务的地址和端口)
    #负载均衡算法: 轮询  weight(权值) ip_hash   fair(第三方) 比 weight 和 ip_hash 更加智能的负载均衡算法 fair 算法可以根据页面的大小加载时间长短进行智能的负载均衡
    # 根据后端的服务器的响应时间.来自动分配请求,响应时间的短的优先发配置,这个算法nginx 首先是不支持.如果需要这个调度算法安装upstram_fair模块。
    upstream backServer{
    server 192.168.99.100:8080;
    server 192.168.99.101:8080;
    server 192.168.99.102:8080;
    ipahash;

}



   #基于域名的虚拟主机
    server {
        #监听端口
        listen       80;
        #监听服务的域名  
        server_name  localhost;
        #字符编码 UTF-8 gbk  gb180.....
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        #访问的匹配规则 正则表达式
        location / {
            #站点的根目录,也就是说是网站的存放目录
           # root   html;

            proxy_pass http://backServer;
            #逐次访问问的页面
            index  index.html index.htm;
        }

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

    }
}

配置完成后重新启动nginx

4,将spring—boot的jar包放到虚拟机上运行

访问 192.168.99.101/host
记得提前关闭虚拟机的防火墙

spring_boot代码

package com.etc.demo;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.net.InetAddress;


@RestController
@SpringBootApplication
public class DemoApplication {

    private static final Logger log = LoggerFactory.getLogger(DemoApplication.class);

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
        log.error("************ success ***************");
    }

    @GetMapping("host")
    public String host() {
        String host = null;
        try {
            host = InetAddress.getLocalHost().getHostName();
        }catch (Exception e) {
            e.printStackTrace();
        }
        return host;
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值