nginx + spring boot

基本实例

服务器ip: 192.168.1.111

编译安装nginx

yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
./configure --with-http_stub_status_module --with-http_ssl_module && make && make install

基本反向代理

启动shop-boot,端口:8091

nginx 配置文件

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    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_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen 80;
        server_name 192.168.1.111;

        access_log  logs/shopboot.access.log  main;
        location / {
            proxy_pass http://127.0.0.1:8091;
            proxy_set_header host    $host;
            proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}

windows 添加映射

192.168.1.111 www.shopboot.com

nginx 轮询

重新启动一个shop-boot实例,需要修改jar包名称与端口
浏览器刷新无效,需要回车才能看到轮训的效果
nginx 配置文件

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


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

    upstream 192.168.1.111 {
        server 127.0.0.1:8092;
        server 127.0.0.1:8091;
    }

    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_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen 80;
        #server_name 192.168.1.111;

        access_log  logs/shopboot.access.log  main;
        location / {
            proxy_pass http://192.168.1.111;
            proxy_connect_timeout 10;
            proxy_set_header host    $host;
            proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }

}

docker 方式

nginx 位置: /home/stest/docker/nginx

获取配置文件

# 首先运行一个nginx
docker run -p 80:80 --name nginx -d nginx:1.8.1
# 复制容器中的nginx配置文件到本地
docker cp -a nginx:/etc/nginx /home/stest/docker/nginx/conf
# 删除容器
docker stop nginx-1.8.1
docker rm nginx-1.8.1

配置文件

  • /home/stest/docker/nginx/conf/shopboot.conf
upstream application {
    
    
    server shop-boot:8091;
}
server {
    
    
    listen 80;
    server_name www.shopboot.com;

    # access_log  logs/shopboot.access.log  main;
    location / {
    
    
        proxy_pass http://application;
        proxy_connect_timeout 10;
        proxy_set_header Host    $host:$server_port;
        proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

启动容器

docker run -p 80:80 --privileged=true --name nginx --link=shop-boot-test:shop-boot -v /home/stest/docker/nginx/www:/www -v /home/stest/docker/nginx/conf/:/etc/nginx/ -v /home/stest/docker/nginx/logs:/var/log/nginx -d nginx:1.8.1

猜你喜欢

转载自blog.csdn.net/m0_46533764/article/details/109230085
今日推荐