在云服务器上使用Nginx部署java项目和SSL证书

Nginx配置文件结构

整体结构介绍

Nginx配置文件整体分为三部分:

  • 全局块                 和Nginx运行相关的全局配置
  • events块              和网络连接相关的配置
  • http块                  代理、缓存、日志记录、虚拟机配置
    • http全局块
    • location块

注:http块可以配置多个Server块,每个Server块中可以配置多个location块


Nginx具体应用

  • 部署静态资源

Nginx可以作为静态web服务器来部署静态资源。静态资源指在服务端真实存在并且能够直接展示的一些文件,如常见的HTML页面、css文件、js文件、视频资源等。

相对于Tomcat,Nginx处理静态资源的能力更加高效,所以生产环境下,一般都会将静态资源部署到Nginx中。将静态资源部署到Nginx很简单,只要将文件复制到Nginx安装目录下的HTML目录中即可。

 黑色字可根据具体要求进行改变。

  • 反向代理

反向代理服务器位与用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。

用户不需要知道目标服务器的地址,也无需在用户端做任何设定。

  • 配置反向代理

 

  •  负载均衡

多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障出现。

  • 应用集群:将同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请求,进行业务处理并返回相应数据
  • 负载均衡器:将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理

 负载均衡策略:

名称说明
轮询默认方式
weight权重方式
ip_hash依据IP分配方式
least_conn依据最少连接方式
url_hash依据URL分配方式
fail依据相应时间方式

部署

1、将前后端项目打包后上传服务器 ,比如/home/web/这个目录,将java后端项目的jar包执行运行命令即可.如nohup java -jar demo.jar >outlog.log & 表示将日志输出到outlog.log文件,后台运行

2、找到Nginx的/www/server/nginx/conf/nginx.conf 目录,安装路径可以不同,在nginx.conf中修改配置。

3、在服务器上下载好对应域名的SSL证书,解压后有四个文件,后缀为 .csr  .key  _bundle.crt  _bundle.pem, 将后缀为 .key 和 _bundle.crt的文件上传到Nginx的conf目录中

4、修改完毕,重启Nginx服务。

#将下面代码直接粘贴到nginx.conf中的server块处修改即可
server {
     #SSL 默认访问端口号为 443
     listen 443 ssl; 
     #请填写绑定证书的域名
     server_name www.uuuiii.top;   # <---------修改这三处即可
     #请填写证书文件的相对路径或绝对路径
     ssl_certificate uuuiii.top_bundle.crt;  # <---------
     #请填写私钥文件的相对路径或绝对路径
     ssl_certificate_key uuuiii.top.key;  # <----------
     ssl_session_timeout 5m;
     #请按照以下协议配置
     ssl_protocols TLSv1.2 TLSv1.3; 
     #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
     ssl_prefer_server_ciphers on;
     location / {
         #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
         #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
            root   /home/web/dist;  # 前端项目的目录  
            index  index.html;  # 前端页面
            try_files $uri $uri/ /index.html;
        }
        
        location /??/ {  # 反向代理到后端项目   ----这里{前面根据项目进行具体配置,一个server块中不能重复{前的名字
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://localhost:8080/;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onlywishes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值