Nginx学习笔记

来源:互联网 发布:阿里云ftp端口号 编辑:程序博客网 时间:2024/06/08 11:36

一、为什么要用Nginx

1、热部署

我个人觉得这个很不错。在master管理进程与worker工作进程的分离设计,使的Nginx具有热部署的功能,那么在7×24小时不间断服务的前提下,升级Nginx的可执行文件。也可以在不停止服务的情况下修改配置文件,更换日志文件等功能。

2、可以高并发连接

这是一个很重要的一个特性!在这一个 互联网 快速发展, 互联网 用户数量不断增加,一些大公司、网站都需要面对高并发请求,如果有一个能够在峰值顶住10万以上并发请求的Server,肯定会得到大家的青睐。理论上,Nginx支持的并发连接上限取决于你的内存,10万远未封顶。

3、低的内存消耗

在一般的情况下,10000个非活跃的HTTP Keep-Alive 连接在Nginx中仅消耗2.5M的内存,这也是Nginx支持高并发连接的基础。

4、处理响应请求很快

在正常的情况下,单次请求会得到更快的响应。在高峰期,Nginx可以比其他的Web服务器更快的响应请求。

5、具有很高的可靠性

Nginx是一个高可靠性的Web服务器,这也是我们为什么选择Nginx的基本条件,现在很多的网站都在使用Nginx,足以说明Nginx的可靠性。高可靠性来自其核心框架代码的优秀设计、模块设计的简单性;并且这些模块都非常的稳定。


二、代理和反向代理到底有什么区别

代理服务器通常分为两类,即转发代理(forward proxy)服务器和反向代理(reverse proxy)服务器。转发代理服务器又通常简称为代理服务器,我们常提到的代理服务器就指的是转发代理服务器。

转发代理服务器

普通的转发代理服务器是客户端与原始服务器之间的一个中间服务器。为了从原始服务器获取内容,客户端发送请求到代理服务器,然后代理服务器从原始服务器中获取内容再返回给客户端。客户端必须专门地配置转发代理来访问其他站点,如在浏览器中配置代理服务器地址及端口号等。

转发代理服务器的一个典型应用就是为处于防火墙后的内部客户端提供访问外部Internet网,比如校园网用户通过代理访问国外网站,公司内网用户通过公司的统一代理访问外部Internet网站等。转发代理服务器也能够使用缓存来缓解原始服务器负载,提供响应速度。

反向代理服务器

而反向代理服务器则相反,在客户端来看它就像一个普通的Web服务器。客户端不要做任何特殊的配置。客户端发送普通的请求来获取反向代理所属空间的内容。反向代理决定将这些请求发往何处,然后就好像它本身就是原始服务器一样将请求内容返回。

反向代理服务器的一个典型应用就是为处于防火墙后的服务器提供外部Internet用户的访问。反向代理能够用于在多个后端服务器提供负载均衡,或者为较慢的后端服务器提供缓存。此外,反向代理还能够简单地将多个服务器映射到同一个URL空间。

两者区别

两者的相同点在于都是用户和服务器之间的中介,完成用户请求和结果的转发。主要的不同在于:

1.转发代理的内部是客户端,而反向代理的内部是服务器。即内网的客户端通过转发代理服务器访问外部网络,而外部的用户通过反向代理访问内部的服务器。

2.转发代理通常接受客户端发送的任何请求,而反向代理通常只接受到指定服务器的请求。如校园网内部用户可以通过转发代理访问国外的任何站点(如果不加限制的话),而只有特定的请求才发往反向代理,然后又反向代理发往内部服务器

三、CentOs linux 安装 nginx

    安装nginx 
    1
nginx官方网站下载一个包,下载地址是:http://nginx.org/en/download.html 
    2
WinSCP(ftp上传工具).exe FTP上传工具上传达到CentOS 
    3
我是先建一个目录,把要用的到的安装包放到一起
    #mkdir /home/ 

    #tar zxf nginx-1.4.1.tar.gz 
    #cd nginx-1.4.1 
    4安装pcre开发包 
    #yum install -y pcre-devel 

    5如果安装出现在下面的错误是缺少编译环境安装编译源码所需的工具和库 
    ./configure: error: C compiler cc is not found 

    #yum install gcc gcc-c++ ncurses-devel perl 
    6安装cmake,从http://www.cmake.org下载源码并编译安装 
    #yum -y install make gcc gcc-c++ ncurses-devel 

    #yum -y install zlib zlib-devel 
    7如果需要ssl功能需要openssl 
    #yum -y install openssl openssl--devel 

    8安装nginx 
    #cd nginx-1.4.1 

    #./configure --prefix=/opt/nginx 
    #make 
    #make install 
    9启动服务 
    #/opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf 

    或者 #cd /opt/nginx/sbin

       #./nginx

       (因为安装时nginx.conf 默认目录就是 /opt/nginx/conf/)
    10停止服务 
     #/opt/nginx/sbin/nginx -s stop 

    11查看端口占用情况 
    #netstat -tunlp 

    12如果其它机器无法访问,解决方法如下: 
    #/sbin/iptables -I INPUT -ptcp --dport 80 -j ACCEPT 

    #/etc/rc.d/init.d/iptablessave 
    重启防火墙 
    #/etc/init.d/iptables restart




原创粉丝点击