• Nginx服务器


    什么是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的简单配置

      1 #运行用户,即谁启动了该服务器
      2 #user  nobody;
      3 
      4 #启动进程数,通常设置和cpu一样的数量
      5 worker_processes  1;
      6 
      7 #全局错误日志
      8 #error_log  logs/error.log;
      9 #error_log  logs/error.log  notice;
     10 #error_log  logs/error.log  info;
     11 
     12 #PID文件
     13 #pid        logs/nginx.pid;
     14 
     15 
     16 #工作模式和连接数量上限
     17 events {
     18 #    use epoll;    #epoll是多路复用IO的一种方式,但仅用于linux2.6以上内核,可以大大提高nginx的性能(windows系统就别想了 <_>)
     19 
     20     #单个后台work_process进程最大的并发链接数
     21     worker_connections  1024;
     22 }
     23 
     24 #设置http服务器,利用它的反向代理功能提供负载均衡支持
     25 http {
     26     #设置mime类型,类型由mime.types文件定义
     27     include       mime.types;
     28     default_type  application/octet-stream;
     29 
     30     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
     31     #                  '$status $body_bytes_sent "$http_referer" '
     32     #                  '"$http_user_agent" "$http_x_forwarded_for"';
     33 
     34     #设置日志格式
     35     #access_log  logs/access.log  main;
     36 
     37     #sendfile 指令指定nginx是否调用sendfile函数来输出文件,对于普通应用,必须设置为on,
     38     #如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的uptime
     39     sendfile        on;
     40     #tcp_nopush     on;
     41 
     42     #连接超时时间
     43     #keepalive_timeout  0;
     44     keepalive_timeout  65;
     45 
     46     #是否开启gzip压缩
     47     #gzip  on;
     48 
     49     #设定负载均衡的服务器列表
     50     #upstream mysvr {
     51         #weigth参数表示权值,权值越高被分配到的几率越大
     52     #    server 192.168.8.1x:3128 weight=5;#本机上的Squid开启3128端口
     53     #    server 192.168.8.2x:80  weight=1;
     54     #    server 192.168.8.3x:80  weight=6;
     55     #}
     56     
     57     #负载均衡服务器
     58     upstream component{
     59         server localhost:8080 weight=10;
     60     }
     61     
     62     server {
     63         #监听80端口
     64         listen       80;
     65         
     66         #定义使用localhost来访问
     67         server_name  localhost;
     68 
     69         #charset koi8-r;
     70 
     71         #定义本虚拟主机的访问日志
     72         #access_log  logs/host.access.log  main;
     73 
     74         #默认请求
     75         location / {
     76             #定义服务器默认网站根目录
     77             root   html;
     78             #定义首页索引文件的名称
     79             index  index.html index.htm;
     80         }
     81         #当访问http://localhost/component/*时,将请求转给http://component,它在前面的负载均衡服务器中定义为 localhost:8080
     82         #即访问http://localhost/component/*将会访问http://localhost:8080的内容
     83         location /component{
     84             proxy_pass http://component;
     85         }
     86         #静态资源都去root目录下寻找
     87         location ~ .*.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
     88         {
     89             root    F:/picture;
     90             expires    7d;
     91         }
     92         
     93         
     94         #error_page  404              /404.html;
     95 
     96         # redirect server error pages to the static page /50x.html
     97         #
     98         
     99         #定义错误提示页面
    100         error_page   500 502 503 504  /50x.html;
    101         location = /50x.html {
    102             root   html;
    103         }
    104     }
    105 }

    Tomcat服务器正常配置就行。

  • 相关阅读:
    BOMwindow对象
    函数
    js 页面定时刷新
    appcan中 模拟表单上传图片
    商品评价多图片分组上传
    微信发送通知消息 thinkphp
    微信页面的分享,设置分享信息以及监听分享
    微信异步通知出错,behavior原因
    清空session
    json_decode
  • 原文地址:https://www.cnblogs.com/lhat/p/5153660.html
Copyright © 2020-2023  润新知