定制开发nginx使用教程

1、启动

  1. 双击nginx.exe文件
  2. 进入nginx定制开发定制开发定制开发定制开发安装路径下执行start nginx 命令
  3. 定制开发浏览器输入,即可看到nginx欢迎页

2、nginx停止

进入nginx安装路径下执行nginx -s stop 命令

3、nginx定制开发重新载入配置

进入nginx安装路径下执行 nginx.exe -s reload 命令

注意:定制开发每次修改配置文件都需要执行

4、nginx定制开发检查配置是否正确

进入nginx安装路径下执行 nginx -t 命令
定制开发出现如下结果则证明配置正确

5、Nginx配置实例

5.1、反向代理


定制开发随着单个服务器远远不定制开发能满足需求时,定制开发就出现了一个新名词:分布式部署;
也就是通过部署多台服务器来解决访问人数限制的问题;x宝网站中大部分功能也是直接使用nginx进行反向代理实现的。

5.1.1、修改nginx.conf配置文件

server {        listen       9001;        server_name  localhost;		location ^~ /ser/ {			proxy_pass http://192.168.10.xxx:xxx/;		}    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

参数说明:
1、listen:nginx监听的端口
1、server_name:nginx服务的ip地址或者域名
3、location:配置路由访问信息

location 配置参数:
1、 = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配
成功,就停止继续向下搜索并立即处理该请求。
2、 ~:用于表示 uri 包含正则表达式,并且区分大小写。
3、 ~*:用于表示 uri 包含正则表达式,并且不区分大小写。
4、 ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location块中的正则 uri 和请求字符串做匹配。
注意:如果 uri 包含正则表达式,则必须要有~ 或者 ~*标识。

5.1.2、反向代理测试

浏览器输入:http://localhost:9001/ser/
nginx会将请求分发至代理服务器,完成请求应答。

5.1.3、proxy_pass末尾带斜杠/和不带的区别

  1. proxy_pass末尾有斜杠 / ,proxy_pass不拼接location的路径
    location  /api/ {proxy_pass http://127.0.0.1:8000/;}
    • 1
    • 2
    • 3
    请求地址:http://localhost/api/test
    转发地址:http://127.0.0.1:8000/test
  2. proxy_pass末尾无斜杠 / ,proxy_pass会拼接location的路径
    location  /api/ {proxy_pass http://127.0.0.1:8000;}
    • 1
    • 2
    • 3
    请求地址:http://localhost/api/test
    转发地址:http://127.0.0.1:8000/api/test

5.2、负载均衡

在 nginx 配置文件中进行负载均衡的配置

  1. 在http中添加 upstream ,在upstream 中添加服务列表,设置负载均衡策略
  2. 在location 中指定upstream 名称
    http {	.....		upstream myservere {		server 192.168.10.196:8001 weight=1;		server 192.168.10.196:8002 weight=5;	}    server {        listen       9001;        server_name  localhost;		location / {			proxy_pass http://myservere/;		}    }}
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

5.2.1、负载均衡策略

  1. 轮询(默认)
    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
  2. weight
    weight 代表权重,默认为 1,权重越高被分配的客户端越多
    指定轮询几率, weight 和访问比率成正比,用于后端服务器性能不均的情况。 例如:
    upstream myservere {	server 192.168.10.196:8001 weight=1;	server 192.168.10.196:8002 weight=5;}
    • 1
    • 2
    • 3
    • 4
  3. ip_hash
    每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。 例如:
    upstream myservere {	ip_hash;	server 192.168.10.196:8001;	server 192.168.10.196:8002;}
    • 1
    • 2
    • 3
    • 4
    • 5
  4. fair(第三方)
    按后端服务器的响应时间来分配请求,响应时间短的优先分配。
    upstream myservere {	server 192.168.10.196:8001;	server 192.168.10.196:8002;	fair;}
    • 1
    • 2
    • 3
    • 4
    • 5

5.3、动静分离

  1. 动静分离指的是将动态请求和静态请求分隔开,然后分别路由到相应的后端服务器。
  2. 通常用户的请求中,一部分需要后台程序处理,例如:查询数据库或者进行一些数据运算,这类请求我们称之为动态请求;还有一部分不需要后台程序处理,如请求 css、html、js、图片等静态资源,这类请求我们称之为静态请求。
  3. Nginx 实现动静分离的基础是它可以根据配置对不同的请求做不同的转发,动静分离有利于提高整个服务器系统的性能。

5.3.1、创建静态资源

  1. 在nginx根目录下创建static文件夹( 与conf文件夹同级 )
  2. 在static文件下创建image、css、js等静态资源文件夹
  3. 在各个静态资源文件下创建静态资源
    例如:创建 aa.png 图片

5.3.2、修改配置文件

server {        listen       9001;        server_name  localhost;				#拦截静态请求		location /img/ {			root static/;			autoindex on;		}				#拦截动态请求		location /ser/ {			proxy_pass http://localhost:8001/;		}		    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

测试:
请求静态资源:http://localhost:9001/img/image/aa.png
请求动态资源:http://localhost:9001/ser/nginx/getPage

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发