外网nginx部署 #

TODO:需要补充tenant等各种基础环境转发配置。

mall3s集群部署nginx配置主要包括几个部分:

  1. gitlab代码仓库代理
  2. elk、skywalking及yapi代理
  3. docker及应用服务器代理

一、gitlab代码仓库代理设置 #

代码仓库部署在一台linux机器中,他的ip:110.41.156.31 (opens new window)。配置过程如下:

  1. 域名解析转发code.mall3s.com指向110.41.156.31

    登录阿里云解析,添加解析记录

    image-20230304140017295

    新增解析记录

    image-20230304140056928

  2. 登录服务器,设置nginx代理转发。

    使用windterm工具连接nginx机器。

    image-20230304140211310

    登录主机,当前nginx配置文件目录为:/etc/nginx/。使用vi编辑器编辑nginx配置文件,输入以下命令。

    vi /etc/nginx/conf.d/gitlab.conf
    

    代理gitlab仓库配置

    upstream code{
            server 127.0.0.1:8088;
    }
    
    server {
        listen       80;
    
        #绑定域名
        server_name  code.mall3s.com;
    
        #编码
        charset utf-8;
    
        location / {
                    proxy_pass http://code;
        }
    
        location = /50x.html {
            root   html;
        }
    
    }
    

    输入以下命令重启nginx:

    nginx -s reload
    

    访问:项目 · 仪表板 · GitLab (mall3s.com) (opens new window)

    image-20230304142122542

二、skywalking及yapi代理 #

机器部署,skywalking和yapi,作者部署在单独一台机器,实际安装部署情况如下:

  • elk
  • skywalking
  • yapi
  • mongodb

具体安装教程,请查看开发环境 | Mall3s快速开发平台,这里仅仅讲解如何配置上线部署,当前环境部署在一台ubuntu服务器中,他的ip地址:43.139.129.178。

  1. 域名解析转发指向43.139.129.178

登录阿里云解析

image-20230304141209485

添加解析记录elk、skywalking、doc三个子域名

记录类型 主机记录 解析线路 记录值
A elk 默认 43.139.129.178
A skywalking 默认 43.139.129.178
A log 默认 43.139.129.178
A yapi 默认 43.139.129.178

登录服务器,设置nginx代理转发。

nginx配置主要包括以下几个:

  1. elk.conf主要存放elk代理配置
  2. skywalking.conf主要存放skywalking代理配置
  3. yapi.conf主要存放yapi代理配置

使用windterm工具连接nginx机器。

image-20230304141501061

当前nginx配置文件目录为:/usr/local/nginx/,使用vi编辑器分别添加配置nginx配置文件。

  • 添加elk配置 #

    vi /usr/local/nginx/conf.d/elk.conf
    

    复制以下代码

    upstream elk{
    	server 127.0.0.1:5601;
    }
    
    server {
        listen       80;
    
        #绑定域名
        server_name  elk.mall3s.com;
    
        #编码
        charset utf-8;
    
        location / {
    		proxy_pass http://elk;
        }
    	
        location = /50x.html {
            root   html;
        }
    
    }
    

    输入以下命令重启nginx:

    nginx -s reload
    

    访问:Elastic (mall3s.com) (opens new window)

    image-20230304142712359

  • 添加skywalking配置 #

    vi /usr/local/nginx/conf.d/skywalking.conf
    

    复制以下代码

    upstream skywalking{
    
            server localhost:8080;
    }
    
    server {
        listen       80;
    
        #绑定域名
        server_name  skywalking.mall3s.com;
    
        #编码
        charset utf-8;
    
        location / {
    		proxy_pass http://skywalking;
        }
    	
        location = /50x.html {
            root   html;
        }
    
    }
    
    

输入以下命令重启nginx:

nginx -s reload

访问:访问:Apache SkyWalking (mall3s.com) (opens new window)

image-20230304142147587

  • 添加yapi配置 #

    vi /usr/local/nginx/conf.d/yapi.conf
    

    复制以下代码

    upstream yapi{
    	server 127.0.0.1:3000;
    }
    
    server {
        listen       80;
    
        #绑定域名
        server_name  yapi.mall3s.com;
    
        #编码
        charset utf-8;
    
        location / {
    		proxy_pass http://yapi;
        }
    	
        location = /50x.html {
            root   html;
        }
    
    }
    

输入以下命令重启nginx:

nginx -s reload

访问:YApi-高效、易用、功能强大的可视化接口管理平台 (mall3s.com) (opens new window)

image-20230304142202060

三、docker及应用服务器代理 #

机器部署作者部署在腾讯云docker服务器上面,实际安装部署情况如下:

  • nacos配置中心代理
  • mall3s-web网页代理
  • mall3s-h5移动端代理
  • mall3s-doc文档项目代理
  • mall3s官网代理

具体安装教程,请查看开发环境 | Mall3s快速开发平台,这里仅仅讲解如何配置上线部署,当前环境部署在一台ubuntu服务器中,他的ip地址:1.14.244.214。

  1. 域名解析转发指向1.14.244.214

登录阿里云解析

image-20230304141209485

添加解析记录5个子域名

记录类型 主机记录 解析线路 记录值
A test 默认 1.14.244.214
A doc 默认 1.14.244.214
A nacos 默认 1.14.244.214
A h5 默认 1.14.244.214
A www 默认 1.14.244.214

登录服务器,设置nginx代理转发。

nginx配置主要包括以下几个:

  1. mall3s-base.conf 主要存放基础环境代理配置
  2. mall3s-doc.conf主要存放文档网站代理配置
  3. mall3s-test.conf主要存放mall3s快速开发体验网站代理配置
  4. mall3s-web.conf主要存放mall3s官网环节配置

使用windterm工具连接nginx机器。

image-20230304143303815

当前nginx配置文件目录为:/etc/nginx/,使用vi编辑器分别添加配置nginx配置文件。

  • 添加nacos配置 #

    vi /etc/nginx/conf.d/mall3s-base.conf
    

    复制以下代码

    
    
    upstream nacos-server{
            server 192.168.0.7:30000;
    }
    
    
    server {
        listen       80;
    
        #绑定域名
        server_name  nacos.mall3s.com;
    
        #编码
        charset utf-8;
    
        location / {
    		proxy_pass http://nacos-server;
        }	
        location = /50x.html {
            root   html;
        }
    
    }
    
    

    输入以下命令重启nginx:

    nginx -s reload
    

    访问:http://nacos.mall3s.com/nacos/

    image-20230304143748051

  • 添加doc配置 #

vi /etc/nginx/conf.d/mall3s-doc.conf

复制以下代码


upstream doc-web{
        server 192.168.0.7:32402;
}

server {
    listen       80;

    #绑定域名
    server_name  doc.mall3s.com;
    #编码
    charset utf-8;
    location / {
                proxy_pass http://doc-web;

		proxy_http_version 1.1;

		proxy_set_header Upgrade $http_upgrade;

		proxy_set_header Connection keep-alive;

		proxy_set_header Host $host;

		proxy_cache_bypass $http_upgrade;

    }
    location = /50x.html {
        root   html;
    }

}



输入以下命令重启nginx:

nginx -s reload

访问:http://doc.mall3s.com/

image-20230304143854013

  • 添加mall3s-test配置 #

vi /etc/nginx/conf.d/mall3s-test.conf

复制以下代码


upstream test-web{
        server 192.168.0.7:32400;
}

upstream test-gateway{
        server 192.168.0.7:32300;
}

upstream test-system{
	server 192.168.0.7:32310;
}

upstream app-web{
       server 192.168.0.7:32403;
}

server {
    listen       80;

    #绑定域名
    server_name  test.mall3s.com;

    #编码
    charset utf-8;

    location / {
                proxy_pass http://test-web;
    }

    location /gateway/ {
                     proxy_pass http://test-gateway/;
		    # proxy_pass http://test-system/;
                     proxy_set_header X-real-ip $remote_addr;
                     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                     proxy_connect_timeout 60s;
     }

    location = /50x.html {
        root   html;
    }
}
server {
    listen       80;

    #绑定域名
    server_name  h5.mall3s.com;

    #编码
    charset utf-8;

    location / {
                proxy_pass http://app-web;
    }

    location /gateway/ {
                    # proxy_pass http://test-gateway/;
                     proxy_pass http://test-system/;
                     proxy_set_header X-real-ip $remote_addr;
                     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                     proxy_connect_timeout 60s;
     }

    location = /50x.html {
        root   html;
    }

}

输入以下命令重启nginx:

nginx -s reload

访问:http://test.mall3s.com/

image-20230304144154151

添加mall3s-web官网配置 #

vi /etc/nginx/conf.d/mall3s-test.conf

复制以下代码

upstream cms-web{
        server 192.168.0.7:32401;
}
server {
    listen       80;

    #绑定域名
    server_name  cms.mall3s.com www.mall3s.com;

    #编码
    charset utf-8;

    location / {
                proxy_pass http://cms-web;

		proxy_http_version 1.1;

		proxy_set_header Upgrade $http_upgrade;

		proxy_set_header Connection keep-alive;

		proxy_set_header Host $host;

		proxy_cache_bypass $http_upgrade;

    }


    location = /50x.html {
        root   html;
    }

}



输入以下命令重启nginx:

nginx -s reload

访问:http://www.mall3s.com/

image-20230304144305767

上次更新: 3/12/2023, 3:25:34 PM