首页 > 代码库 > Linux nginx安装

Linux nginx安装

 Nginx是什么

人们在了解新事物时,往往习惯通过类比来帮助自己理解事物的概貌。那么,我们在学习Nginx时也采用同样的方式,先来看看Nginx的竞争对手—Apache、Lighttpd、Tomcat、Jetty、IIS,它们都是Web服务器,或者叫做WWW(World Wide Web)服务器,相应地也都具备Web服务器的基本功能:基于REST架构风格,以统一资源描述符(Uniform Resource Identifier,URI)或者统一资源定位符(Uniform Resource Locator,URL)作为沟通依据,通过HTTP为浏览器等客户端程序提供各种网络服务。然而,由于这些Web服务器在设计阶段就受到许多局限,例如当时的互联网用户规模、网络带宽、产品特点等局限,并且各自的定位与发展方向都不尽相同,使得每一款Web服务器的特点与应用场合都很鲜明。

Tomcat和Jetty面向Java语言,先天就是重量级的Web服务器,它的性能与Nginx没有可比性,这里略过。

IIS只能在Windows操作系统上运行。Windows作为服务器在稳定性与其他一些性能上都不如类UNIX操作系统,因此,在需要高性能Web服务器的场合下,IIS可能会被“冷落”。

Apache的发展时期很长,而且是目前毫无争议的世界第一大Web服务器,图1-1中是12年来(2010~2012年)世界Web服务器的使用排名情况。

从图1-1中可以看出,Apache目前处于领先地位。

Apache有许多优点,如稳定、开源、跨平台等,但它出现的时间太长了,在它兴起的年代,互联网的产业规模远远比不上今天,所以它被设计成了一个重量级的、不支持高并发的Web服务器。在Apache服务器上,如果有数以万计的并发HTTP请求同时访问,就会导致服务器上消耗大量内存,操作系统内核对成百上千的Apache进程做进程间切换也会消耗大量CPU资源,并导致HTTP请求的平均响应速度降低,这些都决定了Apache不可能成为高性能Web服务器,这也促使了Lighttpd和Nginx的出现。观察图1-1中Nginx成长的曲线,体会一下Nginx抢占市场时的“咄咄逼人”吧。


Lighttpd和Nginx一样,都是轻量级、高性能的Web服务器,欧美的业界开发者比较钟爱Lighttpd,而国内的公司更青睐Nginx,Lighttpd使用得比较少。

在了解了Nginx的竞争对手之后,相信大家对Nginx也有了直观感受,下面让我们来正式地认识一下Nginx吧。

提示 Nginx发音:engine [‘nd3In] X。

来自俄罗斯的Igor Sysoev在为Rambler Media(http://www.rambler.ru/)工作期间,使用C语言开发了Nginx。Nginx作为Web服务器,一直为俄罗斯著名的门户网站Rambler Media提供着出色、稳定的服务。

Igor Sysoev将Nginx的代码开源,并且赋予其最自由的2-clause BSD-like license许可证。由于Nginx使用基于事件驱动的架构能够并发处理百万级别的TCP连接,高度模块化的设计和自由的许可证使得扩展Nginx功能的第三方模块层出不穷,而且优秀的设计带来了极佳的稳定性,因此其作为Web服务器被广泛应用到大流量的网站上,包括腾讯、新浪、网易、淘宝等访问量巨大的网站。

2012年2月和3月Netcraft对Web服务器的调查如表1-1所示,可以看出,Nginx的市场份额越来越大。

表1-1 Netcraft对于Web服务器市场占有率前4位软件的调查(2012年2月和3月)
 

Nginx是一个跨平台的Web服务器,可运行在Linux、FreeBSD、Solaris、AIX、Mac OS、Windows等操作系统上,并且它还可以使用当前操作系统特有的一些高效API来提高自己的性能。

例如,对于高效处理大规模并发连接,它支持Linux上的epoll(epoll是Linux上处理大并发网络连接的利器,9.6.1节中将会详细说明epoll的工作原理)、Solaris上的event ports和FreeBSD上的kqueue等。

又如,对于Linux,Nginx支持其独有的 sendfile系统调用,这个系统调用可以高效地把硬盘中的数据发送到网络上(不需要先把硬盘数据复制到用户态内存上再发送),这极大地减少了内核态与用户态数据间的复制动作。

种种迹象都表明,Nginx以性能为王。

2011年7月,Nginx正式成立公司,由Igor Sysoev担任CTO,立足于提供商业级的Web服务器。


具体操作请往下看:


(一)

1.下载  pcre-8.10.tar.gz

   下载地址:   

    http://exim.mirror.fr/pcre/pcre-8.10.tar.gz 

2.下载  nginx-1.1.1.tar.gz

   下载地址: 

    http://mirrors.sohu.com/nginx/nginx-1.1.1.tar.gz 



(二)

安装 pcre 让nginx支持rewrite

1.pcre-8.10.tar.gz  上传到/home 目录下面

2. 解压 pcre   

    cd /home

    tar zxvf   pcre-8.10.tar.gz 解压 pcre 后 /home 下面会有 pcre-8.10 文件夹

3.配置pcre

    cd /home/ pcre-8.10

    ./configure   输入该命令后屏幕会生成一堆文件,不用去管它

wKioL1PSDMDhlg6xAAQbmLFyupM543.jpgwKioL1PSDO7RvFU5AANFqf3Pb7c279.jpg

4.make

   在linux 中输入 make 命令后屏幕会生成一堆文件,不用去管它

 wKioL1PSDXewi7HxAAVjSK9edN8091.jpg

wKiom1PSDHOCT8o9AAUjOonqOJg327.jpg

5.安装

  在linux 中输入 make install

  

wKiom1PSDPKQKa5TAAVhlrB27mw620.jpg


wKiom1PSDYzTsioEAASFuEWKANM497.jpg


(三)

   接下来就是安装 nginx.

1.nginx-1.1.1.tar.gz  上传到/home 目录下面

2.解压 nginx

     cd /home

     tar zxvf    nginx-1.1.1.tar.gz  解压 nginx 后 /home 下面会有nginx-1.1.1 文件夹

3.配置nginx

    cd   nginx-1.1.1

   ./configure --prefix=/usr/local/nginx --with-http_stub_status_module

wKiom1PSD5DxeZD6AAOUHhCBVXo067.jpg

wKioL1PSEKrBT1peAAPb1fNvh6k496.jpg



4.make

   在linux 中输入 make 命令后屏幕会生成一堆文件,不用去管它

wKioL1PSEPbSZ-PIAARI6LS4pIY052.jpg

wKiom1PSD9yTFhPDAARd3GvArNk596.jpg

5.安装

   在linux 中输入 make install

wKiom1PSEDqxqVrEAASwVPJqyQY922.jpg


(四)

 1.检查是否安装成功

     cd  /usr/local/nginx/sbin

    ./nginx -t

     结果显示:

         wKioL1PSEjCTQzNRAADjZ3MPsWY579.jpg


        nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

        nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

      结果是这样就表示安装成功了!!!


(五)

启动nginx 

  cd  /usr/local/nginx/sbin 目录下面 输入 ./nginx  启动 nginx

(六)

检查是否启动成功

          ie 浏览器中输入 http://ip

wKiom1PSEmezTXRqAAB-WmoCS_I055.jpg


             看到上面nginx 欢迎界面说明启动成功

             说明nginx 默认配置端口是80.配置文件主要是conf 文件夹中的nginx.conf  文件

(七)停止nginx

               pkill -9 nginx


本文出自 “周氏一族” 博客,谢绝转载!

本文出自 “周氏一族” 博客,谢绝转载!