Nginx 请求转发配置

560次阅读
没有评论

共计 1524 个字符,预计需要花费 4 分钟才能阅读完成。

一.Nginx 简介

  • Nginx 是 lgor Sysoev 为俄罗斯访问量第二的 rambler.ru 站点设计开发的。从 2004 年发布至今,凭借开源的力量,已经接近成熟与完善
  • Nginx 功能丰富,可作为 HTTP 服务器,也可作为反向代理服务器,邮件服务器。支持 FastCGI、SSL、Virtual Host、URL Rewrite、Gzip 等功能。并且支持很多第三方的模块扩展
  • Nginx 的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有 12.18% 的使用比率,大约为 2220 万个网站

二.Nginx 的主要功能

  • 反向代理 : 用的最多, 以代理服务器来接受 internet 上 的连接请求,然后将请求转发给内部网络上的服务器( 正向代理与反向代理简介)
  • 请求转发 : 通过路径匹配把用户的请求转发到不同的服务器
  • 负载均衡 : 一个服务使用集群部署,用户请求时通过负载均衡算法把用户的请求分摊到不同的服务器上。常见的负载均衡算法有轮询、随机、加权轮询、ip 哈希、最小请求时间等
  • HTTP 服务器(包含动静分离)...
  • ...

三.Nginx 常用命令

# 启动
nginx

# 关闭 nginx
nginx -s stop

# 重启 nginx
nginx -s reload

# 查看端口,可以使用 kill 终止进程
ps -aux | grep nginx

四. 配置 ngin 代理, 实现请求转发功能

1. 打开 nginx 的 conf 目录下的nginx.conf

vim /usr/local/nginx/conf/nginx.conf

2. 进行配置

events {worker_connections  1024;  # 最大连接数}
http {
    include       mime.types;  # 文件扩展名与文件类型映射表
    default_type  application/octet-stream;  # 默认文件类型,默认为 text/plain
    sendfile        on;  # 允许 sendfile 方式传输文件,默认为 off
    server {
        listen 80;  # 开放给用户的访问端口,即 nginx 的监听端口
        server_name  127.0.0.1; # 改为自己的域名,没域名修改为 127.0.0.1:80(或 localhost)
        charset utf-8;
        location / {              # 匹配路径 "/"
            root /home/html;      # 匹配后访问 html 路径
            index index.html;     # html 文件名称
            try_files $uri $uri/ /index.html;  # 解决单页面应用刷新 404 问题
        }
        location ~ /server1/{     # 匹配器请求地址包含 "/server1/"
            proxy_pass http://127.0.0.1:8001;  #转发服务器地址
        }
        location ~ /server2/{     # 匹配器请求地址包含 "/server2/"
            proxy_pass http://127.0.0.1:8002;  #转发服务器地址
        }
    }
    # 新增的 server
    server {
        listen 8000;  # 开放给用户的访问端口 8000,即 nginx 的监听端口
        server_name  127.0.0.1; # 改为自己的域名,没域名修改为 127.0.0.1:80(或 localhost)
        charset utf-8;
        location / {  # 匹配路径 "/"
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:8808;  # 转发的端口, 需要与你配置的 uwsgi 里配置的 port 一样
           uwsgi_param UWSGI_SCRIPT luffyapi.wsgi;  #wsgi.py 所在的目录名 +.wsgi
           uwsgi_param UWSGI_CHDIR /home/project/luffyapi/; # 项目路径
        }
    }
}

3. 图解

Nginx 请求转发配置

正文完
 
shawn
版权声明:本站原创文章,由 shawn 2023-06-16发表,共计1524字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)