首页 > Web开发 > 详细

web:10、nginx配置补充

时间:2015-11-11 22:21:17      阅读:338      评论:0      收藏:0      [点我收藏+]

1、ngx_http_proxy_module

正向代理;

反向代理:接受用户请求

客户端称为下游,服务器称为上游

1.客户端发起连接请求时,nginx会等待客户端把数据传输完成,一次性的把数据交给上游服务器

2.当上游服务器响应时,nginx边接受边发回给客户端

参数:

1.proxy_pass uri

用来定义协议内容:路径映射和uri

做路径映射时,最后也要加/(前后一致)

格式:

    location /uri {

                    procy_pass http://back_server:port/newuri

                   }

注意:

这里是将/uri映射成/newuri

"/uri"也可以不是uri而是一个正则表达式,此时http://back server:por后不能接uri,“/”也不能接,此时uri也一定要是后端服务器真正的uri,而不会路径映射

如果有url重写,将会使用重写后的结果代理,此时也不考虑前端uri

2.proxy_set_header 

Syntax: proxy_set_header field value;

例子:

location / {
    proxy_pass       http://localhost:8000;
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
}

4.proxy_pass_header

5.proxy_pass_request_body 是否将http请求报文的包体部分发往上游服务器

7.proxy_redirect [default|off|redirect|replacement

当上游服务器返回的响应是重定向或刷新请求时,proxy_rdirect会重新设定http首部的location或refresh




10.upstream使用注意

1.只能用于http上下文

2.各server只能直接使用IP或域名,不需要协议

3.默认为轮询

server address [parametrs]

 wight=#:设定权重

 max_fails=# 最大失败尝试的次数,默认为1

 fail_timeout:失败尝试时长,默认为10s

 down= 手动停止某服务

 backup 转移失败时,最后访问的页面

 health_check 自定义检测状态

  health_check [interval=time] [fails=number] [] [uri]


ip hash 相当于lvs的sh算法,用来实现session绑定,与server address 一起使用

least_conn 基于最少连接调度节点

stick cookie 基于会话绑定 过期时间 dimain  路径



内存缓存hash表,硬盘缓存内容



动静分离:


LNMMP:

naginx服务器自己提供静态内容服务

对php的请求通过fastcgi模块代理至php-fpm模块

 http nginx 

  fastcgi:nginx与php

  uwsgi:nginx与pathon

  http:nginx与jsp

  cgi:nginx与perl



  libcurl-devel bzip2-devel gd-devel libxml2-devel libmcrpt libmcrpt-devel



pam.max_requests 服务多少用户请求然后杀掉进程,重新生成

rlimi_files=能打开的最大文件数



fastcgi模块的常用指令

fastcgi_pass:指定fastcgi服务监听端口、地址、也支持使用 Uxin socket

fastcgi_bind 指定练习fpm服务时使用的地址

fastcgi_param: 定义传递给fpm的参数

fastcgi_index:php的主页面文件


结果可以缓存,缓存空间使用proxy_cache_path定义,使用fastcg_cache定义


fastcgi_cache_path

fastcgi_cache

fastcgi_cache_vaild


fastcgi_connect_timeout:连接fastcgi服务器的超时时长

fastcgi_send_timeout: 向fastcgi服务器传输数据的超时时长

$fastcgi_script_name


获取php-fpm的状态信息


pool 进程池的名称

process manager 进程管理器,有两种类型static和dynamic

start time 启动时间

start since 运行时长

accepted conn 已经接受的进程数

listen queue

等待的队列的请求的个数

max listen queue

fpm启动以来等待队列中的请求的总数

listen queue len

 等待队列长度

idle processes

 空闲的进程数

active processes

 活动进程数

total processes

 总进程数

 max  active processes

 fpm 启动以来最大活动进程数

 max children reached

  达到最大进程数的次数

 slow requests 0

  慢速请求的个数


key-value(键值缓存)



linux:molloc(内存分配),free(内存释放)

使用了salb allocator 内存的申请和回收,避免了内存的系统调用


自定义增长因子


page:分配给salb用于切割的内存空间,默认每个大小为1MB

chuck:用户缓存记录的内存空间

slab class:特定大小的chunk组


自定义增长因子


memcached的协议为文本格式 二进制格式


取余


一致性hash算法 consistent hashing


libevent库

memcached单独服务


-s:监听本地套接字工作

-l IP;监听的ip地址

-d 以守护进程模式运行

-u:身份运行

-m #MB:指定缓存服务使用的内存空间,默认为64MB,不宜过大

-c # 最大并发连接数,默认为1024

-p:监听tcp端口,默认为11211

-U:监听udp端口,默认为11211,0表示禁用

-M:内存耗尽时,返回错误而非删除对象

-f:指定增长因子,默认1.25

-n:check的最小的起始值,key+value+flags,默认为48字节

-h:显示版本号

-v:显示详细信息

-i:显示许可证

-t:每个线程能服务的进程数

启动

menmcached -u menmached


程序员在开发时,自行调用了memcached的API,memcached的功能才能生效

Memcached 服务器

memcached php连接memcached服务可以使用的扩展

memcache php连接memcached服务可以使用另外一个扩展


libmemcached:C库


LNMMP





web:10、nginx配置补充

原文:http://xiexiaojun.blog.51cto.com/2305291/1711901

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!