Nginx系列讲解

合集下载

nginx配置详解

nginx配置详解

nginx配置详解⾼性能的http服务代理服务器和反向代理服务器,能⽀持50000个并发连接数正向代理明确买家是谁,让代理⼈去联系⽬标例如局域⽹内的客户端想要访问局域⽹外的internet,则需要代理服务器来访问,这种代理就是正向代理反向代理客户端不需要任何配置就可以访问,只需要将请求发送到代理服务器,有代理服务器去选择⽬标服务器在返回给客户端负载均衡将请求分发到不同服务器、负载分发到不同服务器,就是负载均衡访问⼀个ip 默认是80 (nginx) tomcat 是8080动静分离为了加快⽹站的解析速度、将动态和静态页⾯有不同服务器来解析,降低原来单个服务器的压⼒安装进⼊压缩⽬录执⾏./configure执⾏make && make install (编译安装)安装完成后多⼀个local/nginx 在nginx有sbin 启动脚本./nginx访问: ->welcome to nginx查看开放的端⼝:firewall-cmd –list-all添加端⼝:Firewall-cmd –add-service=http -permanentSudo firewall-cmd –add-port=80/tcp –permanent重启防⽕墙:firewall-cmd -reloadNginx 相关命令:1 进⼊到nginx的⽬录 /usr/local/nginx/sbin2 查看nginx的版本号:./nginx -v3 启动nginx ./nginx4 关闭nginx ./nginx -s stop5 重加载 ./nginx -s reload (重新加载配置⽂件 nginx.conf)Nginx的配置⽂件组成第⼀块:全局块从配置⽂件开始到events块之间的内容、主要设置⼀些影响nginx服务器运⾏的配置指令,⽐如 worker_process 1; 值越⼤,可以⽀持的并发量也越多第⼆部分:events涉及的指令主要影响nginx服务器与⽤户的⽹络连接数⽐如 worker connections 1024 ⽀持的最⼤连接数第三部分:http块(配置最多的地⽅)http全局块server块举例:浏览器访问Nginx.conf 配置如下图:proxy_pass 反向代理的地址例如:要实现http://127.0.0.1:9091/edu 访问tomcatl1 (127.0.0.1:8080)http://127.0.0.1:8080/vod 访问tomcatl2 (127.0.0.1:8081)注意:开放端⼝ 9091 8081 8080 (firewall)在 /usr/src/tomcat-xx/apache-tomcat-xx/webapps/ 创建 edu⽬录然后放⼀个a.html⽂件这时访问就能看到这是nginx.conf ⾥要改的内容~ /edu/ #正则表达式,请求路径包含 edu时就会转发到 xxx:8080关于location的说明:负载均衡:访问http://192.168.17.129/edu/a.htmlUpstream myserver{Server 192.168.17.129:8080;Server 192.168.17.129:8081;}策略:轮询(默认)、权重、ip_hash、fair(第三⽅)轮询:服务器如果down掉,⾃动剔除权重:weight 权重越⾼,分配的客户端越多Upstream myserver{Server xxx weight=1;Server xxx weight=10;}Ip_hash:每个访客固定⼀个后端服务器、可以解决session问题Upstream myserver{Ip_hash;Server xxx;Server xxx;}Fair:按后端服务器响应时间来分配请求、响应时间断的优先分配Upstream myserverr{Server xxxx;Server xxxx;Fair;}动静分离:Nginx处理静态页⾯、tomcat处理动态页⾯:⼀:把静态⽂件独⽴成单独的域名放在独⽴的服务器上另⼀种就是动态和静态⽂件混合⼀起发布,通过nginx来分开,通过location指定不同的后缀名实现不同的转发请求、通过expires 参数设置可以使浏览器缓存过期时间,减少与服务器之间的请求和流量;设定⼀个过期时间,也就是⽆需去后端服务验证,直接通过浏览器确认是否过期即可,不会残⽣额外的流量/data/image/01.jpg/data/www/a.htmlAutoinde on; // 列出返回⽬录最终测试:http://192.168.17.129/image/01.jpghttp://192.168.17.129/www/a.html⾼可⽤集群需要两台服务器 192.168.17.129 192.168.17.131 (nginx)这两台都要安装nignx、keepalivedYum -y install keepalived安装好之后修改/etc/keepalived/keepalived.conf ⽂件分别启动nignx和keepalived./nginx systemctl start keepalived.service补充:关闭nginx服务1 kill `cat /usr/local/nginx/logs/nginx.pid` //⽂件中有个pid号2 nginx -s reload //重载Session共享:⽆论登录那⼀台ip,session是⼀致的1 内存数据库(memcache)1 修改服务器和数据库的关联关系。

Nginx配置详解

Nginx配置详解

Nginx配置详解序言Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。

从2004年发布至今,凭借开源的力量,已经接近成熟与完善。

Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。

支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。

并且支持很多第三方的模块扩展。

Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。

牛逼吹的差不多啦,如果你还不过瘾,你可以百度百科或者一些书上找到这样的夸耀,比比皆是。

Nginx常用功能1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。

这里我给来2张图,对正向代理与反响代理做个诠释,具体细节,大家可以翻阅下资料。

Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。

Nginx 可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。

并且Nginx对返回结果进行错误页跳转,异常判断等。

如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。

2、负载均衡Nginx提供的负载均衡策略有2种:内置策略和扩展策略。

内置策略为轮询,加权轮询,Ip hash。

扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。

上3个图,理解这三种负载均衡算法的实现Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。

3、web缓存Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。

nginx长连接原理-概述说明以及解释

nginx长连接原理-概述说明以及解释

nginx长连接原理-概述说明以及解释1.引言1.1 概述长连接是一种网络连接模式,它允许客户端与服务器之间建立一次连接后,多次进行数据传输,而无需频繁地建立和断开连接。

相对于短连接模式,长连接减少了服务器资源的浪费,提升了数据传输的效率和性能。

在互联网应用中,长连接主要用于解决频繁通信的场景,如即时通讯、实时数据传输等。

传统的短连接方式在每次请求结束后会主动断开连接,而下一次请求需要重新建立连接,这种频繁的连接操作会导致服务器的资源浪费和性能下降。

而长连接则通过保持连接的方式,使得客户端与服务器之间的通信可以持续进行,减少了连接建立和断开的开销,提高了数据传输的效率。

Nginx作为一款高性能的Web服务器和反向代理服务器,也支持长连接。

它利用了事件驱动的模型和多路复用技术,使得可以同时处理多个连接,并将其连接管理工作交给了Nginx的Worker进程来负责。

通过配置Nginx的长连接参数,我们可以控制长连接的超时时间、最大连接数等,以满足不同应用场景的需求。

本文将详细介绍Nginx中长连接的实现原理,包括Nginx的网络模型、连接管理机制以及与传统短连接方式的对比等。

同时,还会探讨长连接的优势和适用场景,以及对长连接进行合理配置的一些建议。

通过深入了解Nginx长连接的原理和应用,我们可以更好地利用Nginx提升系统性能和用户体验。

文章结构部分的内容应该包括对整篇文章的框架和各个章节的简要介绍。

文章结构部分的内容可以如下编写:1.2 文章结构本文主要分为以下几个部分:引言:在引言部分,我们将对本文的主要内容进行概述,介绍文章的结构以及研究的目的。

正文:2.1 长连接的概念和作用:本节将介绍长连接的基本概念和作用,包括与短连接的对比,以及长连接在网络通信中的重要性。

2.2 Nginx中的长连接实现原理:这一节将深入探讨Nginx中的长连接实现原理,包括TCP/IP协议的特点、Nginx的工作原理、长连接的处理流程以及相关配置参数的解析。

Nginx服务器下配置个性二级域名及多个域名的实例讲解

Nginx服务器下配置个性二级域名及多个域名的实例讲解

Nginx服务器下配置个性⼆级域名及多个域名的实例讲解我们的做法就是通过服务器配置,将访问的url转换为实际的url下⾯我们来⽤nginx配置。

配置如下:server {listen 80;server_name *;if ( $host ~* (\b(?!www\b)\w+)\.\w+\.\w+ ) {set $subdomain $1;}location / {rewrite ^/$ /auth/$subdomain last;proxy_pass https:///;}}其中的if,是⽤于过滤某些特殊的⼆级域名,⽐如www,然后获取⼆级域名的变量值。

rewrite转化为对应的⽬录rewrite ^/$ /auth/$subdomain last;再加上nginx的反向代理功能:这样配置之后,除了if中过滤的⼆级域名,其他的⼆级域名{sudomain},对于服务器,其真实的路径都是/auth/{sudomain}。

如果url有多种路径规则,则需要⼀⼀进⾏配置。

多域名配置nginx绑定多个域名可⼜把多个域名规则写⼀个配置⽂件⾥,也可⼜分别建⽴多个域名配置⽂件,我⼀般为了管理⽅便,每个域名建⼀个⽂件,有些同类域名也可⼜写在⼀个总的配置⽂件⾥。

⼀、每个域名⼀个⽂件的写法⾸先打开nginx域名配置⽂件存放⽬录:/usr/local/nginx/conf/servers ,如要绑定域名 则在此⽬录建⼀个⽂件:www.your-domain.conf然后在此⽂件中写规则,如:server{listen80;server_name;#绑定域名indexindex.htm index.html index.php; #默认⽂件root/home/www/; #⽹站根⽬录includelocation.conf; #调⽤其他规则,也可去除}然后重起nginx服务器,域名就绑定成功了nginx服务器重起命令:/etc/init.d/nginx restart⼆、⼀个⽂件多个域名的写法⼀个⽂件添加多个域名的规则也是⼀样,只要把上⾯单个域名重复写下来就ok了,如:server{listen80;server_name;#绑定域名index.htm index.html index.php; #默认⽂件root/home/www/;#bbs⽬录includelocation.conf; #调⽤其他规则,也可去除}server{listen80;server_name;#绑定域名indexindex.htm index.html index.php; #默认⽂件root/home/www/;#⽹站根⽬录includelocation.conf; #调⽤其他规则,也可去除}三、不带www的域名加301跳转如果不带www的域名要加301跳转,那也是和绑定域名⼀样,先绑定不带www的域名,只是不⽤写⽹站⽬录,⽽是进⾏301跳转,如:server{listen80;server_name;rewrite^/(.*) https:///$1 permanent;}四、添加404⽹页添加404⽹页,都可⼜直接在⾥⾯添加,如:server{listen80;server_name; #绑定域名indexindex.htm index.html index.php; #默认⽂件root/home/www/; #⽹站根⽬录location.conf; #调⽤其他规则,也可去除error_page404/404.html;}学会上⾯四种规则⽅法,基本就可以⾃⼰独⽴解决nginx 多域名配置问题了。

nigx 语法-概述说明以及解释

nigx 语法-概述说明以及解释

nigx 语法-概述说明以及解释1.引言1.1 概述Nginx(英文发音为"engine x")是一款开源的高性能Web服务器和反向代理服务器。

它以其出色的性能和稳定性而闻名,并被广泛用于大型网站和高流量的应用程序中。

Nginx的主要优势之一是其能够处理大量并发连接而不消耗过多的系统资源。

相较于传统的Web服务器,如Apache,Nginx采用了一种非常轻量级的事件驱动模型,能够有效地处理多个并发连接,而无需为每个连接创建额外的线程或进程。

这种设计使得Nginx在高负载情况下能够保持良好的性能表现,并且能够消化大量的请求。

此外,Nginx还具有高度灵活的配置选项,使得它成为一个强大的反向代理服务器。

通过配置反向代理,Nginx可以将客户端请求转发给后端的多个服务器,以实现负载均衡和高可用性。

它还支持HTTP、HTTPS、SMTP、POP3和IMAP等多种协议,并能够进行高级的HTTP内容缓存、SSL/TLS加密以及动态请求的反向代理。

在本文中,我们将深入探讨Nginx的语法要点和特性。

我们将介绍如何正确配置Nginx服务器,包括虚拟主机设置、访问控制、日志记录等。

此外,我们还将研究Nginx的高级功能,例如URL重写、反向代理和负载均衡策略的配置。

通过深入了解Nginx的语法和功能,读者将能够充分利用Nginx来提高他们的Web应用程序的性能和可靠性。

因此,本文的目的是系统地介绍Nginx的语法要点,帮助读者全面理解并正确配置Nginx服务器。

同时,我们还将展望Nginx的应用前景,并提出改进建议,以进一步优化Nginx的性能和功能。

在接下来的章节中,我们将针对Nginx的语法要点进行详细的讨论,并总结出最佳实践。

我们还将探索Nginx在不同应用场景中的应用前景,并提出一些建议,以进一步提高Nginx的性能和可用性。

让我们一起深入研究Nginx的语法和功能,以实现更高效的Web服务器部署和管理。

nginx通俗解释

nginx通俗解释

nginx通俗解释
Nginx(读作“engine-x”)是一个高性能的开源Web服务器,同时也可以用作反向代理服务器、负载均衡器和HTTP缓存。

通俗来说,Nginx就像是一个餐厅大厨,负责处理来自客人(网页访问者)的
点菜请求。

它主要的工作是将客人的请求转发给具体的菜品(Web应用程序),
然后将制作好的菜品再端给客人。

所以,Nginx可以帮助我们快速响应客户端的请求,并且通过一些特殊的技巧,提高网站的性能和稳定性。

与传统的Web服务器相比,Nginx具有很多优势。

首先,它使用的是异步的事
件驱动架构,可以同时处理多个请求,并且在高负载情况下仍然能够保持良好的性能。

其次,Nginx还具有非常灵活的配置选项,可以根据需要进行定制。

此外,Nginx还支持负载均衡和反向代理,可以将来自多个服务器的请求分发到不同的后
端服务器上,以提高系统的可用性和扩展性。

总结一下,Nginx与其他Web服务器相比,具有更强大的性能和更高的并发处
理能力。

它能够处理大量的请求,同时保持低延迟和高稳定性。

而且,由于其开源的特性,Nginx的功能也得到了广泛的扩展和定制。

无论是小型网站还是大型企业
应用,Nginx都能为我们提供可靠的服务。

希望以上的解释对您对Nginx的理解有所帮助。

如有任何进一步的问题,请随
时提问。

Nginx的正则表达式详解

Nginx的正则表达式详解

Nginx的正则表达式详解Nginx (engine x) 是⼀个⾼性能的HTTP和反向代理服务,也是⼀个IMAP/POP3/SMTP服务。

Nginx是由伊⼽尔·赛索耶夫为俄罗斯访问量第⼆的Rambler.ru站点(俄⽂:Рамблер)开发的,第⼀个公开版本0.1.0发布于2004年10⽉4⽇。

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、⽰例配置⽂件和低系统资源的消耗⽽闻名。

2011年6⽉1⽇,nginx 1.0.4发布。

Nginx是⼀款轻量级的Web 服务器/反向代理服务器及电⼦邮件(IMAP/POP3)代理服务器,并在⼀个BSD-like 协议下发⾏。

其特点是占有内存少,并发能⼒强,事实上nginx的并发能⼒确实在同类型的⽹页服务器中表现较好,中国⼤陆使⽤nginx⽹站⽤户有:百度、京东、新浪、⽹易、腾讯、淘宝等。

⽽我们今天来聊⼀聊他的正则表达式的使⽤规则,我会简单的举⼏个例⼦然后进⾏说明讲解。

什么是正则表达式正则表达式,⼜称规则表达式。

(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的⼀个概念。

正则表达式通常被⽤来检索、替换那些符合某个模式(规则)的⽂本。

许多程序设计语⾔都⽀持利⽤正则表达式进⾏字符串操作。

例如,在Perl中就内建了⼀个功能强⼤的正则表达式引擎。

正则表达式这个概念最初是由Unix中的⼯具软件(例如sed和grep)普及开的。

正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

正则表达式由⼀些普通字符和⼀些元字符(metacharacters)组成。

普通字符包括⼤⼩写的字母和数字,⽽元字符则具有特殊的含义,我们下⾯会给予解释。

在最简单的情况下,⼀个正则表达式看上去就是⼀个普通的查找串。

例如,正则表达式"testing"中没有包含任何元字符,它可以匹配"testing"和"testing123"等字符串,但是不能匹配"Testing"。

nginx if判断语句-概述说明以及解释

nginx if判断语句-概述说明以及解释

nginx if判断语句-概述说明以及解释1.引言1.1 概述概述部分的内容:引言是一篇长文的开端,旨在为读者提供背景和概览。

在本文中,我们将探讨nginx if判断语句的相关知识和应用。

Nginx是一个功能强大的开源Web服务器,以其高性能和灵活性而闻名。

而if判断语句是nginx 配置文件中的一项重要功能,可以根据条件来执行不同的操作。

本文将围绕nginx if判断语句展开,介绍其基本概念、语法和用法,以及它在实际应用中的作用和优势。

在nginx的配置文件中,if判断语句可以根据一定的条件来执行不同的操作。

这些条件可以是请求的URL、HTTP头信息、请求方法等等,通过if判断语句,我们可以根据这些条件来实现灵活的请求处理逻辑。

无论是做URL重定向、请求过滤还是动态内容处理,nginx if判断语句都能提供便利和灵活性。

在接下来的章节中,我们将详细介绍nginx if判断语句的语法和用法。

我们将从基本语法开始,逐步探讨各种条件判断的方法。

通过实际的示例和案例分析,我们将帮助读者更好地理解和应用if判断语句。

本文的结论部分将总结nginx if判断语句的作用和优势。

我们将回顾其在实际应用中的重要性,并展望其未来的发展潜力。

希望通过本文的阐述,读者能够全面了解nginx if判断语句,并将其应用到实际的项目中,提升应用性能和灵活性。

接下来,我们将在第二部分中详细介绍nginx if判断语句的概述,包括其基本概念、语法和用法。

请继续阅读下一章节。

1.2 文章结构文章结构部分主要用于介绍整篇文章的结构和各个部分的内容安排。

在本文中,文章结构可以按照以下方式进行介绍:文章结构:本文主要由三个部分组成:引言、正文和结论。

1. 引言:引言部分将对本文的主要内容进行简要介绍。

包括对nginx if判断语句的背景和重要性进行概述,并引出本文的结构。

此外,还可以提及nginx 的基本概念和基本用法,为后续章节的内容做铺垫。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Nginx系列一信号与配置一、Nginx与信号Nginx支持平滑重启,相比于Apache,修改了配置文件后可以不需要先停止程序,再重新启动。

1、启动nginx –c nginx.conf其中,-c nginx.conf可以省略不写。

如果省略,则默认加载安装目录下的conf子目录中的nginx.conf。

2、停止停止的方式有很多种,kill时传入不同的信号来结束或者平滑重启。

Nginx的进程号记录在Pid文件中,Pid文件的位置可以在conf/nginx.conf中找到。

如下图:当然,也可以根据ps –ef | grep nginx来查找Nginx的进程号。

我们可以通过kill命令来结束Nginx。

从容停止Nginx:kill –QUIT Nginx进程ID或kill – QUIT /usr/local/nginx/logs/nginx.pid快速停止Nginx:kill –TERM Nginx进程ID或kill – TERM /usr/local/nginx/logs/nginx.pid或kill –INT Nginx进程ID或kill – INT /usr/local/nginx/logs/nginx.pid强制停止Nginx:kill –9 Nginx进程ID或kill -9 /usr/local/nginx/logs/nginx.pid或pkill -9 nginx3、重启如果修改了Nginx的配置文件,想要重启Nginx。

同样可以使用kill命令来传递信号。

不过,在此之前,我强烈建议先检查并测试配置文件是否正确。

测试配置文件:nginx –t –c conf/nginx.conf若提示unknow directive *** in conf/nginx.conf:55. Configuration file conf/nginx.conf test failed,则证明在第55行的***是非法的,需要修改。

若提示the configuration file conf/nginx.conf syntax is ok. Configuration file conf/nginx.conf test is successful,则证明配置文件测试通过,可以重启Nginx了。

平滑重启Nginx:kill –HUP Nginx进程ID或kill – HUP /usr/local/nginx/logs/nginx.pid当Nginx收到HUP信号的时候,首先会尝试解析配置文件,如果成功,则应用新的配置文件并完成重启。

4、Nginx升级Nginx可以平滑升级,在我们重新便利Nginx、添加或删除服务器模块等操作后,通过kill命令并传递USR2信号进行升级。

在此之前,请备份旧的可执行文件。

1)、新的版本仍旧会安装在旧目录当中。

2)、旧Pid文件被重命名为.oldbin3)、执行新版本的Nginx,启动主进程和子进程。

4)、此时新旧版本同时在运行,需要使用kill命令并发送WINCH信号给旧的进程ID,是它从容关闭。

5、Nginx的信号1)、TERM、INT 快速关闭2)、QUIT从容关闭3)、HUP平滑重启,重新加载配置文件4)、USR1 重新打开日志文件5)、USR2 平滑升级可执行程序6)、WINCH 从容关闭工作进程二、基本配置1、主配置文件主配置文件默认位于Nginx安装目录下的conf/nginx.conf。

下面我们将逐行解读Nginx 的主配置文件。

#使用的用户和用户组user www www;#子进程个数,一般等于CPU的总核心数,如4核CPU则为4worker_processes 4 ;#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。

现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。

worker_rlimit_nofile 65535;#错误日志的路径,可选级别为debug\info\notice\warn\error\crit#error_log logs/error.log;#error_log logs/error.log notice;error_log logs/error.log crit;#pid文件的路径,该文件中记录了当前正在运行的Nginx的主进程IDpid logs/nginx.pid;#事件相关events {#使用的网络IO模型,Linux推荐epoll, FreeBSD推荐kqueue. Apache的select是非常低效的use epoll;#允许的连接数worker_connections 10240;}#http相关http {#文件扩展名与文件类型映射表include mime.types;#默认文件类型default_type application/octet-stream;#日志格式ip - 用户[时间] 请求状态发送的字节log_format main '$remote_addr - $remote_user [$time_iso8601] "$request" ''$status $body_bytes_sent ';#接受请求的日志路径access_log logs/$server_name.log main;#客户端所发请求的最大值client_max_body_size 128m;#开启目录列表访问,合适下载服务器,默认关闭autoindex off;#开启高效文件传输模式,是否调用sendfile函数来输出文件,通常为on,如果用来下载等磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。

注意:如果图片显示不正常把这个改成off。

sendfile on;#防止网络阻塞tcp_nopush on;#长连接超时时间,单位是秒keepalive_timeout 65;#是否开启Gzip压缩gzip on;#引入其他的配置文件.我配置了多个虚拟主机,每个应用一个配置文件,所以这里需要引入多个配置文件include vhost/vhost-*.conf;#服务相关server {#监听80端口,listen 80 default backlog=20480;#域名,多个用空格隔开server_name localhost;location /nginx_status {allow all;stub_status on;access_log off;}}}2、配置虚拟主机利用虚拟主机技术,可以不用为每个应用单独的提供一组Nginx进程。

在同一台服务器,同一组Nginx进程,可以运行多个网站。

我在Nginx的安装目录下的conf子目录下新建了一个目录为vhost(在这个目录下放置所有的虚拟主机配置文件),在vhost目录中新建了一个文件,名为vhost-blog.conf。

在Nginx的主配置文件conf/nginx.conf中的http模块下添加了一行include vhost/vhost-*.conf; 那么在Nginx启动时加载conf/nginx.conf,同时也会加载conf/vhost/目录下的所有配置文件。

下面,我们来看看blog这个虚拟主机的配置文件vhost-blog.conf吧:#server模块,每个server都是一个虚拟主机,建议一个配置文件只放一个server {#监听80端口listen 80;#域名,多个用空格分割server_name ;#location模块location / {#代码根目录root /var/www/blog;#首页文件index index.html index.php;#REWRITE规则if (!-e $request_filename) {rewrite ^(.*)$ /index.php?s=$1 last;break;}}#解析PHP,使用FastCGI的方式.location ~ .php{set $path_info "";set $real_script_name $fastcgi_script_name;if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {set $real_script_name $1;set $path_info $2;}fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;fastcgi_param SCRIPT_NAME $real_script_name;fastcgi_param PA TH_INFO $path_info;root /var/www/blog;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;#FastCGI的配置文件.默认和nginx同目录(conf/目录下)include fastcgi.conf;}}三、Nginx压缩输出Gzip是Nginx压缩输出的模块。

Gzip是Gun ZIP,使用压缩技术,经过Gzip的压缩可以使得页面只有原来30%甚至更小。

减少传输带宽。

在服务器,Nginx调用Gzip模块进行压缩,然后消耗网络资源,将压缩数据发送给客户端的浏览器。

客户端的浏览器进行解压,最终显示出来。

Nginx的Gzip配置在配置文件的http{}中。

示例如下:http{#gzip模块设置#开启gzip压缩输出gzip on;#最小压缩文件大小gzip_min_length 1k;#压缩缓冲区gzip_buffers 4 16k;#压缩版本(默认1.1,前端如果是squid2.5请使用1.0)gzip_http_version 1.0;#压缩等级gzip_comp_level 2;#压缩类型,默认就已经包含text/html,所以下面就不用再写gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;}四、Nginx缓存设置设置Nginx缓存,可以让Nginx告诉浏览器,本次响应的内容请保存起来,下次直接给用户看,别再来烦我了。

缓存的方式有效的节省了服务器请求次数、带宽消耗。

相关文档
最新文档