Nginx 安装以及配置

一 基本概念

     Nginx——Ngine X,是一款自由的、开源的、高性能HTTP服务器和反向代理服务器;也是一个IMAP、POP3、SMTP代理服务器;也就是说Nginx本身就可以托管网站(类似于Tomcat一样),进行Http服务处理,也可以作为反向代理服务器使用。

     其实最直接的用处就是作为负载均衡器,虽然目前Nginx的份额在市场上只占很少部分,但是其高性能和低消耗内存的结构,使得其越来越普遍,典型的一个应用就是我们可以使用Nginx作为反向代理进行网站的负载均衡器。

二 特点

  1.    跨平台:可以在大多数Unix like 系统编译运行。而且也有Windows的移植版本
     2.   配置异常简单:非常的简单,易上手
     3.  非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能支持5万并发连接,实际生产中能跑2~3万并发连接数(得益于Nginx采用了最新的epoll事件处理模型(消息队列)。
     4  Nginx代理和后端Web服务器间无需长连接
     5  Nginx接收用户请求是异步的,即先将用户请求全部接收下来,再一次性发送到后端Web服务器,极大减轻后端Web服务器的压力
发送响应报文时,是边接收来自后端Web服务器的数据,边发送给客户端
     6  网络依赖性低,理论上只要能够ping通就可以实施负载均衡,而且可以有效区分内网、外网流量
     7 支持内置服务器检测。Nginx能够根据应用服务器处理页面返回的状态码、超时信息等检测服务器是否出现故障,并及时返回错误的请求重新提交到其它节点上。 
     8 采用Master/worker多进程工作模式 
     9  此外还有内存消耗小、成本低廉(比F5硬件负载均衡器廉价太多)、节省带宽、稳定性高等特点

三 linux下载和安装

   1. Nginx下载
   1)pcre
    http://www.pcre.org/
    2)nginx
    http://nginx.org/

   2 Nginx安装

   2.1 安装前的准备
    1)准备 pcre-8.12.tar.gz。该文件为正则表达式库。让nginx支持rewrite需要安装这个库。
    2) 准备 nginx-1.5.0.tar.gz。该文件为nginx的linux版本安装文件。
    3)确保进行了安装了linux常用必备支持库

   2.2 正则表达式库安装
    1)确保进行了安装了linux常用必备支持库。检查是否安装了g++、gcc。rpm -qa | grep gcc 之后需要出现3个包如下图所示。如果没有出现。需要安装g++、gcc。

    # yum install gcc-c++
Linux中Nginx安装与配置详解
 2) 上传pcre-8.12.tar.gz, nginx-1.5.0.tar.gz 到 /usr/local/src/nginx目录下。
    
    3)解压pcre-8.12.tar.gz
    # cd /usr/local/src/nginx
    # tar zxvf pcre-8.12.tar.gz
    
    4)进入解压后的目录
    # cd pcre-8.12 
    
    5)配置
    #  ./configure
    6) 编译
    #  make
    7) 安装
    #  make install

   2.3Nginx安装
    0) 创建用户nginx使用的www用户。
    # groupadd  www  #添加www组    
    # useradd -g  www www -s /bin/false  #创建nginx运行账户www并加入到www组,不允许www用户直接登录系统
    
   1).创建安装目录与日志目录
    a) 安装目录
    # mkdir /usr/local/nginx
    b) 日志目录
    # mkdir /data0/logs/nginx
    # chown www:www /data0/logs/nginx -R
    
    2 ) 判断系统是否安装了zlib-devel。如果没有安装。使用
    # yum install -y zlib-devel
Linux中Nginx安装与配置详解
  3 )解压
    # cd /usr/local/src/nginx
    # tar zxvf nginx-1.5.0.tar.gz
    
   4 ) 进入目录
    # cd nginx-1.5.0
    
    5 ) 配置。通常将软件安装在/usr/local/目录下。
    # ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
注意:有的linux机器在此处配置可能会报错 ,错误信息和openssl有关,也可能是没有识别pcre正则,则安装openssl 和pcre
  #yum -y install openssl openssl-devel
  # yum -y install pcre-devel
    6 )编译
    # make
    
   7 ) 安装
    #  make install

   8 ) 检查是否安装成功
    # cd  /usr/local/nginx/sbin
    # ./nginx -t 
    结果显示:
    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


  2.4 配置防火墙80端口
    #修改防火墙配置: 
    # vi + /etc/sysconfig/iptables
    #添加配置项 
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    #重启防火墙 
    # service iptables restart
  2.5 上传配置文件
    1)上传nginx.conf (文件下载地址见上面的Linux公社资源站)
    # cd /usr/local/nginx/conf
    # rz nginx.conf
    2) 上传fastcgi_params.phis
    # rz fastcgi_params.phis


  2.6 启动停止重启与测试
    1)启动
        #方法1
        # /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
        #方法2
        # cd /usr/local/nginx/sbin
        # ./nginx




    2) 停止
        #查询nginx主进程号 
        ps -ef | grep nginx
        #停止进程 
        kill -QUIT 主进程号 
        #快速停止 
        kill -TERM 主进程号 
        #强制停止 
        pkill -9 nginx
    
    3) 重启(首次启动需:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf)
        /usr/local/nginx/sbin/nginx -s reload
    
    4)测试
        #测试端口 
        netstat -na | grep 80
        #浏览器中测试 
        http://ip:80

四 Nginx 核心配置文件 Nginx.conf
配置如下(这里只进行了简单的配置,实际生产环境可以进行更详细完善配置):
[html] view plaincopy
1.	worker_processes  1;#工作进程的个数,一般与计算机的cpu核数一致  
2.	  
3.	events {  
4.	    worker_connections  1024;#单个进程最大连接数(最大连接数=连接数*进程数)  
5.	}  
6.	  
7.	http {  
8.	    include       mime.types; #文件扩展名与文件类型映射表  
9.	    default_type  application/octet-stream;#默认文件类型  
10.	  
11.	    sendfile        on;#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。  
12.	      
13.	    keepalive_timeout  65; #长连接超时时间,单位是秒  
14.	  
15.	    gzip  on;#启用Gizp压缩  
           proxy_send_timeout          5s;   #####nginx超时时间,处理客户端发过来请求如果超出改时间,则会超时
          proxy_read_timeout          5s;   #####nginx超时时间,处理客户端发过来请求如果超出改时间,则会超时
16.	      
17.	    #服务器的集群  
18.	    upstream  netitcast.com {  #服务器集群名字   
19.	        server    127.0.0.1:18080  weight=1;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。  
20.	        server    127.0.0.1:28080  weight=2;  
21.	    }     
22.	  
23.	    #当前的Nginx的配置  
24.	    server {  
25.	        listen       80;#监听80端口,可以改成其他端口  
26.	        server_name  localhost;##############   当前服务的域名  
27.	  
28.	    location / {  
29.	            proxy_pass http://netitcast.com;  
30.	            proxy_redirect default;  
31.	        }  
32.	          
33.	  
34.	        error_page   500 502 503 504  /50x.html;  
35.	        location = /50x.html {  
36.	            root   html;  
37.	        }  
38.	    }  
39.	}  
核心配置如下:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值