如何访问Linux服务器上的图片资源呢

一、Nginx实现图片访问

这里是用的nginx搭建
编辑nginx下conf目录下的nginx.conf文件
找到对应的server,我这里端口设置的为8000

添加

location ~ .*\.(gif|jpg|pdf|jpeg|png)$
{
root /home/oeasy/;
}
这里是配置的通配路径,只要后缀为gif,jpg,pdf,jpeg,png的任意访问路径都会访问/home/oeasy/下的文件。
例如:http://123.23.4.23:8000/ha/dfadf.jpg 它访问linux服务器的路径会被拼接为/home/oeasy/img/ha/dfadf.jpg

修改完成后保存

检查配置文件是否正确(在sbin目录下执行):
命令: ./nginx -t

重新部署nginx(在sbin目录下执行):
命令:./nginx -s reload

经过上面的步骤就可以访问linux服务器上的图片啦。

记录一下我的踩坑:
我访问的时候一直报403 forbidden
找到原因,因为我图片放在/home/oeasy/img中的,/home及其子目录的访问权限归拥有者所有,其他的任意用户不能访问!!
输入命令:
chmod -R 666 /home
其他任意用户就能访问了
-R 是当前目录及其子目录文件
/home 是指定当前目录
666 每个人都有读和写的权限
————————————————
版权声明:本文为CSDN博主「shiluhuia」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shiluhuia/article/details/125890884

二、实现视频访问

1. 将视频/图片资源放进服务器中
如果是使用了xshell一类的终端模拟软件,直接将资源拖到指定目录即可,如果没有,就用rz命令来上传,输入[root@localhost guides-web-videos]# rz就行。下图的上传已省略。
我是在nginx所在的同级目录下创建了存放资源的文件夹。(其实放哪都可以,之后能指定找到就行)


2. 编辑nginx配置文件

找到nginx.conf文件,通过vi或者vim进入该文件。
编辑nginx.conf文件。上一步进入文件后是处于命令模式(Command mode),按i即可进入输入模式(Insert mode)开始编辑文件。
在文件最后添加服务,暴露一个任意没在使用的端口(我是8086),root后是资源路径。
server
{
listen 8086;
server_name 0.0.0.0;
location / {
root /www/server/guides-web/guides-web-videos;
}
}

编辑完成后,按esc退出输入模式,再输入:wq(退出并保存)。

3. 重启nginx(重新加载配置文件)
任意目录下输入 nginx -s reload
到此,资源已可以获取,地址为http://服务器ip:8086/A01.MP4

问题:
1.出现404,说明你配置文件的路径没有于资源所在处对应,仔细检查
2.出现403,说明资源所在的路径访问权限不够,可通过如下命令增加用户对文件夹的访问权限chmod -R 755(或者777) guides-web/
三、Tomcat实现

1.在Linux中搭建一个图片服务器,基于Tomcat

1.需要在虚拟机中安装一个tomcat,将下载好的tomcat压缩包上传到虚拟机中加压可以开始配置

tar -zxvf tomcat压缩包名字

2.启动tomcat服务

cd /root/apps/tomcat-9.0.24/bin
启动tomcat命令 ./startup.sh
关闭tomcat命令 ./shutdown.sh 

启动tomcat服务后在网页访问 hdp-1:8080 出现tomcat服务器网页即可

3.配置tomcat图片服务器

cd /root/apps/tomcat-9.0.24/conf
vi server.xml

在文件<Server></Server>中添加

<Service name="imageService">
    <!--分配8089端口 -->
    <Connector port="8089"   
        protocol="HTTP/1.1"  
        connectionTimeout="20000"   
        URIEncoding="GBK"  
        redirectPort="8443" />
      <!-- hdp-1为虚拟机的IP地址 -->
     <Engine name="imageService" defaultHost="hdp-1">
​
     <Host name="hdp-1" appBase="webapps"  
            unpackWARs="true" autoDeploy="true"   
            xmlValidation="false" xmlNamespaceAware="false">
    <!--资源地址,存放图片的位置-->
      <Context path="" docBase="/usr/local/nginx/html/images" debug="0"     reloadable="false"/>
        </Host>
        </Engine>
 </Service>

再次启动Tomcat服务器,在网页访问http://hdp-1:8089/img.jpg,即可访问到图片,如果无法访问你需要关闭虚拟机的防火墙。

Linux中搭建图片服务器 俩种方法

 

posted @ 2023-03-14 22:52  卖雨伞的小男孩  阅读(1851)  评论(0编辑  收藏  举报