注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

拥有自己的梦想,跟随心的召唤

平凡是福

 
 
 

日志

 
 

nginx 资料收集  

2015-10-29 13:37:25|  分类: nginx |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
官网 nginx.org
一)基本信息
1)相关命令
> nginx -s stop        - 快速关闭
> nginx -s quit         - 正常关闭 (等待正在处理的请求完成后再关闭)
> nginx -s reload     - 重新加载配置文件
> nginx -s reopen    - 重新打开日志文件
> nginx -v                - 输出版本信息,使用大写V则显示版本、编译版本和命令行的配置参数
> nginx -t                 - 测试配置文件的语法是否正确,用大写T则将除检测外还输出配置文件的内容
> nginx -c                - 使用特定的配置文件而不是默认的配置文件
2)配置
配置文件所在位置:conf/*
主配置文件:conf/nginx.conf
mime类型定义文件:conf/mime.types
3)http 基本配置 (How nginx processes a request)
http {
  ...
  server {
     listen               80;                        - 端口
     server_name  localhost;              - 服务名,多个用空格隔开,对应 host 头的值
     location / {
        root   html;
        index  index.html index.htm;
     }
  }
}
client_max_body_size 10m; - 默认的文件上传大小控制
4)负载均衡配置 (Using nginx as HTTP load balancer)
默认支持如下 3 种负载均衡机制:
  • round-robin    - 轮询策略,以轮询方式将请求分配到不同服务器上
  • least-connected 最少连接数策略,将下一个请求分配到连接数最少的那台服务器上
在一些要求需要更长的时间才能完成的应用情况下, 最少连接可以更公平地控制应用程序实例的负载。使用最少连接负载均衡,nginx不会向负载繁忙的服务器上分发请求,而是将请求分发到负载低的服务器上。
  • ip-hash       - IP哈希策略,基于客户端的IP地址散列值,同一IP地址分配到固定的 server(除非此server不可用)
3 种机制均支持加权配置!轮询或最少连接的负载均衡算法,每个后续的客户端的请求,可以潜在地分配给不同的服务器上,并不能保证相同的客户端请求将总是指向同一服务器上。这对于有会话信息的应用场景下,会有问题的。一般的做法是需要将session信息共享,如使用memcache来存放session。如果需要将客户端的会话总是试图连接到特定的服务器,负载均衡的 ip-hash 机制就可以实现。
配置如下:
http {
 upstream myapp1 {
   least_conn;          - 设置 least-connected 策略,不设置默认为 round-robin 策略
   server srv1.example.com weight=3; - weight 用于设置权重值
   server srv2.example.com;
   server srv3.example.com;
 }
 ...
}
注:使用机制时设置为 “ip_hash;”。在 server 节点配置后面,还可以设置:
max_fails=number  - 失败的最大尝试数
fail_timeout=time - 连接超时时间,默认为 10 秒
backup        - 标记为备用服务器,在主服务器可用时不会分配到此服务器
down          - 标记此服务器不可用
...

二)Ubuntu 下的安装配置
$ wget http://nginx.org/download/nginx-1.9.5.tar.gz
$ tar -xzf nginx-1.9.5.tar.gz
$ cd nginx-1.9.5
$ sudo ./configure
    --prefix=/usr/local/nginx
    --sbin-path=/usr/local/nginx/sbin/nginx
    --conf-path=/usr/local/nginx/conf/nginx.conf
    --pid-path=/usr/local/nginx/logs/nginx.pid
    --error-log-path=/usr/local/nginx/logs/error.log
    --http-log-path=/usr/local/nginx/logs/access.log
    --user=nobody
    --with-http_ssl_module
    --with-pcre=../pcre-4.4
    --with-zlib=../zlib-1.1.3
上述的 --param=value 配置为默认值,其中 pcrezlib 的源码需要自己下载(如果系统已经安装就不需要此参数)
$ sudo make
$ sudo make install
2)设置 nginx 可以使用非 root 用户启动
$ sudo chown root:root /usr/local/nginx/sbin/nginx
$ sudo chmod u+s /usr/local/nginx/sbin/nginx
$ sudo vi /usr/local/nginx/conf/nginx.conf
修改 user=nobody 的值,改为用于启动 nginx 的非 root 账号,如
user bctest bc;
3)创建软连接方便命令行的使用
$ sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
下载复制这个脚本为 /etc/init.d/nginx 文件
$ sudo chown root:root /etc/init.d/nginx
$ sudo service nginx start
$ sudo update-rc.d nginx defaults 80 90
删除开机自启动则:
$ sudo update-rc.d nginx remove

三)Mac OS X 下的安装配置
基于源码的安装与 Ubuntu 下一样,开机自启动项的配置则需按照 Mac 的规范,详见 《mac os x下nginx开机自启动》

四)Windows 下的安装
1)安装、启动
下载 nginx-[version].zip 后解压即可直接,无需安装。运行解压所得文件夹内的 nginx.exe 文件,nginx 就启动了!默认为 80 端口。启动后相关日志都在 logs 目录下:
access.log  - 访问日志
error.log     - 错误日志

参考:
Nginx透传获取客户端IP地址
三个nginx配置问题的解决方案  
  评论这张
 
阅读(321)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018