Nginx的一般转发和Websocket转发

Nginx常用来部署前端打包后的项目,在日常中也会经常使用到,所以关于这一块的使用我们需要熟练掌握

1 nginx的安装部署

  1. 下载对应的nginx版本的gz压缩包 =》 nginx-1.14.2.tar.gz => 解压 tar -zxvf nginx-1.14.2.tar.gz

  2. 安装对应的环境

    1. gcc && g++
      yum install gcc-c++
    2. pcre
      yum install -y pcre pcre-devel
    3. zlib
      yum install -y zlib zlib-devel
    4. openssl
      yum install -y openssl openssl-devel
  3. 创建一个nginx安装目录 mkdir nginx,然后进入nginx解压文件夹准备部署

    cd nginx-1.14.2

  4. 指定文件安装路径 /nginx-1.14.2
    ./configure --prefix=/home/ylb/nginx --with-http_ssl_module -with-http_stub_status_module //ssl https通信

  5. make #编译
    make install #安装

  6. 启动nginx
    修改配置文件 =》 conf/nginx.conf
    sbin => ./nginx -t => 查看是否安装成功
    ./nginx => 启动nginx

  7. 查询配置参数
    ./nginx -V
    对于已安装的nginx需要修改配置参数
    ./configure --prefix=/home/lege/nginx …配置参数
    ./nginx -s stop => 停止
    ./nginx -s reload => 重启

2 常用路径配置

  1. 路由转发(举例说明)
 location /api {
                    add_header Acess-Controller-Allow-Origin *; #常用来配置跨域
                    proxy_set_header X-Real_Ip $remote_addr;
                    proxy_set_header X-Forwared-for $proxy_add_x_forwarded_for;
                   # proxy_pass http://10.100.0.227:9090;  #实际指向地址
                    proxy_redirect off;
     }
  1. websocket转发
  location /websocket {
                    proxy_set_header Upgrade $http_upgrade
                    proxy_set_header Connection 'upgrade';
                   # proxy_pass http://10.100.0.227:9090/websocket;  #实际指向地址
     }
  1. 常用的转发路径注意点
    如上例中,/api 在匹配路径的时候,会将 含有/api的地址拦截并进行转发,此时转发路径可以有俩种选择,一种是带上这个匹配路径 /api,还有一种是不带上这个匹配路径:
    proxy_pass: http://server/; #不带匹配路径
    proxy_pass: hhtp://server; #带匹配路径
  server {
    access_log  /home/access.log;
    error_log   /home/error.log;
        server_name h5.xxx.com;
        location  /abc {
                proxy_pass http://server_url;
        }

       location  /abc {
                proxy_pass http://server_url/;
        }
 }

比如请求 /abc/b.html
如上两个匹配成功后,实际代理的目标url分别是
http://server_url/abc/b.html (把/abc/b.html拼接到http://server_url之后)
http://server_url/b.html (把/abc/b.html的/abc去掉之后,拼接到http://server_url/之后)

关于优先级还有模糊匹配的详情可参考:

Nginx的location匹配规则:优先级和路径替换

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值