什么是Nginx?

  Nginx是一种服务器软件,如同apache、tomcat。是一种高性能的HTTP和反向代理服务器以及代理邮件服务器。也就是说Nginx服务器可以发布网站,也可以负载均衡,还可以作为邮件服务器实现收发邮件的功能。

什么是反向代理?

  我们有时候,用自己的计算机A访问国外的某个网站B,但是访问不了,此时,有一台中间服务器C可以访问国外的网站B,那么,我们可以用自己的电脑访问服务器C,通过C来访问B网站。那么这时候,服务器C称为代理服务器,这种访问方式叫做正向代理。正向代理有一个特点,就是我们明确知道访问哪个网站。

  反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

  

什么是负载均衡?

  当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力。那么什么是负载均衡呢?我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器,在让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入该服务器。如此以来,用户的每次访问,都会保证服务器集群中的每个服务器压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况。

  (Tip:发现没有,负载均衡特别像银行排队,他们都是蛇形排队法的翻版)

Nginx的功能

  Nginx不实际处理用户请求,它将用户请求分别引入服务器集群中的各个服务器。

Nginx与其他服务器的性能比较

  IIS服务器只能在windows系统运行,而windows作为服务器性能是不如linux的。

  Tomcat服务器面向的语言是java,是一种重量级的服务器,nginx是轻量级服务器,二者不具备可比性。

  Apache服务器优点很多,稳定、开源、跨平台等,但apache不支持高并发;而Nginx能支持百万级的TCP连接、十万以上的并非请求,并且Nginx也跨平台。

Nginx的优缺点

  优点:高并发、部署简单、内存消耗小、成本低等。

  缺点:rewrite功能不够强大,模块没有Nginx多。

(windows系统下)Nginx的安装

  1、下载:进入Nginx官网 http://nginx.org/,点击右侧的download,然后在新页面选择 Stable version 中的“nginx/Windows-1.8.0”

  2、打开安装包,将里面的文件夹nginx-x.x.x解压到任意目录下

  3、运行nginx-x.x.x目录下的nginx.exe程序

  4、在浏览器中访问 http://localhost,出现欢迎界面表示安装成功。

非常简单!

Nginx的简单配置

 #运行用户,即谁启动了该服务器
#user nobody; #启动进程数,通常设置和cpu一样的数量
worker_processes 1; #全局错误日志
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #PID文件
#pid logs/nginx.pid; #工作模式和连接数量上限
events {
# use epoll; #epoll是多路复用IO的一种方式,但仅用于linux2.6以上内核,可以大大提高nginx的性能(windows系统就别想了 <_>) #单个后台work_process进程最大的并发链接数
worker_connections 1024;
} #设置http服务器,利用它的反向代理功能提供负载均衡支持
http {
#设置mime类型,类型由mime.types文件定义
include mime.types;
default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"'; #设置日志格式
#access_log logs/access.log main; #sendfile 指令指定nginx是否调用sendfile函数来输出文件,对于普通应用,必须设置为on,
#如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的uptime
sendfile on;
#tcp_nopush on; #连接超时时间
#keepalive_timeout 0;
keepalive_timeout 65; #是否开启gzip压缩
#gzip on; #设定负载均衡的服务器列表
#upstream mysvr {
#weigth参数表示权值,权值越高被分配到的几率越大
# server 192.168.8.1x:3128 weight=5;#本机上的Squid开启3128端口
# server 192.168.8.2x:80 weight=1;
# server 192.168.8.3x:80 weight=6;
#} #负载均衡服务器
upstream component{
server localhost:8080 weight=10;
} server {
#监听80端口
listen 80; #定义使用localhost来访问
server_name localhost; #charset koi8-r; #定义本虚拟主机的访问日志
#access_log logs/host.access.log main; #默认请求
location / {
#定义服务器默认网站根目录
root html;
#定义首页索引文件的名称
index index.html index.htm;
}
#当访问http://localhost/component/*时,将请求转给http://component,它在前面的负载均衡服务器中定义为 localhost:8080
#即访问http://localhost/component/*将会访问http://localhost:8080的内容
location /component{
proxy_pass http://component;
}
#静态资源都去root目录下寻找
location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
{
root F:/picture;
expires 7d;
} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html
# #定义错误提示页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

Tomcat服务器正常配置就行。

Nginx服务器的更多相关文章

  1. Nginx 服务器 之Nginx与tomcat实现负载均衡

      本文讲解我们如何使用Nginx做反向带服务器,实现nginx与tomcat服务器集群做负载均衡. 一.nginx与tomcat实现负载均衡 1.在/usr/local/ngnix/conf  创建 ...

  2. Nginx服务器 之反向代理与负载均衡

    一.反向代理 正向代理: 客户端要获取的资源就在服务器上,客户端请求的资源路径就是最终响应资源的服务器路径,这就是正向代理.正向代理的特点:就是我们明确知道要访问哪个网站地址. 反向代理: 客户端想获 ...

  3. 把域名绑定到某个项目,以nginx服务器为例

    一:登陆域名服务器平台,把域名解析到项目对应的IP上面. 二:配置nginx服务器 1./etc/nginx/conf.d/ 在服务器该目录下,添加.conf文件,如命名为:www.demo.com. ...

  4. 在阿里云服务器(ECS)上从零开始搭建nginx服务器

    本文介绍了如何在阿里云服务器上从零开始搭建nginx服务器.阿里云服务器(ECS)相信大家都不陌生,感兴趣的同学可以到http://www.aliyun.com/product/ecs去购买,或到体验 ...

  5. nginx入门篇----nginx服务器基础配置

    1.nginx.conf文件结构...                         #全局块  events{  ...  }  http                      #http块{ ...

  6. --with-http_realip_module选项(后台Nginx服务器记录原始客户端的IP地址 )

    转自:http://blog.itpub.net/27043155/viewspace-734234/ 通过这个模块允许我们改变客户端请求头中客户端IP地址值(例如,X-Real-IP 或 X-For ...

  7. 【转】Nginx服务器的反向代理proxy_pass配置方法讲解

    [转]Nginx服务器的反向代理proxy_pass配置方法讲解 转自:http://www.jb51.net/article/78746.htm 就普通的反向代理来讲Nginx的配置还是比较简单的, ...

  8. Linux下安装Nginx服务器

    安装Nginx之前,首先要安装好编译环境gcc和g++,然后以CentOS为例安装Nginx,安装Nginx需要PRCE库.zlib库和ssl的支持,除了ssl外其他的我们都是去官网下载: Nginx ...

  9. nginx服务器设置url的优雅链接

    对于LNMP这样架构的网站来说,一般都是基于php框架开发,php框架一般都会讲究优雅链接,比如Laravel,CodeIgniter,ThinkPHP等都是支持这种链接模式的,在服务器配置上也叫作u ...

  10. nginx服务器绑定域名和设置根目录的方法

    nginx服务器绑定域名以及设置根目录非常方便,首先进入nginx安装目录,然后执行 vim conf/nginx.conf 打开nginx的配置文件,找到 server { ..... ..... ...

随机推荐

  1. C语言位取反问题

    1 具体是先把十进制的数先转换成二进制的原码, 按位取反最后一位加一,然后“按权展开”,得到十进制的结果, 如果第一位是1(指转换成二进制的原码中的第一位),说明故是负数所以要在结果前面加上负号-. ...

  2. WireShark抓包过程

    wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示网络封包的详细信息.使用wireshark的人必须了解网络协议,否则就看不懂wireshark了. 为了安全考虑 ...

  3. Rotating Sentences

    #include<bits/stdc++.h> #define N 110 int main(void) { char s[N][N]; int i, j, k, max; , memse ...

  4. Rain on your Parade

    Rain on your Parade Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 655350/165535 K (Java/Ot ...

  5. POJ 3661 (线性DP)

    题目链接: http://poj.org/problem?id=3661 题目大意:牛跑步.有N分钟,M疲劳值.每分钟跑的距离不同.每分钟可以选择跑步或是休息.一旦休息了必须休息到疲劳值为0.0疲劳值 ...

  6. css 框架——base.css,作用是重设浏览器默认样式和提供通用原子类。自己留存

    今天发下我自己的 css 框架——base.css,作用是重设浏览器默认样式和提供通用原子类. @charset "utf-8"; /*! * @名称:base.css * @功能 ...

  7. 循环repeater中的每一列,并计算数据和

    <asp:Repeater ID="rpt" runat="server"> <ItemTemplate> <td>< ...

  8. 【回文串-Manacher】

    Manacher算法能够在O(N)的时间复杂度内得到一个字符串以任意位置为中心的回文子串.其算法的基本原理就是利用已知回文串的左半部分来推导右半部分. 转:http://blog.sina.com.c ...

  9. 【C语言】05-printf和scanf函数

    一.printf函数 这是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>,使用它可以向标准输出设备(比如屏幕)输出数据 1.用法 1> pr ...

  10. opengl绘制正弦曲线

    利用opengl绘制正弦曲线 ,见代码: #include <windows.h> //#include <GLUT/glut.h> #include <GL/glut. ...