nginx是目前第二大web服务器,第一当然是apache了。
正如nginx的CEO所说,这两种服务器所面向的用户不同,各有所长。

Apache

  • rewrite,比nginx的rewrite强大
  • 动态页面,处理动态请求比nginx强大,一般动态请求由apache去做,nginx只适合静态和反向
  • 模块多,基本想到的都能找到
  • 少bug,nginx的bug相对较多

nginx

  • nginx比Apache更轻量,同样起web服务,比apache占用更少的内存及资源,支持更多的并发连接,体现了更高的效率,这点使nginx尤其受到虚拟机提供商的欢迎。在高并发的情况下,nginx是Apache不错的替代品。nginx最多同时支持50000个并发连接访问数的响应,这归功于nginx为我们选择epoll and kqueue作为开发模型。
  • 抗并发,nginx处理请求是异步非阻塞的,而Apache是阻塞的,在高并发的情况下,nginx能保持低资源低消耗高性能
  • 高度模块化的设计,编写模块相对简单
  • 社区活跃
  • nginx本身就是一个反向代理服务器
  • 负载均衡能力突出,nginx即可以在内部直接支持Rails和PHP程序对外进行服务,nginx采用C语言编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多.

核心区别就是:apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程

以上的区别是摘抄的,博客地址
博客中还有nginx的安装教程,可以学习一下。

说说我在安装中遇到的问题。
下载并安装所有的依赖之后,要启动nginx时出现了错误。

image.png

根据报错信息98: Address already in use,我猜测可能是端口被占用,上网一查果然如此。

  1. 使用lsof -i :80命令查看,80端口被哪些程序占用了。

    image.png
  2. 使用sudo kill 端口号,我的是1798,22305。此命令用来杀死进程
    然后再次使用lsof -i :80查看80端口信息,发现进程已经被杀死。
  3. 然后输入命令来启动nginx, /usr/local/nginx/sbin/nginx

    image.png

    4.为了验证我们是否启动成功,再次查看80端口信息。

    image.png

当然,我们可以访问服务器了,输入域名后按回车,我们会发现页面变成了图中那样,可以暂时告一段落了。

image.png

文章来源于互联网,如有雷同请联系站长删除:centos安装nginx1.8.0

发表评论