nginx-初探

来源:互联网 发布:英文原版书推荐 知乎 编辑:程序博客网 时间:2024/05/18 15:23

概念

反向代理:在服务器端的而代理,为了实现安全和负载均衡等。
每个 url 请求都会对应的一个服务,nginx 进行处理转发或者是本地的一个文件路径,或者是其他服务器的一个服务路径。而这个路径的匹配是通过 location 来进行的。我们可以将 server 当做对应一个域名进行的配置,而 location 是在一个域名下对更精细的路径进行配置。
当我们配置 upstream 时是对 upstream 模块,而 server 和 location 是在 http core 模块,其他的还有流控的 limt 模块,邮件的 mail 模块,https 的 ssl 模块。他们的配置都是类似的可以再 nginx 的模块文档中找到详细的配置说明。
image

Poll模型(epoll and kqueue )

配置

server:虚拟主机的概念
root:是指将本地的一个文件夹作为所有 url 请求的根路径。

要让配置生效,我们不必重启 nginx 只需要 reload 配置即可。

upstream:Nginx可以配置代理多台服务器,当一台服务器宕机之后,仍能保持系统可用。

upstream store {       ip_hash;      server 10.0.6.108:7080;       server 10.0.0.85:8980; }

可以配置负载分配策略。
将server节点下的location节点中的proxy_pass配置为:http:// + upstream名称,即可使用这个负载。

location的匹配:其中“~ ”和“~* ”前缀表示正则location ,“~ ”区分大小写,“~* ”不区分大小写;其他前缀(包括:“=”,“^~ ”和“@ ”)和无任何前缀的都属于普通location 。
^~ 开头表示uri以某个常规字符串开头

接口代理

项目改造,需要本地测试新接口
1.配置将请求转移到真正提供服务的机器上:

location / {    proxy_pass 123.34.56.67:8080;}

proxy_set_header:允许重新定义或添加发往后端服务器的请求头。

命令

1.window下:
启动:start nginx
停止:nginx -s stop 或 nginx -s quit quit是有序退出
重新载入: nginx -s reload
查看命令: nginx -h

疑问

nginx和hosts文件的关系
hosts请求是正向的,优先在本地查找域名解析。
nginx解析是反向,接收请求,根据配置分发到upstream策略中去

参考

location的讲解
nginx正则讲解

0 0
原创粉丝点击