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和Apache Tomcat搭建一个高性能的负载均衡集群。这种集群不仅可以提高网站的响应速度,还可以增强系统的稳定性和安全性。在未来的工作中,你可以根据实际情况对配置进行...
### 实战Nginx:取代Apache的高性能Web服务器 #### Nginx简介 Nginx是一款轻量级的Web服务器/...通过学习本书,读者不仅可以掌握Nginx的基本配置方法,还能学会如何利用其高级特性来构建更加高效稳定的Web服务系统。
### Linux下如何搭建Nginx服务器 #### 一、Nginx与Apache的对比 **1. Apache的优势:** - **强大的Rewrite功能:** Apache的rewrite规则比...这些步骤不仅适用于新手学习者,也适用于想要深入了解Nginx的高级用户。
总结来说,这个项目是关于使用Lua的Lapis框架与Apache、Nginx进行集成,通过点图展示其结构,并提供了Web代理的实现。对于想深入了解Web服务器、Web框架和Lua编程的人来说,这是一个很好的实践和学习资源。
总结来说,Apache Nginx禁止目录执行PHP脚本文件的方法是通过服务器配置实现的,通过精确控制哪些目录中的PHP文件可以被执行,哪些不可以,从而增强整个网站的安全性。无论是Apache还是Nginx,都提供了丰富的指令集...
**Nginx简介** Nginx是一款高性能的HTTP和反向...在实践中,你可能还需要学习更多高级特性,例如负载均衡、缓存管理和SSL/TLS配置等,以满足不同应用场景的需求。记得不断探索和实践,才能更好地利用Nginx的强大功能。
- **轻量级**:尽管Nginx的代码量仅约10万行,但其功能丰富且强大,相比Apache等其他Web服务器并不逊色。 - **高度定制化**:Nginx的核心组件如内存池、缓冲区管理、字符串处理等功能均为自定义实现,这确保了它的...
另外我把实现过程中遇到的知识点都总结好了,一起提供给大家学习。 步骤: 注:本例程以一台win7机器为例子,即同一台机器上装一个nginx和2个Tomcat。 且安装了JDK。 便于管理将用到的资料放在一个文件夹下 ...
### Nginx 教程知识点总结 #### 一、Nginx 基础 - **安装准备**: - **必要软件**:在安装 Nginx 之前,需要准备必要的软件工具,如编译器等。 - **安装过程**:通过源码安装的方式进行 Nginx 的安装,包括下载...
可以通过安装如“htop”的工具来实时监控服务器负载状况,同时使用Apache的ab工具对Nginx服务器进行高并发请求测试。测试过程中,监控工具可以帮助我们了解服务器的资源使用情况,并验证过载保护是否按预期工作。 ...
总结起来,Nginx在Linux系统中的安装并不复杂,无论是通过包管理器还是源码编译,都能快速地完成部署。Nginx的强大在于其高效稳定的设计和丰富的功能,使其成为许多企业级Web服务的首选。通过深入学习和实践,你可以...
**Nginx 0.8.20 for Windows平台详解** Nginx是一款高性能的Web服务器及反向代理...尽管现在已经有了更先进的版本,但对于学习和理解Nginx的工作原理,以及在特定环境下的部署,这个版本仍然具有一定的参考价值。
总结来说,Apache 2.0.59-win32-x86-no_ssl是一个针对Windows环境的Web服务器版本,虽然缺乏SSL支持,但在教学和实验环境中仍具有价值。了解其核心特性和安装配置,以及如何在不同操作系统上使用,对于IT从业者和...
总结来说,使用Homebrew来安装和配置Nginx和MySQL能够大大简化过程,避免了手动编译和安装各个依赖包的繁琐,并且Homebrew的更新机制能保证软件包是较新的版本。通过上述步骤,开发者可以在Mac上快速搭建一个适用于...
运行`chown root.nginx /var/lib/php/session`命令,将目录所有者改为root用户,组改为nginx用户组。 4. **重启Nginx服务**: 修改权限后,重启Nginx服务以使更改生效。执行`systemctl restart nginx`命令来重启...
- 部署配置:了解如何在不同操作系统(如Linux、Windows)上安装和配置Web服务器软件,如Apache、Nginx、IIS等。 - 性能优化:学习如何调整服务器设置以提高性能,如缓存策略、连接池管理等。 - 安全性:理解Web...
通过本实战视频的学习,我们了解了如何利用Nginx + keepalived + MongoDB + haproxy + Sphinx这一组合来构建一套完整的分布式集群部署方案。该方案不仅能够有效应对高并发访问带来的挑战,还具备良好的扩展性和可...
7. **Web交互与服务器配置**:PHP常与Apache或Nginx等Web服务器配合工作,处理HTTP请求。了解如何配置服务器环境,设置虚拟主机,以及使用PHP处理表单数据,是实际项目开发中的基本技能。 8. **数据库操作**:PHP...
在本文中,我们将学习如何配置Nginx以实现基于用户名和密码的访问认证,从而控制对特定Web站点或页面的访问权限。 首先,认证是网络安全中的一项基本技术。基本认证(Basic Authentication)是HTTP协议提供的一种...