nginx初步学习-配置反向代理

Posted 专注着

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx初步学习-配置反向代理相关的知识,希望对你有一定的参考价值。

因工作需要,在工作中尝试做了nginx的反向代理的功能。因此做了一些自己学习和理解的心得。 (新手才开始,其他人不喜欢,勿喷)

(nginx的安装等请在网络上自行查找)
      以下为我自己配置的nginx.conf的简单配置。具体优化说明,会在后面的博客中具体说明。
# user用来定义nginx的用户组
#user  nobody;

# 设置nginx的进程数,(建议为当前系统的核心数)
worker_processes  2;

#输出nginx的错误日志。主要是在启动nginx时的错误信息的记录
error_log  logs/error.log;

#进程文件
pid        logs/nginx.pid;

events 
    #单个进程最大连接数(最大连接数=连接数*进程数)
    worker_connections  1024;


#设定http服务器
http 
    #文件扩展名与文件类型映射表
    include       mime.types;

    #默认文件类型
    default_type  application/octet-stream;

    #默认编码
    charset utf-8; 

    #该http服务器的日志记录,其中记录了访问的一些浏览器信息、系统信息等
    access_log  logs/access.log;

    #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,
    #如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。 
    sendfile        on;

    #长连接超时时间,单位是秒
    keepalive_timeout  65;

    #设置反向代理。
    #反向代理配置,是将nginx作为前端代理服务器,所有的请求都会经过nginx,nginx会根据具体的配置信息
    #将请求转发到对应的服务器
    upstream websocket.com  #websocket.com 服务器集群的名称
        server 127.0.0.1:7001 weight=6; #配置的weblogic的服务器。weight为权重,权重值越大,被分配的几率越高
        server 127.0.0.1:8081 weight=1; #配置的apache tomcat服务器
    

    #虚拟主机的配置
    server 

        #监听端口
        listen       80;

        #域名可以有多个,用空格隔开
        server_name  localhost;

        location /angulerjs/  #将请求转发给对应服务器
            proxy_pass http://websocket.com/angulerjs/; #代理服务器的路径,这里用到了反向代理的名称。其中的auglerjs为需要具体具体服务器的应用名称(根据具体配置为准)
            proxy_redirect default;
        
    

以上的配置中,我在本地运行了weblogic(127.0.0.1:7001)和apache tomcat(127.0.0.1:8081)两个服务器,这两台服务器中都部署了anglerjs的web项目。

在上述配置中,我将关于"/websocket"相关的请求,均分发给以上两台服务器处理,静态资源nginx不做管理。


以上文件配置完成之后,执行 nginx -s reload 重新部署nginx。

在浏览器中访问: http://localhost/

在做以上访问,会自动跳转到angulerjs的indexjsp的页面,具体页面如下:

当尝试停止两台服务器中的一台之后,继续访问页面,也不会出现宕机的情况,第一次配置nginx就这样成功了,后续会更新关于nginx的其他配置和实践。

希望得到大家的支持。




以上是关于nginx初步学习-配置反向代理的主要内容,如果未能解决你的问题,请参考以下文章

Nginx学习,不妨看一下

nginx的初步了解

Nginx初步优化

nginx的反向代理配置

Linux学习116 nginx实现反向代理配置与实战

宝塔配置vue反向代理Nginx解决