nginx负载均衡部署Spring boot项目

一、nginx简介

         Nginx 可以在大多数 UnixLinux OS 上编译运行,并有 Windows 移植版。对于新建站点,Nginx 是一个很强大的高性能Web反向代理服务,它具有很多非常优越的特性:在连接高并发的情况下,能够支持高达 50,000 个并发连接数的响应。  Nginx作为负载均衡服务:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。处理静态文件,索引文件以及自动索引;打开文件描述符缓冲;无缓存的反向代理加速,简单的负载均衡和容错。FastCGI,简单的负载均衡和容错。

二、nginx安装部署

  1、centos安装nginx

  (1) 安装gcc编译器

         由于nginx是由c/c++开发,所以在linux环境下需要先安装gcc的编译器

yum -y install make zlib zlib-devel gcc-c ++ libtool openssl openssl-devel
 (2) 安装 pcre、openssl、zlib

         安装pcre(下载地址:PCRE download | SourceForge.net

         解压至指定目录(tar   zxfv  pcre-8.42.tar.gz) 

         脚本编译pcre源码:  ./pcre-8.42/configure 

#切换到 pcre目录:

cd   pcre-8.42

#生产.so动态库:

make    make install

#安装成功后查看版本: 

pcre-config --version

 

    oppssl下载地址(https://www.openssl.org/source/openssl)、zlib下载地址(http://zlib.net/zlib

解压和编译步骤和pcre一样

 (3)安装nginx服务器

       下载nginx安装包(nginx: download)解压至用户目录:tar zxvf nginx-1.15.3.tar.gz     

       编译nginx源码

./configure --sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/home/wuchengfeng/pcre \
--with-zlib=/home/wuchengfeng/zlib \
--with-openssl=/home/wuchengfeng/openssl

        安装成功后 

       安装成功后查看版本:  /usr/local/nginx/sbin/nginx -v 

  (4)nginx启动

        配置域名指向: 

        vi /etc/hosts   

        vi etc/resolv.conf

  

       vi  /etc/sysconfig/network

     修改nginx的配置文件添加域名: vi  /usr/local/nginx/conf/nginx.conf     

       ​​​​调整一下nginx服务器入口html下的index.html文件:  

     

         测试、启动nginx服务器:

/usr/local/nginx/sbin/nginx  -t

 

      启动命令:./nginx  

      重新加载配置文件:./nginx -s reload

      客户端域名访问测试:   

      

  关闭nginx 服务器 ./sibn/nginx -s  stop

  三、nginx+tomcat实现负载均衡

   1、配置域名

        安装好三台centos虚拟机Leader(ip:192.168.137.130,域名:80.app.server.cn)、Node1(ip:192.168.137.133)、Node2(ip:192.168.137.134),分别在Node1和Node2上安装好tomcat,启动tomcat在Leader上配置好nginx服务器,当客户端访问Leader的域名是,先到大nginx,然后通过nginx反向代理,转发给Node1或者Node2中的一台.

        

      

   2、配置nginx文件

http {

    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    gzip  on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 6;
    gzip_types  text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
    gzip_vary on;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

  server {
        listen       80;
        server_name  80.app.server.cn;
        charset koi8-r;
        access_log  logs/host.access.log  main;
        location / {
            proxy_pass   http://server80;
            index  index.html index.htm;
        }
    }



    upstream  server80{
       server  192.168.137.133:8080;
       server  192.168.137.134:8080;
    }

   

      3、访问nginx

       客户端访问80.app.server.cn 可以实现轮询访问两台服务器

四、SpringBoot项目部署

           pom.xml文件加入tomcat外部支持:

    <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-tomcat</artifactId>
          <scope>provided</scope>
      </dependency>

            修改启动类:

package cn.fcw.bb.webapply;
import com.github.pagehelper.PageHelper;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import java.util.Properties;
@SpringBootApplication(scanBasePackages = {"cn.fcw.bb.webapply"})
@MapperScan(basePackages = {"cn.fcw.bb.webapply.mapper"})
public class WebApplyApplication extends SpringBootServletInitializer {

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

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(SpringApplication.class);
    }

}


           将项目打成war包,分别部署到node1和node2的tomcat的wepapps下面,启动tomcat即可.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要部署Spring Boot项目Nginx服务器上,需要执行以下步骤: 1. 在Spring Boot项目中打包成jar文件。 2. 在服务器上安装Nginx。 3. 在Nginx配置文件中配置反向代理,将请求转发到Spring Boot项目的运行端口。 4. 启动Spring Boot项目并启动Nginx服务。 5. 通过浏览器访问Nginx服务器的IP地址或域名,即可访问到部署Spring Boot项目。 ### 回答2: Nginx是一款高性能的Web服务器软件,它不仅可以部署静态网页,也可以作为反向代理服务器。在部署Spring Boot项目时,我们可以将Nginx作为反向代理服务器,将客户端的请求转发到Spring Boot应用程序中,以便更好地管理和优化应用程序的性能。 具体步骤如下: 1.安装Nginx 在Linux系统上,可以使用包管理工具来安装Nginx,例如CentOS系统上可以使用yum命令进行安装: yum install nginx 2.配置Nginx 需要编辑Nginx的配置文件,以便将请求转发到Spring Boot应用上。可以在Nginx的配置文件中添加如下配置: location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 上述配置中,“proxy_pass”指定了转发请求的目标IP和端口,“proxy_set_header”指定了转发请求时需要保留的头信息。 3.启动NginxSpring Boot应用 完成Nginx的配置后,可以启动Nginx服务器和Spring Boot应用程序,以便测试应用是否正常运行。可以使用如下命令分别启动NginxSpring Boot应用: systemctl start nginx java -jar demo.jar 这里假设应用程序的Jar包为“demo.jar”,可以根据自己的实际情况进行修改。 4.测试应用 最后,可以使用浏览器或命令行工具进行访问测试,以确认应用程序是否正常工作。在浏览器中输入Nginx服务器的地址和端口号,查看是否能够正常访问应用程序的页面。 总的来说,将Nginx作为反向代理服务器部署Spring Boot应用程序,可以提高应用程序的性能和可管理性。但需要注意的是,在配置Nginx时需要注意路径和端口号等相关配置,以确保不会产生冲突。 ### 回答3: Nginx是一个高性能的Web服务器和反向代理服务器,而Spring Boot是一个基于Spring框架的快速开发的Web应用程序框架。在将Spring Boot项目部署到生产环境中时,将Nginx作为其反向代理服务器,可以提高应用程序的可靠性、性能和安全性。 下面是在Linux操作系统上部署Spring Boot项目的步骤: 1.安装Java环境和Spring Boot应用程序,确保其能够在本地成功运行。 2.安装Nginx,通过命令“sudo apt-get install nginx”在Linux上进行安装。 3.在Nginx的默认配置文件“/etc/nginx/sites-available/default”中添加反向代理的配置信息。以下是一个针对Spring Boot应用程序的基本配置: server { listen 80; server_name example.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; } } 其中,“proxy_pass”指定Spring Boot应用程序的URL,“proxy_set_header”在请求转发时添加必要的HTTP header信息。 4.启动Nginx服务器。运行命令“sudo nginx -t”来检查配置文件中是否存在任何语法错误,然后运行命令“sudo service nginx start”来启动服务器。 5.访问Spring Boot应用程序,可以通过域名或IP地址访问。例如,“http://example.com”或“http://127.0.0.1:8080”。 总体来说,使用Nginx反向代理服务器可以帮助我们更好地管理和保护Spring Boot应用程序,并在性能和安全性方面提供更好的保障。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值