Nginx实现端口映射的示例代码

 更新时间:2025年09月17日 11:19:32   作者:IT农民工~  
本文主要介绍了Nginx实现端口映射的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1. 找到nginx的部署路径

[root@SH-DB-02 adi]# ps -ef | grep nginx
root      53617      1  0  2019 ?        00:00:07 nginx: master process ./nginx
nobody   176294  53617  0 12:31 ?        00:00:01 nginx: worker process
[root@SH-DB-02 adi]# 
[root@SH-DB-02 adi]# 
[root@SH-DB-02 adi]# 
[root@SH-DB-02 adi]# ls -la /proc/53617/exe
lrwxrwxrwx 1 root root 0 6月  20 14:01 /proc/53617/exe -> /opt/nginx/webserver/nginx/sbin/nginx

最终找到的nginx的路径为“ /opt/nginx/webserver/nginx/sbin/nginx”

2. 备份原来的配置文件

cd /opt/nginx/webserver/nginx/conf/
cp nginx.conf nginx20250620.txt

3. 编辑nginx.conf文件

nano nginx.conf

4. 在http块中添加新的server配置

在现有的server块(8080端口那个)后面,在http块的最后一个 } 之前添加:

server {
    listen       8083;
    server_name  本机IP;
    
    # 只代理特定路径
    location /xizangott/C2callback {
        proxy_pass http://127.0.0.1:8081;
        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 $scheme;
        
        # 设置超时时间
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
    }
    
    # 其他请求返回404
    location / {
        return 404;
    }
}

5. 完整的nginx.conf应该是这样的:

user  nobody;
worker_processes  8;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
error_log  logs/error.log  info;
pid        logs/nginx.pid;
worker_rlimit_nofile  51200;
events {
    use epoll;
    worker_connections  51200;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent "$http_referer" '
                '"$http_user_agent" $http_x_forwarded_for "$request_time"';
    access_log  logs/access.log main;
    sendfile        on;
    tcp_nopush     on;
    keepalive_timeout  65;
    autoindex_exact_size off;
    autoindex_localtime on;
    autoindex on;
    gzip  on;
server {
listen       8080;
server_name  本机IP;
index index.html index.htm;
root /data/pic;
autoindex off;
if (-d $request_filename)
{
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}
location /ngx_status {
        stub_status     on;
        access_log      off;
        allow   127.0.0.1 ;
        deny  all;
        }
}

server {
    listen       8083;
    server_name  本机IP;
    
    # 只代理特定路径
    location /xizangott/C2callback {
        proxy_pass http://127.0.0.1:8081;
        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 $scheme;
        
        # 设置超时时间
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
    }
    
    # 其他请求返回404
    location / {
        return 404;
    }
}
}

6. 保存文件并退出nano

按 Ctrl + X,然后按 Y,最后按 Enter

7. 测试配置文件语法

cd /opt/nginx/webserver/nginx/sbin/
./nginx -t

8. 重新加载nginx配置

./nginx -s reload

9. 验证配置是否生效

# 检查8083端口是否在监听
netstat -tulpn | grep :8083

# 检查nginx进程
ps -ef | grep nginx

10. 测试代理功能

# 测试目标路径
curl -I http://本机ip:8083/xizangott/C2callback

# 测试其他路径(应该返回404)
curl -I http://本机ip:8083/test

11. 查看日志(如果有问题)

# 查看错误日志
tail -f /opt/nginx/webserver/nginx/logs/error.log

# 查看访问日志
tail -f /opt/nginx/webserver/nginx/logs/access.log

按照以上步骤操作即可。配置完成后,访问 http://本机IP:8083/xizangott/C2callback 就会被代理到你的8081端口的Java应用了。
这样访问http://本机ip:8083/xizangott/C2callback会映射到“http://本机ip:8081/xizangott/C2callback”

到此这篇关于Nginx实现端口映射的示例代码的文章就介绍到这了,更多相关Nginx 端口映射内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx启用Brotli算法压缩的示例

    Nginx启用Brotli算法压缩的示例

    这篇文章主要介绍了Nginx启用Brotli算法压缩的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 在nginx中部署https服务的详细步骤

    在nginx中部署https服务的详细步骤

    Web服务器一般指网站服务器,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载,本文主要介绍nginx中部署https服务的具体流程,也是搭建web的开端与主要步骤之一
    2023-10-10
  • Nginx启用proxy_cache缓存的方法

    Nginx启用proxy_cache缓存的方法

    本篇文章主要介绍了Nginx启用proxy_cache缓存的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Nginx 禁用静态文件缓存的配置方法

    Nginx 禁用静态文件缓存的配置方法

    禁用缓存可能会导致性能下降,因为每次请求都需要从后端服务器获取文件,因此,你需要根据具体情况权衡利弊并做出决策,这篇文章给大家介绍Nginx 禁用静态文件缓存的方法,感兴趣的朋友一起看看吧
    2024-02-02
  • nginx php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)

    nginx php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)

    这篇文章主要介绍了nginx php-fpm中启用慢日志配置,php-fpm慢日志slowlog设置可以让我们很好的看见哪些php进程速度太慢而导致的网站问题,可以让我们方便的找到问题的所在,需要的朋友可以参考下
    2014-05-05
  • 实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法

    实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法

    最近在本地搭建的LNMP的开发环境。为了开发的时候不影响前端的正常开发就屏蔽的PHP里面php.ini中的一些错误提示。但是这样一来,就影响到了后端开发的一些问题比如不能及时调试开发中的一些问题
    2014-05-05
  • Nginx反向代理的location路径映射方式

    Nginx反向代理的location路径映射方式

    这篇文章主要介绍了Nginx反向代理的location路径映射方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Nginx配置同时支持http和https的两种方式

    Nginx配置同时支持http和https的两种方式

    现在的网站支持Https几乎是标配功能,Nginx能很好的支持Https功能,本文主要介绍了Nginx配置同时支持http和https的两种方式,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Nginx在Windows下的安装与使用过程详解

    Nginx在Windows下的安装与使用过程详解

    Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,这篇文章主要介绍了Nginx在Windows下的安装与使用,需要的朋友可以参考下
    2023-05-05
  • nginx加php-fpm出现502 bad gateway错误的5种解决方法

    nginx加php-fpm出现502 bad gateway错误的5种解决方法

    这篇文章主要介绍了nginx加php-fpm环境中出现502 bad gateway错误的5种解决方法,总结归纳服务器出现502错误的原因多数为连接过多和脚本超时,本文总结了5种解决方法,需要的朋友可以参考下
    2014-05-05

最新评论