宝塔面板部署nginx+springboot+netty

本文介绍了如何在CentOS7.9服务器上,通过宝塔面板配置nginx,实现与Netty集成的SpringBoot前后端分离项目的部署。重点涉及TCP socket长连接配置、端口监听以及在宝塔面板中放行相关端口的操作。同时强调了nginx版本和stream模块的要求。

nginx配置集成netty的springboot前后端分离项目

项目环境: CentOS 7.9 , 宝塔面板, nginx1.21

  1. 前后端分离项目按照日常部署方式部署到服务器
  2. 前往nginx配置文件nginx.conf,配置TCP socket长连接配置及端口监听
stream {
    upstream sftp{
        hash $remote_addr consistent;
        server 127.0.0.1:12000; # springboot项目中设置的socket服务器ip和端口保持一致
    }
    
    server {
        listen 13000; # 此端口不能和nginx配置文件中http的监听端口一样, 也不能和项目中设置的端口一样, 需要单独设置监听的端口
        proxy_connect_timeout 300s;
        proxy_timeout 300s;
        proxy_pass sftp;
   }
}

上方代码需要和events模块同级

  1. 在宝塔面板-安全,分别放行上方设置的两个端口 12000和13000
  2. 在服务器中设置监听12000端口号, 如果服务器没有安装netcat,需要安装一下
[root@dkukd ~]# yum install -y nc

安装好后,开启一个监听服务 命令如下:

nc -lk 12000

注意:

1. nginx必须1.19以上
2. nginx必须安装了stream模块, "nginx -V"查看nginx安装了哪些模块,如果没有安装需要安装一下, 安装stream模块自行百度
3. 在宝塔中安装的nginx1.21是有stream模块的,不需要操心stream模块的事

[root@VM-centos ~]# nginx -V
nginx version: nginx/1.21.4
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.1.1m  14 Dec 2021
TLS SNI support enabled
configure arguments: --add-module=/www/server/nginx/src/lua_nginx_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module
### 如何在宝塔面板部署 Spring Boot 和 Vue 项目 #### 准备工作 确保服务器已经安装并配置好 Java 环境以及 Nginx 或 Apache,因为这些是运行 Spring Boot 应用程序所必需的基础环境[^1]。 #### 创建站点 进入宝塔面板管理界面,点击左侧菜单中的“网站”,再点击右上方的“添加站点”。按照提示输入域名等相关信息完成创建新站点的操作。这一步骤为后续前端资源访问提供了必要的网络路径支持[^2]。 #### 部署后端 (Spring Boot) 下载编译好的 `.jar` 文件到服务器指定目录下,比如 `/www/server/your_project_name` 。接着返回至宝塔面板首页,找到并安装 “PM2” 插件来作为 Node.js 进程守护工具,虽然主要用于Node应用但是也可以很好地管理和启动Java应用程序。使用 PM2 启动命令如下所示: ```bash pm2 start /path/to/your-spring-boot-app.jar --name your-application-name ``` 这样就可以让 Spring Boot 应用保持稳定运行状态,并且能够方便地查看日志和监控性能指标。 #### 构建与上传前端(Vue) 对于构建后的静态文件(通常位于 `dist` 文件夹内),可以直接将其整个复制粘贴到之前新建的那个站点根目录里(`/www/wwwroot/your_domain`) ,从而实现前后端分离架构下的页面展示功能。 #### 设置反向代理 为了让客户端请求正确路由给对应的API接口地址而不是直接暴露真实IP及端口号,在Nginx设置里面增加一条location规则指向本地正在监听的服务位置,例如: ```nginx server { listen 80; server_name localhost; location /api/ { proxy_pass http://localhost:port_number/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ``` 这段配置使得所有带有 `/api/` 前缀的URL都会被转发给后台服务处理,而其他部分则由前端自行解析渲染。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

微微一笑满城空

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

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

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

打赏作者

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

抵扣说明:

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

余额充值