Apache搭建图片服务器

Posted Kira~~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache搭建图片服务器相关的知识,希望对你有一定的参考价值。

  由于之前做过的博客项目每一篇博客上传都需要一幅图片,刚开始想将这些图片直接存到项目static目录下的images静态资源中,但这样的话想在其他地方访问图片就显得有些不方便。
  于是我就想,如果能将图片单独放到一个服务器上。这样访问图片不是就更加方便了吗,其他程序想要访问图片资源的时候也可以更加方便的访问。
  首先想到的就是用tomcat再搭建一个图片服务器,这样就能实现功能了,但是有没有更加优化的解决方案呢,上网百度一下,还真有,那就是Apache。
  用惯了tomcat,忘记了当初web课的时候还有一个叫做Apache的东西,原来Apache对静态资源访问的速度要比Tomcat快好多,对于图片这一类静态数据来说,Apache是比Tomcat更优的选择。那么正题开始:

  1. 首先,下载Apache
sudo apt install apache2 -y
  1. 检查Apache的状态
systemctl status apache2
  1. 启动Apache服务
/etc/init.d/apache2 start
  1. 由于服务器部署在腾讯云,且之前已经解析了域名,因此,我直接用域名访问服务器,但是无法显示Apache服务。在经历了很长时间的排查(刚开始服务器CPU利用率一直很高,于是以为是遭受到了攻击,网上百度了各种方式检查攻击等都无果,最后发现是没有关掉防火墙,关掉之后好了。。。。)
sudo systemctl stop firewalld.service
  1. 编辑Apache2的配置文件
 sudo vim /etc/apache2/apache2.conf 
  1. 新建并配置图片文件夹
sudo mkdir /usr/share/images
<Directory /usr/share/images>
        AllowOverride None
        Require all granted
</Directory>
  1. 配置alias.conf
sudo vim /etc/apache2/mods-available/alias.conf
  1. 重启Apache失败(应该是由于之前不正确的退出导致的),通过以下方式解决
sudo lsof -t -i tcp:80 -s tcp:listen | sudo xargs kill

lsof用于查看文件的打开状况,用于调试程序,查看系统情况
sudo lsof -T -i TCP:80 //显示TCP端口80的状况
sudo xargs kill 杀掉前面查询到的进程

  1. 打开alias.conf文件(Apache2和Apache配置文件有很多不同之处),加入如下内容(/usr/share/images/最后的“/”一定要加上,我被这个困了好久)
sudo vim /etc/apache2/mods-available/alias.conf
Alias /images/ "/usr/share/images/"
<Directory "/usr/share/images">
    Options FollowSymlinks
    AllowOverride None
    Require all granted
</Directory>

图片服务器配置成功!

以上是关于Apache搭建图片服务器的主要内容,如果未能解决你的问题,请参考以下文章

CentOS搭建Apache+php+MySQL+Redis环境

apache web服务器怎么配置图片缓存?

linux下如何实现web上传并显示图片

nginx和ftp搭建图片服务器

Win10 64位 Apache 2.4+MySQL 5.7+PHP 7环境搭建

一次wamp搭建过程