热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

使用nginx来完成反向代理及处理静态文件请求

:本篇文章主要介绍了使用nginx来完成反向代理及处理静态文件请求,对于PHP教程有兴趣的同学可以参考一下。

这里主要分三块,分别是nginx的基础安装及使用,反向代理及处理静态文件的请求。


1.安装及使用(windows 平台)

首先从这里下载nginx,照流程安装即可。如果觉得英语稍显吃力的话,可以看教程

启动nginx
方法1:命令行进入nginx的根目录,输入 start nginx
使用nginx来完成反向代理及处理静态文件请求

方法2:命令行进入nginx的根目录,输入 nginx.exe

方法3:进入nginx的根目录,双击nginx.exe图标
使用nginx来完成反向代理及处理静态文件请求

我一开始是使用方法3的,确实当机子上只需要运行1个nginx实例时很好办,但是当需要运行多个nginx时就搞不清了,所以这里推荐方法1。方法2的问题是会使得cmd窗口一直处于执行状态,无法干其他事情

关闭nginx

nginx.exe -s stop
nginx.exe -s quit

这两条都可以,区别在于stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

重载nginx

nginx.exe -s reload

修改conf配置文件以后,需要重启。如果关闭进程然后再打开的话,显得太过麻烦,所以需要使用重载。

Tips

有时候会出现启动不了的情况。这时候可以去logs/error.log查看报错信息。我之前是因为80端口被vs占用,所以在conf里把监听端口改成7000以后就好了


2.nginx的反向代理

nginx的一个很重要的作用是作为反向代理服务器来实现负载均衡。实现这个功能需要修改conf文件。
打开conf/nginx.conf(推荐使用sublime等编辑器打开,尽量别用notepad)

这里可以参考配置文件详细说明

如果只是实现最基本的反向代理功能,即不论域名是什么,统一把这个端口的请求发送给后台的多台服务器。那么可以这么修改配置文件

http{
    .........    upstream mysvr{
        server 127.0.0.1:8002 ; # data server 数据服务器内网端口
        server 127.0.0.1:8003 ; # data server 数据服务器内网端口
        server 127.0.0.1:8004 ; # data server 数据服务器内网端口
    }

    server {
        listen       8001;      # nginx监听的端口,也是3台数据服务器对外的端口
        server_name  localhost;

        #charset koi8-r;#access_log  logs/host.access.log  main;        location / {
            # root   /html;# index  index.html index.htm;
            proxy_pass http://mysvr ;   # 对所有域名,使用proxy_pass反向代理到mysvr里面的端口
        }

        .........
        }
    .........
    }

首先要加mysvr一项,然后在location / 项里面将前两行注释掉,增加proxy_pass选项即可。我这里是把8001端口的请求全部发送到8002,8003,8004这3个端口。配置好以后,先启动服务器,

DataServer().listen(8002)
DataServer().listen(8003)
DataServer().listen(8004)

启动nginx,打开浏览器,输入127.0.0.1:8001/auth,得如下所示
使用nginx来完成反向代理及处理静态文件请求
可知8001端口的请求确实被发送到了8002等端口

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了使用nginx来完成反向代理及处理静态文件请求,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 推荐阅读
    • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
    • 全能终端工具推荐:高效、免费、易用
      介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
    • Nginx 反向代理与负载均衡实验
      本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
    • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
    • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
    • 深入理解Cookie与Session会话管理
      本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
    • 如何配置Unturned服务器及其消息设置
      本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
    • 基于KVM的SRIOV直通配置及性能测试
      SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
    • 优化Flask应用的并发处理:解决Mysql连接过多问题
      本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
    • 在项目中使用 Redis 时,了解其不同架构模式(如单节点、主从复制、哨兵模式和集群)对于确保系统的高可用性和扩展性至关重要。本文将详细探讨这些模式的特点和应用场景。 ... [详细]
    • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
    • 本文旨在回顾并总结近期学习的.NET Core基础知识,通过具体的操作指南加深理解,并为初学者提供实用建议,避免常见的错误和陷阱。内容涵盖CentOS的安装配置、.NET Core环境搭建及网站部署等。 ... [详细]
    • 使用LVS与ldirectord实现高可用负载均衡
      本文介绍了如何通过LVS(Linux Virtual Server)结合ldirectord工具来实现服务器的健康检查及负载均衡功能。环境设置包括一个LVS节点和两个真实服务器节点,通过配置ldirectord进行健康状态监测,确保系统的高可用性。 ... [详细]
    • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
    • 360SRC安全应急响应:从漏洞提交到修复的全过程
      本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
    author-avatar
    lty燕_654
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有