热门标签 | 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教程有兴趣的朋友有所帮助。

  • 推荐阅读
    • 为何Compose与Swarm之后仍有Kubernetes的诞生?
      探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
    • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
    • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
    • ZooKeeper 入门指南
      本文将详细介绍ZooKeeper的工作机制、特点、数据结构以及常见的应用场景,包括统一命名服务、统一配置管理、统一集群管理、服务器动态上下线和软负载均衡。 ... [详细]
    • 网站访问全流程解析
      本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
    • 本指南详细介绍了如何利用华为云对象存储服务构建视频点播(VoD)平台。通过结合开源技术如Ceph、WordPress、PHP和Nginx,用户可以高效地实现数据存储、内容管理和网站搭建。主要内容涵盖华为云对象存储系统的配置步骤、性能优化及安全设置,为开发者提供全面的技术支持。 ... [详细]
    • 默认情况下,Git 使用 Nano 编辑器进行提交信息的编辑,但如果您更喜欢使用 Vim,可以通过简单的配置更改来实现这一变化。本文将指导您如何通过修改全局配置文件来设置 Vim 作为默认的 Git 提交编辑器。 ... [详细]
    • 在Notepad++中配置Markdown语法高亮及实时预览功能
      本文详细介绍了如何在Notepad++中配置Markdown语法高亮和实时预览功能,包括必要的插件安装和设置步骤。 ... [详细]
    • 在使用 Nginx 作为服务器时,发现 Chrome 能正确从缓存中读取 CSS 和 JS 文件,而 Firefox 却无法有效利用缓存,导致加载速度显著变慢。 ... [详细]
    • 在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
      本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。 ... [详细]
    • 本文介绍了两种有效的方法来解决DataSnap支持的Tcp长连接数受限的问题。方案一通过代理服务器实现负载均衡,方案二则利用多进程技术提升连接数。 ... [详细]
    • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
    • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
    • 在配置Nginx的SSL证书后,虽然HTTPS访问能够正常工作,但HTTP请求却会遇到400错误。本文详细解析了这一问题,并提供了Nginx配置的具体示例。此外,还深入探讨了DNS服务器证书、SSL证书的申请与安装流程,以及域名注册、查询方法和CDN加速技术的应用,帮助读者全面了解相关技术细节。 ... [详细]
    • 在优化Nginx与PHP的高效配置过程中,许多教程提供的配置方法存在诸多问题或不良实践。本文将深入探讨这些常见错误,并详细介绍如何正确配置Nginx和PHP,以实现更高的性能和稳定性。我们将从Nginx配置文件的基本指令入手,逐步解析每个关键参数的最优设置,帮助读者理解其背后的原理和实际应用效果。 ... [详细]
    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社区 版权所有