Apache搭建图片服务器
Posted Kira~~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache搭建图片服务器相关的知识,希望对你有一定的参考价值。
由于之前做过的博客项目每一篇博客上传都需要一幅图片,刚开始想将这些图片直接存到项目static目录下的images静态资源中,但这样的话想在其他地方访问图片就显得有些不方便。
于是我就想,如果能将图片单独放到一个服务器上。这样访问图片不是就更加方便了吗,其他程序想要访问图片资源的时候也可以更加方便的访问。
首先想到的就是用tomcat再搭建一个图片服务器,这样就能实现功能了,但是有没有更加优化的解决方案呢,上网百度一下,还真有,那就是Apache。
用惯了tomcat,忘记了当初web课的时候还有一个叫做Apache的东西,原来Apache对静态资源访问的速度要比Tomcat快好多,对于图片这一类静态数据来说,Apache是比Tomcat更优的选择。那么正题开始:
- 首先,下载Apache
sudo apt install apache2 -y
- 检查Apache的状态
systemctl status apache2
- 启动Apache服务
/etc/init.d/apache2 start
- 由于服务器部署在腾讯云,且之前已经解析了域名,因此,我直接用域名访问服务器,但是无法显示Apache服务。在经历了很长时间的排查(刚开始服务器CPU利用率一直很高,于是以为是遭受到了攻击,网上百度了各种方式检查攻击等都无果,最后发现是没有关掉防火墙,关掉之后好了。。。。)
sudo systemctl stop firewalld.service
- 编辑Apache2的配置文件
sudo vim /etc/apache2/apache2.conf
- 新建并配置图片文件夹
sudo mkdir /usr/share/images
<Directory /usr/share/images>
AllowOverride None
Require all granted
</Directory>
- 配置alias.conf
sudo vim /etc/apache2/mods-available/alias.conf
- 重启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 杀掉前面查询到的进程
- 打开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环境