在Linux服务器上部署SpringBoot项目,用Nginx实现负载均衡,并通过Https访问该项目
一、把SpringBoot项目打包成三个jar包,并指定端口为14341,14342,14343
1、自己可以改成不同的端口号,三个jar包名称分别为myblog01.jar,myblog02.jar,myblog03.jar
2、运行教程
二、下载腾讯云免费SSL证书(用来https访问的)
1、具体申请教程
2、下载下来的文件:
3、我们使用Nginx文件夹下面的crt和key文件
三、安装Nginx
安装教程
四、Nginx配置HTTPS域名证书
1、要在Nginx中配置Https,就必须安装SSL模块,也就是: http_ssl_module 。
2、进入到Nginx的安装目录: /developer/setup/nginx-1.10.2/新增SSL模块(原来的那些模块需要保存)
3、进入安装目录
cd /developer/setup/nginx-1.10.2/
4、安装SSL模块
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-http_ssl_module
5、编译和安装
make
make install
6、进入objs目录,查看ngx_modules.c文件,文件里面搜到ssl,说明配置成功
五、SSL文件
把SSL证书 *.crt 和 私钥 *.key 拷贝到 /usr/local/nginx/conf 目录中。
六、单机部署多应用
1、在/usr/local/nginx/conf 目录中的nginx.conf修改配置
upstream my_blog { #upstream节点名称,my_blog给后面负载均衡使用
server 193.112.29.147:14341;# ip+端口号
server 193.112.29.147:14342;
server 193.112.29.147:14343;
}
server {
listen 443;# 新增443端口
server_name xuluowuhen.com www.xuluowuhen.com;# 域名
# 开启ssl
ssl on;
# 配置ssl证书(文件在相同目录下,也可以不同目录,路径要写绝对路径)
ssl_certificate 1_www.xuluowuhen.com_bundle.crt;
# 配置证书秘钥
ssl_certificate_key 2_www.xuluowuhen.com.key;
# ssl会话cache
ssl_session_cache shared:SSL:1m;
# ssl会话超时时间
ssl_session_timeout 5m;
# 配置加密套件,写法遵循 openssl 标准
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_ssl_server_name on;
proxy_pass http://my_blog; # 跟upstream节点名称节点对应
index index.html index.htm;
}
error_page 404 /404.html;
error_page 403 /403.html;
}
注意:Nginx负载后无法登陆界面无法跳转到主页的问题
upstream 中添加 一个配置信息 ip_hash 即可解决
upstream my_blog {
ip_hash;
server 193.112.29.147:14341;
server 193.112.29.147:14342;
server 193.112.29.147:14343;
}
2、配置完之后,检测配置是否ok,进行重新加载和查看Nginx状态
进入配置文件目录
cd /usr/local/nginx/conf/
检测配置是否ok
../sbin/nginx -t
重新加载
../sbin/nginx -s reload
查看nginx运行状态
ps -A | grep nginx
3、启动服务
七、云服务器端口配置安全组
1、把三个端口14341,14342,14343进入到云服务器中的安全组
2、关于安全组的介绍https://cloud.tencent.com/document/product/213/18197#typical
八、服务器 iptables 配置,需要开放三个端口
1、把三个端口都开放了
iptables -I INPUT -p tcp --dport 14341 -j ACCEPT
service iptables save
2、tcping - 测试服务器指定端口是否开放
tcping 193.112.29.147 14341 //tcping+ip+端口