Apache Server搭建图片服务器

导读:公司来了几个应届生,经常问我图片应该上传到哪里,是直接在工程下面创建一个upload_image文件夹,然后将图片上传到这个upload_image文件夹下吗? 怎么回答呢,说“不是这样操作”,那肯定问为什么,然后就是循环的为什么了。 说“是这样操作也可以,但是有需要注意的地方”,那还是会出现循环的为什么。于是,我还不如把自己的理解写出来,免得后面一个个解释。(以下都是以JavaEE环境为基础)

一、单服务器

场景:直接在工程下面新建一个图片文件夹,比如:/images/,然后所有的图片都上传到这个文件夹下。

1.1、图片文件夹在项目内部(包含关系)

这种存储图片的方式,是初学者首先接触到的方式,因为简单易操作,也确实能到达目的。但是存在一个问题,就是在进行项目版本升级的时候,有可能会直接将之前的项目删掉,重新部署新版本的项目,这样就会导致老版本项目下的图片全部被删除。所以,将图片文件夹和项目单独分开可以解决这个问题。

1.2、图片文件夹和项目都放在服务器的根目录下(兄弟关系)

(图片文件夹和项目是兄弟关系,而非包含关系)将图片文件夹和项目文件夹单独分开,最简单的做法就是在服务器的根目录下新建一个images文件夹。这样,图片文件夹和项目文件夹就是兄弟文件夹关系了,删除项目的时候,不会影响图片文件夹。

比如,服务器是tomcat,在tomcat服务器的webapp文件夹下,创建一个images文件夹。这样,项目路径和图片路径如下:

图片地址:{tomcat}/webapp/images

项目地址:{tomcat}/webapp/项目名称

二、Apache Server和Tomcat

如第一点所述,图片和项目都放在一个tomcat中,虽然解决了图片被误删除的可能。但是,Tomcat是一个Java应用服务器,主要用来处理动态资源,比如servlet和jsp。Tomcat是Servlet的容器,处理静态资源(HTML、图片等)效率没有apache server的效率高。为了提升项目中静态资源的访问速度,现在流行的服务架构是“动静分离架构”。比如将servlet放在tomcat中,将html、图片等放在apache server中。

三、独立图片服务器的优势

搭建独立图片服务器的原因:
1、动静分离
2、分布式架构中,独立的图片服务器可以被共享。

分布式架构中的图片服务器:

如上图,独立的图片服务器,在分布式架构中,可以做到多个服务器共享。

四、Apache Server搭建独立图片服务器

基于windows环境的安装配置过程

4.1、下载Apache Server

下载地址: http://httpd.apache.org/docs/current/platform/windows.html#down

4.2、解压

将下载的压缩文件解压,我解压之后放在E盘,并且修改了文件夹的名称(可以不修改),我的apache解压地址如下:E:\apache-httpd-2.4.29-o110g-x86-vc14\Apache24

4.3、配置

1、找到E:\apache-httpd-2.4.29-o110g-x86-vc14\Apache24\conf\httpd.conf文件,打开。配置如下内容:

如上图,找到38行,修改SRVROOT后面的地址为解压后的apache目录。

2、修改apache的端口

默认端口是80,也可以不修改。如果80端口被占用,可以修改端口号,配置如下:

![20180124-apache-settting3](F:\javaee\我的案例\我的备课\Apache server图片服务器\20180124-apache-settting3.png)

3、安装apache server

a、管理员身份打开cmd命令。

b、执行如下命令:

E:\apache-httpd-2.4.29-o110g-x86-vc14\Apache24\bin>httpd.exe -k install -n apache-server

其中apache-server是自定义的服务名称。然后等着安装成功,提示如下:“Errors reported here must be corrected before the service can be started”。如果“Errors reported here must be corrected before the service can be started”此句下方有错误代码,表示安装失败。通过“sc delete apache-server”命令删除服务,解决异常之后,然后重新安装。

4、启动服务

在E:\apache-httpd-2.4.29-o110g-x86-vc14\Apache24\bin\下,双击ApacheMonitor.exe,运行后,出现如下界面:

点击,右边的“start”启动服务。

5、测试

打开浏览器,输入http://localhost:83 就会出现如下界面:

到此,apache服务安装成功。

6、配置图片文件夹

在E盘创建文件夹:E:/apache/images,用来存放上传的图片。然后打开httpd.conf配置如下:

说明:Directory标签下的AllowOverride none 和Require all granted是访问权限的配置。

说明:Alias /images E:/apache/images 其中E:/apache/images是真实的图片地址,/images是用户访问的地址。配置后,用户访问路径如下:http://localhost:83/images/ddd.png

五、总结

apache图片服务器的搭建就到此。但是,不仅仅只有apache server能作为图片服务器,可以作为图片服务器的还有nginx、ftp、fastdfs等等。后面慢慢自己搭建~

在公司,搭建服务器这种事,一般是运维做的事情。不过懂一点,也是好事。至少跟运维沟通比较顺畅了。

Apache Server搭建图片服务器相关推荐

  1. Nginx,Nginx 搭建图片服务器

    Nginx Nginx 概述 反向代理 工作流程 优点 1:保护了真实的web服务器,保证了web服务器的资源安全 2:节约了有限的IP地址资源 3:减少WEB服务器压力,提高响应速度 4:其他优点 ...

  2. 使用 Nginx 搭建图片服务器

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者 | ITDragon龙 链接 | cnblogs.com/i ...

  3. Nginx 搭建图片服务器

    本章内容通过Nginx 和 FTP 搭建图片服务器.在学习本章内容前,请确保您的Linux 系统已经安装了Nginx和Vsftpd. Nginx 安装 http://www.cnblogs.com/i ...

  4. Nginx(4)之搭建图片服务器

    最近在学nginx,然后想起了之前大学做的一个商城网站,图片就是用nginx作为图片服务器,在这里分享记录一下. 技术:Nginx,Vsftpd,Spring,SpringMVC,KindEditor ...

  5. Nginx的安装基础配置(windows、linux)以及搭建图片服务器(windows、阿里云),文件上传

    Nginx的安装基础配置(windows.linux)以及搭建图片服务器(windows.阿里云),文件上传 本文目录 文章目录 Nginx的安装基础配置(windows.linux)以及搭建图片服务 ...

  6. windows 下使用 Filezilla server 搭建 ftp 服务器

    windows 下使用 Filezilla server 搭建 ftp 服务器 1. Filezilla server 免费,开源, ftp 服务端 2. 下载安装, windows  https:/ ...

  7. Ubuntu Server搭建FTP服务器(2) --本地用户FTP服务器架设

    Ubuntu Server搭建FTP服务器(2) --本地用户FTP服务器架设 参考:ubuntu中文wiki百科,网址:wiki.ubuntu.org.cn 环境:Ubuntu 9.04 Serve ...

  8. FileZilla Server 搭建FTP服务器

    FileZilla Server 搭建FTP服务器 1. 背景: 在免费(此类工具免费者很多)中,我的选择是FileZilla,因为它小巧.非常强大.也比较易用,且为开源软件,发展前景不错.用户也比较 ...

  9. 用FileZilla Server搭建ftp服务器

    用FileZilla Server搭建ftp服务器 1.先在浏览器搜索 filezilla server 2.点开FileZilla软件的官网,下载该软件 3.下载完成后,按照操作流程一步步完成安装 ...

最新文章

  1. binlog关闭事务记录_Mysql 数据库 InnoDB引擎对binlog_format的限制
  2. Maven 多模块项目,多个root解决方法
  3. 软件原型设计工具Axure RP安装教程
  4. sleuth微服务整合Zipkin
  5. SQL Server2005 ROW_NUMBER() OVER 使用
  6. 基于matlab的信号与系统实例,华南理工大学信号与系统实验基于Matlab的信号处理实例...
  7. Cs231N_学习笔记
  8. 分页设计 与 高级查询 的 结合设计
  9. 整合nagios+cacti遇到问题及解决办法
  10. 《凤凰项目》读书笔记一
  11. SPF算法计算过程--例
  12. 关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  13. 遗传算法流程概述与简单实例认知
  14. python节日贺卡绘制
  15. arcgis通俗易懂教程(一)------入门教程
  16. play_win7截图工具
  17. 子域名是什么意思?有关子域名的价值介绍
  18. 如何快速搭建在家里(外网)也能访问的云办公云桌面系统
  19. 深度学习这么调参训练_深度学习调参技巧
  20. 输入一个Email地址,然后使用正则表达式验证该Email地址是否正确。

热门文章

  1. Linux 修改 IP , DNS, NETMASK, GETEWAY
  2. matplotlib连续显示3D医疗影像dcm格式数据
  3. 艾默生质量流量计开创流量仪表行业新的标准
  4. 计算一元一次方程Y=kX+b
  5. 【Linux】centOS 错误记录|无法启动网络Failed to start LSB: Bring up/down networking
  6. 判断一个日期是否在活动范围内,活动还未开始? 活动已结束?
  7. UrlEncode编码
  8. 软件测试面试:拿到一个版本(产品),如何开展测试?
  9. C++密码库crypto++的使用和安装
  10. 数据源是什么?数据源有哪些?