nginx配置netty

本文详细介绍了如何在Linux服务器上安装支持stream功能的Nginx1.20.1版本,包括下载、安装、配置文件设置以及启动、重启和停止命令。重点讲解了如何配置stream模块以连接到Netty服务器的7001端口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装支持stream的nginx版本:

1、首先,先下载nginx的rpm包,下载地址:http://nginx.org/packages/centos/7/x86_64/RPMS/

下载

nginx-1.20.1-1.el7.ngx.x86_64.rpm

2、执行安装命令:
然后,将下载好的rpm包放入服务器内,地址随意,进入对应目录,执行Linux命令:

(rpm -ivh rpm包的名字)

rpm -ivh nginx-1.20.1-1.el7.ngx.x86_64.rpm

编译只要几秒钟,整个过程只需几分钟搞定

3、安装目录:
nginx安装目录:/etc/nginx

4、常用命令:nginx -v 查看版本

nginx -V 查看版本及安装路径等

systemctl start nginx 启动nginx

systemctl restart nginx 重启命令

systemctl stop nginx 停止命令

二、配置nginx 配置文件   7001 是netty服务器的端口

events {
    worker_connections  1024;
}

stream {

   upstream netty_server {
       server 127.0.0.1:7001 weight=1;
       #server 127.0.0.1:7002 weight=1;多个可以往下加
  }
  server {
    listen 9999;
    proxy_pass netty_server;
  }
}

三、指定配置文件启动nginx

 sudo /usr/sbin/nginx -c /etc/nginx/nginx.conf


 

### 如何在 NginxNetty配置 SSL #### Nginx 配置 SSL 为了使 Nginx 支持 HTTPS 请求,需确认已安装 `stream` 模块和支持 SSL 的模块。如果未包含这些选项,则需要下载源码并按照特定参数重新编译以加入支持[^3]。 一旦确保 Nginx 已经具备必要的功能,可以通过编辑 `/etc/nginx/nginx.conf` 文件来设置 SSL: ```nginx server { listen 443 ssl; server_name your_domain.com; ssl_certificate /path/to/your/certificate.crt; ssl_certificate_key /path/to/your/private.key; location / { proxy_pass http://localhost:8080; # 假设Netty运行在此端口上 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } } ``` 完成上述更改之后,保存文件并通过命令 `nginx -s reload` 来应用新的配置。 #### Netty 配置 SSL 对于 Netty 应用程序来说,在启动时创建一个带有适当参数的 `SslContext` 对象是非常重要的。这通常涉及到读取由 OpenSSL 或其他工具生成的 PKCS#8 编码私钥和相应的公钥证书链文件[^2]。 下面是一段用于初始化 Netty WebSocket 服务器并启用 SSL/TLS 加密连接的例子代码片段: ```java import io.netty.channel.ChannelInitializer; import io.netty.channel.socket.SocketChannel; import io.netty.handler.ssl.SslContext; import io.netty.handler.ssl.SslContextBuilder; // ... other imports ... public class SecureWebSocketServer { private final int port; private final SslContext sslCtx; public SecureWebSocketServer(int port, String certChainFile, String keyFile) throws Exception { this.port = port; // 构建SSL上下文 this.sslCtx = SslContextBuilder.forServer(new File(certChainFile), new File(keyFile)) .build(); } protected void initChannel(SocketChannel ch) throws Exception { ChannelPipeline pipeline = ch.pipeline(); // 添加SSL处理器 pipeline.addLast(sslCtx.newHandler(ch.alloc())); // 继续添加其他的handler... } // ... } ``` 这段 Java 代码展示了如何利用给定路径下的 `.pem` 格式的证书链条(`certChainFile`)与私钥(`keyFile`)构建出适合于 Web Socket 连接的安全通道处理逻辑[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值