Nginx代理服务的配置说明
1、上一篇中我们在>我们大多数的客户在他们的服务器上使用Apache作为Web服务器,尤其是部署在一个基于PHP系统的前端并且使用mod-PHP。鉴于扩张性和性能方面的原因,我们通常会建议他们改用Nginx和FPM。
Apache是非常强大的Web服务器,模块化结构,也是Web服务端的鼻祖。除了捆绑一些其他的工具外,Apache已经成为了世上最广泛部署的开源系统,直到最近,世界上大多数网站仍运行着Apache系统。
但是,Apache并不是完美的,并且不再适合大规模系统。为什么?因为他的进程模式虽然简单而灵活,但并不适合大规模尤其是当要处理像PHP这种需要占用大量内存应用程序代码时。
一个典型的网络应用服务器由两部分组成。客户端连接部分负责用户浏览器与>两种前端架构:
lvs -> nginx前端代理 -> squid缓存
lvs -> squid前端缓存 -> nginx中层代理
squid在前面的优点:
Squid作纯代理比较稳当
前端少一级代理,响应速度会快,出问题的可能性要小
功能有限,不会常被调整
容易为人接受,只是为了扩充功能而增加中层代理
一般的配置简便,比如增加一个二级域名,只需配置一个指向。
增加的nginx可扩展功能,增加对应用服务的负载均衡等。
squid在前面的缺点:
squid支持的负载均衡配置复杂
容灾问题
更新缓存要遍历所有机器
squid只支持单cpu,所以浪费cpu
nginx在前面的优点:
分流、负载均衡功能强大,可以细致定义
可精细定制access_log
nginx的错误日志更详细
可让squid只缓存无压缩版本,由nginx压缩,这样可优化squid缓存容量
nginx可分担部分无实时性要求的缓存
nginx在前面的优点:
nginx目前还有部分bug。
功能强,所以可能经常被调整
nginx代理用的短链接方式
单机上安装nginx+squid的cpu消耗比纯squid和纯nginx之和要大一倍,但也不算高
容易遭到质疑,不易被接受。1、首先需要准备的应用程序包。nginx:nginx/Windows-104php:php-5216-nts-Win32-VC6-x86zip(nginx下php是以FastCGI的方式运行,所以我们下载非线程安全也就是nts的php包)(还会用到)RunHiddenConsole:RunHiddenConsolezip2、安装与配置。 1)php的安装与配置。直接解压下载好的php包,到D盘wnmp目录(D:\wnmp),这里把解压出来的文件夹重命名成php5。进入文件夹修改phpini-recommended文件为phpini,并用Editplus或者Notepad++打开来。找到extension_dir="/ext"更改为extension_dir="D:/wnmp/php5/ext"往下看,再找到;extension=php_mysqldll;extension=php_mysqlidll前面指定了php的ext路径后,只要把需要的扩展包前面所对应的“;”去掉,就可以了。这里打开php_mysqldll和php_mysqlidll,让php支持mysql。当然不要忘掉很重要的一步就是,把php5目录下的libmysqldll文件复制到C:\Windows目录下,也可以在系统变量里面指定路径,当然这里我选择了更为方便的方法^_^。到这里,php已经可以支持mysql了。接下来我们来配置php,让php能够与nginx结合。找到;cgifix_pathinfo=1我们去掉这里的封号。cgifix_pathinfo=1这一步非常重要,这里是php的CGI的设置。 2)nginx的安装与配置。把下载好的nginx-104的包同样解压到D盘的wnmp目录下,并重命名为nginx。接下来,我们来配置nginx,让它能够和php协同工作。进入nginx的conf目录,打开nginx的配置文件nginxconf,找到location/{roothtml;#这里是站点的根目录indexindexhtmlindexhtm;}将roothtml;改为rootD:/wnmp/>首先搞清楚B/S架构和C/S架构,其中的B指的是browser,浏览器端;C指的是client,客户端;S指的是sever,服务器端。
client是运行在客户端机器上的应用程序,它跟别的应用程序无异,需要特别编写,然后下载部署或者说是安装在客户端机器上,比如QQ和一些网络游戏的客户端程序。
browser是所有能解析>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)