nginx学习

1:安装配置参考:http://www.seaxiang.com/blog/linux-nginx

二:nginx操作命令都是在进入nginx的目录下的sbin中,如/usr/local/nginx/sbin

1):   ./nginx -v 查看版本号

2) :  ./nginx -s stop  关闭nginx

3):  ./nginx     //启动nginx

      ps -ef | grep nginx  

4): nginx的配置文件来/nginx/conf/nginx.conf

不重启nginx重新加载配置文件  ./nginx -s reload

三:nginx的配置文件(/nginx/conf/nginx.conf)

1)第一部分全局快

从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令

ps: worker_processes  1;  值越大支持并发处理量也越多

2)第二部分 events块

涉及指令主要影响Nginx服务器与用户网络连接

ps: worker_connections 1024; 支持的最大连接数

3)第三部分  http块  *****

1》http全局块 :文件引入,MIME-TYPE定义,日志自定义,连接超时时间,单链接请求数上限等。

2》server块

四:配置实例-反向代理

1> 转发   访问代理服务器转发到其他服务器上

ps    location / {  proxy_pass  http://127.0.0.1:8080;}

访问192.168.17.129:80  =》 locahost:8080


若果是静态资源只需修改root:


2> 根据访问路径跳转到不同的端口的服务器中,ngin监听端口为9001

ps: http://127.0.0.1:9001/edu  跳转到  127.0.0.1:8080

http://127.0.0.1:9001/vod  跳转到  127.0.0.1:8081

server {

listen 9001;

server_name localhost;

  location  ~  /edu/ {

     proxy_pass http://127.0.0.1:8080

  }

location  ~  /vod/ {

     proxy_pass http://127.0.0.1:8081

  }

}


五:负载均衡

1》策略:每个请求按时间次序逐一分配到不同服务器。down机自动剔除

2》权重 weight 代表权重默认为一,权重越高被分配机率越高

3》ip_hash ;每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器。可以解决session的问题

4》fair   按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstreat myserver{

【ip_hash】
 server 192.177.12.127:8080;

server 192.177.12.127:8081;

【fair】

}

server {

  location / {

       proxy_pass http://myserver;

}


六:动静分离

分离的是静态请求和动态请求

1:静态资源和动态资源分别部署不同位置

2:放在一起根据路径来匹配

七:高可用的Nginx(集群)


keepalived安装完之后在/etc文件中有keepalived目录有keepalived.conf;1

global_defs:  router_id  LVS_DEVELBACK  //访问主机名字 在vi /etc/hosts中查看设置;

2:vrrp_script chk_http_port{

  script "/脚本路径.sh"

interval 2   # 检测脚本执行的间隔

weight 2 # 权重
}

3:vrrp_instance VI_1

state MASTER  # 主服务器master,备份叫backup

interface ens33 #网卡名称  ifconfig查看

virtual_router_id 51  #主备需要相同值

priority 100 #主备优先级

advert_int   1

virtual_ipaddress {
 182.182.12.32   //vrrp H虚拟地址可以是多个

}

脚本


https://www.cnblogs.com/rexcheny/p/10778567.html

八:原理 

1:一个master和多个worker的好处

1)有利于nginx -s reload的热部署操作

2)每个worker是独立的进程。一个worker出问题,不影响其他worker的争抢,避免请求中断

2:设置多少worker合适

worker数等于Cpu数量

3:worker的连接数worker_connection

一个请求占用worker的连接数?

2个(静态资源)或者4个(动态资源)

最大并发数

worker_connections*worker_processes/2  (静态资源)

worker_connection*worker_processes/4  (动态资源)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容