首页 > 系统相关 >如何访问Linux服务器上的图片资源呢

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

时间:2023-03-14 23:14:01浏览次数:36  
标签:tomcat nginx Linux 访问 home 服务器 root

一、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中搭建图片服务器 俩种方法

 

标签:tomcat,nginx,Linux,访问,home,服务器,root
From: https://www.cnblogs.com/xietianjiao/p/17216797.html

相关文章

  • 38 openEuler搭建FTP服务器-FTP总体介绍
    38openEuler搭建FTP服务器-FTP总体介绍38.1FTP简介FTP(FileTransferProtocol)即文件传输协议,是互联网最早的传输协议之一,其最主要的功能是服务器和客户端之间的文件传输......
  • linux目录详解
    目录 /bin存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。/etc存放系统管理和配置文件/home存放所有用户文件的根目录,是......
  • Linux目录详解
    bin      包含应用程序的可执行文件dev      存储声卡,磁盘,光驱home     包含用户资料lib64      于存放64位系统标准程序......
  • 一条超级简单的故意让linux死机/宕机的命令
    转载自:https://blog.csdn.net/masterbee/article/details/101159135========== 最近因为测试需要,需要观察机器在死机状态下其它外设的反应,学习到了一条超级简单的能让L......
  • Rock Linux 系列4 --- SSH
    一、概要1.环境(1)RockyLinux9.12.概念SSH(SecureShell)是用于两台计算机进行网络通信和数据传输的协议,使用SSH进行通信的两台计算机其通信内容已被加密,这意味着......
  • Linux网络服务:DNS域名服务系统
    DNS域名系统服务1.DNS介绍1.1什么是域名?域名(DomainName),简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计......
  • Linux网络服务:DHCP
    网络服务-DHCP1.DHCP简介 DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)是一个工作在应用层的局域网网络协议,数据传输时使用UDP不可靠传输协议工作,通常被应......
  • vsftpd的一点SELinux设置
    在开了SELinux和防火墙的情况下,使用chroot_local_user=YES锁定用户在自己的home目录中,没想到vsftp的问题。FTP登录报错:500OOPS:cannotchangedirectory。下面来看看产......
  • linux 命令行
     linux命令的参数,可以简写  ls-l-hls-lhls-hlcd(更改目录的意思)的用法cd命令(空格)可选参数文件夹几个特殊的目录.当前工作目录..上一级工......
  • 我在京东做研发第五期:京东云自研服务器,如何将开发成本降低 60% 的同时还更低碳环保?
    分享人:蔡岳霖 京东科技京东云事业部AIDC产品研发部工程师中国台湾台北科技大学能源与冷冻空调所硕士毕业,主修电子冷却、两相液冷技术。长期从事服务器架构设计,曾参与G......