apache 改 nginx 学习总结

Apache与Nginx的优缺点比较
1、nginx优点: 效率高
反向代理,负载均衡
轻量级,同样起web 服务,比apache 占用更少的内存及资源
nginx只适合静态和反向。
Nginx选择了 epoll and kqueue 作为开发模型.
最高能支持50,000 个并发连接数

apache的优点:稳定
适合做动态请求
rewrite ,比nginx 的rewrite 强大
最高支持5000最有最大并发连接数

抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能

最核心的区别在于apache是同步多进程模型,一个连接对应一个进程,在进程的切换等方面开销很大;nginx是异步的,多个连接(万级别)可以对应一个进程

Apache 配置文件:
JkMount :
JKMount dwrservices     loadbalancer  //所有以services结尾的请求转发给loadbalancer
     JKMount /*/services/*  loadbalancer  //所有包含services的请求转发给loadbalancer

Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。

sub_filter 一行代码前面是需要替换的内容,后面单引号内是替换成的内容。可以用在http, server, location模块中。主要作用就是查找替换文件字符。

Nginx配置文件
location
基本语法:location [=|~|~*|^~] /uri/ { … }
= 严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。
~ 为区分大小写匹配(可用正则表达式)
~* 为不区分大小写匹配(可用正则表达式)
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
^~ 如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式。
Location语法语法:location [=|~|~*|^~] /uri/ { … }
注:
1、~   为区分大小写匹配
2、~* 为不区分大小写匹配
3、!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
Root :
location  /i/ {
  root  /spool/w3;
}
请求"/i/top.gif" 将会返回"/spool/w3/i/top.gif".

Ssi:
一个静态化的页面中,需要嵌入一小块实时变化的内容

Ajp:
这是一个 Nginx 的模块,用来使用 Ajp 协议连接后端的 Tomcat.

  location ^~ /bd/ {
            ssi  on;
            ajp_keep_conn on;
            ajp_pass ajp://192.20.34.122:8001;
        }

Alias 和 root 的区别
location /img/ {
    alias /var/www/image/;
}
#若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件
location /img/ {
    root /var/www/image;
}
#若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件


proxy_pass
反向代理设置
     用法   location / {
            proxy_pass  http://192.20.34.144:8099;
        }


负载均衡策略

Nginx 提供轮询(round robin)、用户 IP 哈希(client IP)和指定权重 3 种方式。

默认情况是轮询。

ip_hash来指定IP哈希
upstream backend {
    ip_hash;
    server backend1.example.com;
    server backend2.example.com;
    server.backend3.example.com;
}

weight来指定权重
upstream backend {
    server backend1.example.com;
    server IP weight=4;
}

server IP down; (down 表示单前的server暂时不参与负载)
server IP weight=2; (weight 默认为1.weight越大,负载的权重就越大)
server IP backup; (其它所有的非backup机器down或者忙的时候,请求backup机器)


nignx限制了post请求大小限制
:默认的最大请求body大小为8m,修改设置client_max_body_size=100m;

你可能感兴趣的:(apache,nginx)