`

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;
分享到:
评论

相关推荐

    nginx-1.11.3+apache-tomcat-7.0.47搭建高性能负载均衡集群

    通过本文的学习,你应该能够熟练地使用Nginx和Apache Tomcat搭建一个高性能的负载均衡集群。这种集群不仅可以提高网站的响应速度,还可以增强系统的稳定性和安全性。在未来的工作中,你可以根据实际情况对配置进行...

    [实战Nginx_取代Apache的高性能Web服务器].张宴.扫描版-new1

    ### 实战Nginx:取代Apache的高性能Web服务器 #### Nginx简介 Nginx是一款轻量级的Web服务器/...通过学习本书,读者不仅可以掌握Nginx的基本配置方法,还能学会如何利用其高级特性来构建更加高效稳定的Web服务系统。

    Linux下如何搭建nginx服务器

    ### Linux下如何搭建Nginx服务器 #### 一、Nginx与Apache的对比 **1. Apache的优势:** - **强大的Rewrite功能:** Apache的rewrite规则比...这些步骤不仅适用于新手学习者,也适用于想要深入了解Nginx的高级用户。

    harb-lapis:apache、nginx 和 lapis 的点图

    总结来说,这个项目是关于使用Lua的Lapis框架与Apache、Nginx进行集成,通过点图展示其结构,并提供了Web代理的实现。对于想深入了解Web服务器、Web框架和Lua编程的人来说,这是一个很好的实践和学习资源。

    Apache Nginx 禁止目录执行PHP脚本文件的方法

    总结来说,Apache Nginx禁止目录执行PHP脚本文件的方法是通过服务器配置实现的,通过精确控制哪些目录中的PHP文件可以被执行,哪些不可以,从而增强整个网站的安全性。无论是Apache还是Nginx,都提供了丰富的指令集...

    nginx安装包和教程

    **Nginx简介** Nginx是一款高性能的HTTP和反向...在实践中,你可能还需要学习更多高级特性,例如负载均衡、缓存管理和SSL/TLS配置等,以满足不同应用场景的需求。记得不断探索和实践,才能更好地利用Nginx的强大功能。

    nginx源码分析

    - **轻量级**:尽管Nginx的代码量仅约10万行,但其功能丰富且强大,相比Apache等其他Web服务器并不逊色。 - **高度定制化**:Nginx的核心组件如内存池、缓冲区管理、字符串处理等功能均为自定义实现,这确保了它的...

    Nginx+Tomcat负载均衡

    另外我把实现过程中遇到的知识点都总结好了,一起提供给大家学习。 步骤: 注:本例程以一台win7机器为例子,即同一台机器上装一个nginx和2个Tomcat。 且安装了JDK。 便于管理将用到的资料放在一个文件夹下 ...

    Nginx教程从入门到精通到失业

    ### Nginx 教程知识点总结 #### 一、Nginx 基础 - **安装准备**: - **必要软件**:在安装 Nginx 之前,需要准备必要的软件工具,如编译器等。 - **安装过程**:通过源码安装的方式进行 Nginx 的安装,包括下载...

    Nginx添加第三方模块实现过载保护

    可以通过安装如“htop”的工具来实时监控服务器负载状况,同时使用Apache的ab工具对Nginx服务器进行高并发请求测试。测试过程中,监控工具可以帮助我们了解服务器的资源使用情况,并验证过载保护是否按预期工作。 ...

    nginx 安装包

    总结起来,Nginx在Linux系统中的安装并不复杂,无论是通过包管理器还是源码编译,都能快速地完成部署。Nginx的强大在于其高效稳定的设计和丰富的功能,使其成为许多企业级Web服务的首选。通过深入学习和实践,你可以...

    nginx 0.8.20 (windows平台)

    **Nginx 0.8.20 for Windows平台详解** Nginx是一款高性能的Web服务器及反向代理...尽管现在已经有了更先进的版本,但对于学习和理解Nginx的工作原理,以及在特定环境下的部署,这个版本仍然具有一定的参考价值。

    apache_2.0.59-win32-x86-no_ssl

    总结来说,Apache 2.0.59-win32-x86-no_ssl是一个针对Windows环境的Web服务器版本,虽然缺乏SSL支持,但在教学和实验环境中仍具有价值。了解其核心特性和安装配置,以及如何在不同操作系统上使用,对于IT从业者和...

    mac下安装nginx和php

    总结来说,使用Homebrew来安装和配置Nginx和MySQL能够大大简化过程,避免了手动编译和安装各个依赖包的繁琐,并且Homebrew的更新机制能保证软件包是较新的版本。通过上述步骤,开发者可以在Mac上快速搭建一个适用于...

    nginx 下安装配置 phpadmin报错的解决方法

    运行`chown root.nginx /var/lib/php/session`命令,将目录所有者改为root用户,组改为nginx用户组。 4. **重启Nginx服务**: 修改权限后,重启Nginx服务以使更改生效。执行`systemctl restart nginx`命令来重启...

    webservers 完整的学习总结

    - 部署配置:了解如何在不同操作系统(如Linux、Windows)上安装和配置Web服务器软件,如Apache、Nginx、IIS等。 - 性能优化:学习如何调整服务器设置以提高性能,如缓存策略、连接池管理等。 - 安全性:理解Web...

    PHP高级工程师必知必会Nginx+keepalived+MongoDB+haproxy+Sphinx实现分布式集群部署实战视频

    通过本实战视频的学习,我们了解了如何利用Nginx + keepalived + MongoDB + haproxy + Sphinx这一组合来构建一套完整的分布式集群部署方案。该方案不仅能够有效应对高并发访问带来的挑战,还具备良好的扩展性和可...

    PHP学习总结

    7. **Web交互与服务器配置**:PHP常与Apache或Nginx等Web服务器配合工作,处理HTTP请求。了解如何配置服务器环境,设置虚拟主机,以及使用PHP处理表单数据,是实际项目开发中的基本技能。 8. **数据库操作**:PHP...

    详解Nginx实战之让用户通过用户名密码认证访问web站点

    在本文中,我们将学习如何配置Nginx以实现基于用户名和密码的访问认证,从而控制对特定Web站点或页面的访问权限。 首先,认证是网络安全中的一项基本技术。基本认证(Basic Authentication)是HTTP协议提供的一种...

Global site tag (gtag.js) - Google Analytics