Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特色是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、 腾讯等。Nginx 能够在大多数 Unix like OS 上编译运行,并有 Windows 移植版。 Nginx 的1.4.0稳定版已经于2013年4月24日发布,通常状况下,对于新建站点,建议使用最新稳定版做为生产版本,已有站点的升级急迫性不高。Nginx 的源代码使用 2-clause BSD-like license。php
Apachehttp server是世界使用排名第一的Web服务器软件。它能够运行在几乎全部普遍Apache Server配置界面,使用的计算机平台上.Apache源于NCSAhttpd服务器,通过屡次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,由于它是自由软件,因此不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特色是简单、速度快、性能稳定,并可作代理服务器来使用。前端
Nginx (发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。 其特色是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用nginx网站用户有:新浪、网易、 腾讯,另外知名的微网志Plurk也使用nginx。linux
nginx启动,重启,关闭命令nginx
中止操做
中止操做是经过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的
步骤1:查询nginx主进程号
ps -ef | grep nginx
在进程列表里 面找master进程,它的编号就是主进程号了。
步骤2:发送信号
从容中止Nginx:
kill -QUIT 主进程号
快速中止Nginx:
kill -TERM 主进程号
强制中止Nginx:
pkill -9 nginx
另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,若是没指定则放在nginx的logs目录下。有了pid文 件,咱们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令以下:
kill -信号类型'/usr/nginx/logs/nginx.pid'
平滑重启git
/usr/sbin/nginx
若是更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,能够向Nginx 发送信号,平滑重启。
平滑重启命令:
kill -HUP 住进称号或进程号文件路径
或者使用github
/usr/sbin/nginx-s reload
web
注意,修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以避免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令以下:
nginx -t -c /usr/nginx/conf/nginx.conf
或者apache
/usr/nginx/sbin/nginx-t后端
一、nginx相对于apache的优势:
轻量级,一样起web 服务,比apache占用更少的内存及资源
抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能
高度模块化的设计,编写模块相对简单
社区活跃,各类高性能模块出品迅速啊
apache 相对于nginx 的优势: 服务器
rewrite ,比nginx 的rewrite 强大
动态页面
模块超多,基本想到的均可以找到
少bug ,nginx 的bug 相对较多
超稳定
存在就是理由,通常来讲,须要性能的web 服务,用nginx 。若是不须要性能只求稳定,那就apache 吧。后者的各类功能模块实现得比前者,例如ssl 的模块就比前者好,可配置项多。这里要注意一点,epoll(freebsd 上是 kqueue )网络IO 模型是nginx 处理性能高的根本理由,但并非全部的状况下都是epoll 大获全胜的,若是自己提供静态服务的就只有寥寥几个文件,apache 的select 模型或许比epoll 更高性能。固然,这只是根据网络IO 模型的原理做的一个假设,真正的应用仍是须要实测了再说的。
二、做为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发链接,体现更高的效率,这点使 Nginx 尤为受到虚拟主机提供商的欢迎。在高链接并发的状况下,Nginx是Apache服务器不错的替代品: Nginx在美国是作虚拟主机生意的老板们常常选择的软件平台之一. 可以支持高达 50,000 个并发链接数的响应, 感谢Nginx为咱们选择了 epoll and kqueue 做为开发模型.
Nginx做为负载均衡服务器: Nginx 既能够在内部直接支持 Rails 和 PHP 程序对外进行服务, 也能够支持做为 HTTP代理 服务器对外进行服务. Nginx采用C进行编写, 不管是系统资源开销仍是CPU使用效率都比 Perlbal 要好不少.
做为邮件代理服务器: Nginx 同时也是一个很是优秀的邮件代理服务器(最先开发这个产品的目的之一也是做为邮件代理服务器), Last.fm 描述了成功而且美妙的使用经验.
Nginx 是一个安装很是的简单 , 配置文件很是简洁(还可以支持perl语法), Bugs 很是少的服务器: Nginx 启动特别容易, 而且几乎能够作到7*24不间断运行,即便运行数个月也不须要从新启动. 你还可以不间断服务的状况下进行软件版本的升级 .
三、Nginx 配置简洁, Apache 复杂
Nginx 静态处理性能比 Apache 高 3倍以上
Apache 对 PHP 支持比较简单,Nginx 须要配合其余后端用
Apache 的组件比 Nginx 多
如今 Nginx 才是 Web 服务器的首选
四、最核心的区别在于apache是同步多进程模型,一个链接对应一个进程;nginx是异步的,多个链接(万级别)能够对应一个进程
五、nginx处理静态文件好,耗费内存少.但无疑apache仍然是目前的主流,有不少丰富的特性.因此还须要搭配着来.固然若是能肯定nginx就适合需求,那么使用nginx会是更经济的方式.
apache有先天不支持多核心處理負載雞肋的缺點,建議使用nginx作前端,後端用apache。大型網站建議用nginx自代的集群功能
六、从我的过往的使用状况来看,nginx的负载能力比apache高不少。最新的服务器也改用nginx了。并且nginx改完配置能-t测试一下配置有没有问题,apache重启的时候发现配置出错了,会很崩溃,改的时候都会很是当心翼翼如今看有好多集群站,前端nginx抗并发,后端apache集群,配合的也不错。
七、nginx处理动态请求是鸡肋,通常动态请求要apache去作,nginx只适合静态和反向。 八、從我個人的經驗來看,nginx是很不錯的前端服務器,負載性能很好,在老奔上開nginx,用webbench模擬10000個靜態文件請求绝不吃力。apache對php等語言的支持很好,此外apache有強大的支持網路,發展時間相對nginx更久, 九、Nginx优于apache的主要两点:1.Nginx自己就是一个反向代理服务器 2.Nginx支持7层负载均衡;其余的固然,Nginx可能会比apache支持更高的并发,可是根据NetCraft的统计,2011年4月的统计数据,Apache依然占有62.71%,而Nginx是7.35%,所以总得来讲,Aapche依然是大部分公司的首先,由于其成熟的技术和开发社区已经也是很是不错的性能。 十、你对web server的需求决定你的选择。大部分状况下nginx都优于APACHE,好比说静态文件处理、PHP-CGI的支持、反向代理功能、前端Cache、维持链接等等。在Apache+PHP(prefork)模式下,若是PHP处理慢或者前端压力很大的状况下,很容易出现Apache进程数飙升,从而拒绝服务的现象。 十一、能够看一下nginx lua模块:https://github.com/chaoslaw...apache比nginx多的模块,可直接用lua实现apache是最流行的,why?大多数人懒得更新到nginx或者学新事物 十二、对于nginx,我喜欢它配置文件写的很简洁,正则配置让不少事情变得简单运行效率高,占用资源少,代理功能强大,很适合作前端响应服务器 1三、Apache在处理动态有优点,Nginx并发性比较好,CPU内存占用低,若是rewrite频繁,那仍是Apache吧