在我们搭建一个网站的时候,往往有时候会加载更多的图片,如果都从tomcat服务器来获取静态资源,这样会增加我们服务器的负载,使得服务器运行 速度非常慢,这时我们可以使用nginx服务器来加载这些静态资源,这样就可以实现负载均衡,为我们的Tomcat服务器减压了。一般大型网站都这么干,他们有单独的图片服务器,这里我们在本地利用nignx来搭建一个简单的图片服务器。

一、安装nignx

nignx是绿色版本的,只要到官网下载解压既可启动,解压目录图如下所示:

这里我们可以通过命令行start nignx.exe来启动服务器,也可以通过bat批处理文件来启动,打开批处理文件简单处理一下就 可以启动了:

上面的两种方式都可以启动服务器,当我们启动一下服务器我们来简单测试一下,在浏览器输入localhost访问,你可以看见一个简单nignx服务器欢迎页面。

下面,我们着重讲解一下nignx的配置文件,在conf目录下,打开nignx.conf文件,nginx.conf由多个块组成,最外面的块是main,main包含events和http,http包含多个upstream和多个server,server又包含多个location:

main(全局设置)、server(虚拟主机设置)、upstream(负载均衡服务器设置)和 location(URL匹配特定位置的设置)。
1.main块设置的指令将影响其他所有设置;
2.server块的指令主要用于指定主机和端口;
3.upstream指令主要用于负载均衡,设置一系列的后端服务器;
4.location块用于匹配网页位置。
这四者之间的关系式:server继承main,location继承server,upstream既不会继承其他设置也不会被继承。
在这四个部分当中,每个部分都包含若干指令,这些指令主要包含Nginx的主模块指令、事件模块指令、HTTP核心模块指令,同时每个部分还可以使用其他HTTP模块指令,例如Http SSL模块、HttpGzip Static模块和Http Addition模块等。

通过上面的简单的讲解我们了解了一下nignx的配置文件,现在我们来具体看一下它的内容并且开始配置:

server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   html;index  index.html index.htm;}#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;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}}

上面这是配置文件中的一部分,我们看一下location这个节点,它下面的root表示该站点的根目录,root html表示根目录下有一个html文件夹,当你访问上面配置的域名(laocahost)时,它默认访问跟目录下的html文件中的index.html页面,这样你应该就明白了怎么样配置一个自定义的图片服务器了吧,我们可以自定一个server节点,将其localhost节点指定为我们要访问的图片地址域名,这样我们就可以轻松访问我们的静态资源了。

 location / {root   html;index  index.html index.htm;}

二、搭建图片服务器

经过上面的介绍我们应该明白了它的大概原理,下面我们来实战配置一下。
首先我们这里是本地搭建,所以没有域名,这里我们可以随便一个二级域名来作为练习(比如images.shinelon.com),我们找到C:\Windows\System32\drivers\etc这个目录下有一个hosts文件来加入映射我们的域名,加入下面的配置:

127.0.0.1   images.shinelon.com

然后我们复制nignx.conf文件的server节点,改为如下配置:

server {listen       80;server_name  images.shinelon.com;#access_log  logs/host.access.log  main;location / {root  D:\images;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

上面,我们将域名改为了我们自定义的图片域名,将root目录改为了我们的图片存放目录(D:\images),这样我们启动nignx服务器就可以访问图片资源了,这里加入该目录下有一张图片为1.jpg。当你在浏览器中输入images.shinelon.com/1.jpg就可以访问我们的图片资源了。

至此,我们就搭建了一个简单的图片服务器。

如果你想和我们一起学习交流,共同进步,欢迎加群:

利用nginx搭建简单图片服务器实现负载均衡相关推荐

  1. nginx搭建静态文件服务器,利用nginx搭建静态资源服务器的方法步骤

    以windows为例,linux其实一样: 搭建静态资源服务器 我电脑上的work文件夹下面有很多图片,我想通过nginx搭建静态资源服务器,通过在地址栏输入ip+port的方式完成目录的映射 找到n ...

  2. 用Nginx搭建IIS集群实现负载均衡

    长话短说,我们用Nginx来搭建一个简单的集群,实现Web应用的负载均衡,架构图如下: 两台Web服务器,一台静态资源服务器,因为是演示,我们以网站形式部署在本机IIS中 一台Nginx代理服务器,安 ...

  3. Windows搭建简单图片服务器

    实验需求 1#需求:某些网站上传图片,只能上传链接.能够使用 http://IP/目录/图片名 访问服务器已经存在的图片 2#解决方案:基于Nginx搭建图片服务器,提供链接浏览 #Nginx (en ...

  4. 网站架构(页面静态化,图片服务器分离,负载均衡)方案全解析

    一篇不错的关于网站架构的文章,可以让你对网站的架构有一个初步的了解 1.HTML静态化其实大家都知道,效率最高.消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实 ...

  5. 使用certbot在nginx搭建HTTPS 以及 阿里云负载均衡HTTPS搭建

    使用certbot在nginx搭建HTTPS certbot certbot官⽹ apache配置文档 安装证书自动工具 certbot yum install -y epel-release yum ...

  6. 利用nginx搭建一个文件下载服务器

    1.先安装好nginx,这里就不在做解释了,在我的上一篇文章中有详细写到 2.修改配置文件,配置文件默认在/usr/local/nginx/conf/nginx.conf中 user  root;  ...

  7. Linux上利用nginx搭建一个简单的rtmp视频流服务器(不涉及直播)

    文章目录 Linux上利用nginx搭建一个简单的rtmp视频流服务器(不涉及直播) 一.基础环境搭建 二.构建Nginx 下载nginx-rtmp-module 安装Nginx 编译nginx,代理 ...

  8. 利用nginx搭建搭建直播平台中视频点播、直播、HLS服务器

    利用nginx搭建搭建直播平台中视频点播.直播.HLS服务器 nginx的服务器的搭建 安装nginx的依赖库 <span style="color:#000000"> ...

  9. 利用nginx搭建http和rtmp协议的流媒体服务器

    利用nginx搭建http和rtmp协议的流媒体服务器 一.准备工作 1.安装依赖包: yum install gcc glibc glibc-devel libtool make openssl-d ...

最新文章

  1. 以太坊Ethereum存储和数据结构 图示
  2. FortiGate 硬件加速
  3. React服务端渲染实现(基于Dva)
  4. showmodaldialog 为什么不能复制_防复制的门禁读头可以防止UID和FUID读卡器
  5. treeview控件怎么折叠_拍摄的视频闪烁怎么办?一招就能搞定,电脑手机都适用...
  6. 模式窗体 winform 1201
  7. HDU 5985 Lucky Coins 数学
  8. [转载]Java程序占用 CPU 过高怎么排查
  9. 实体与表映射关系XXX.hbm.xml配置详解(转)
  10. u盘数据恢复的原理_电脑磁盘文件数据误删恢复原理、方法总结
  11. Android ViewGroup中addView方法使用
  12. linux xia复制命令,Linux常用命令整理
  13. 微信小程序真机提示error occurs:ENOENT: no such file or directory, access
  14. Mac虚拟机VMware Fusion如何强制关机虚拟系统
  15. c++ 简单的求面积:圆的面积,正方形的面积,长方形的面积
  16. 小偷和抢劫是被怎么遏制的?
  17. 六、Hystrix详解三:Hystrix的健康监测
  18. 计算机维修技术在线阅读,西南大学19秋[0240] 计算机维修技术在线作业
  19. 联通预存话费送iphone
  20. Makefile详解——从入门到精通

热门文章

  1. 【数据结构】空间复杂度
  2. Vue.js 组件复用和扩展之道
  3. form标签action跳转后,jquery失效的问题
  4. Mac自带的强大的快速搜索功能是怎么帮助我们工作的
  5. ubuntu虚拟机磁盘扩容
  6. python如何将整数拆分成一个个数字
  7. 项目杂谈:聚合搜索系统架构图
  8. Android微信浏览器标题,企业微信内H5网页分享微信好友ios正常安卓自定义标题、图标、未生效...
  9. ES6的介绍以及模块导出与导入
  10. C1认证学习十八、十九(表单元素、转义字符)