如何访问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,即可访问到图片,如果无法访问你需要关闭虚拟机的防火墙。