搭建一个图片服务器

article/2025/10/3 0:07:55

      最近在学习一个电商项目,其中用到了图片上传服务,自己在学习过程中遇到了点问题,记录下来,以备以后查询

      首先需要安装nginx和vsftpd,这两者的安装都有相应的手册,步骤非常详细,我就不啰嗦了,有需要的,请到:http://download.csdn.net/detail/u012453843/9720373和 http://download.csdn.net/detail/u012453843/9720372分别进行下载。

      安装完上面两个服务之后,我们需要配置一下nginx的配置文件才能使用。

      一般情况下nginx的安装目录是/usr/local/目录下,但如果不在这个目录下,我们想知道到底安装到哪儿了,可以使用命令:find / -name nginx,如下所示,可以看到查询出来两条,其中第一条是我们nginx的安装目录,第二条是nginx解压后的包所存放的目录。

[root@itcast01 conf]# find / -name nginx
/usr/local/nginx/conf/nginx
/root/nginx-1.8.0/conf/nginx

       既然找到了安装目录,我们便继续找到nginx的配置文件nginx.conf,如下所示。
[root@itcast01 conf]# cd /usr/local/nginx/
[root@itcast01 nginx]# ls
conf  html  logs  sbin
[root@itcast01 nginx]# cd conf/
[root@itcast01 conf]# ls
fastcgi.conf          fastcgi_params.default  mime.types          nginx.conf.default   uwsgi_params
fastcgi.conf.default  koi-utf                 mime.types.default  scgi_params          uwsgi_params.default
fastcgi_params        koi-win                 nginx.conf          scgi_params.default  win-utf
[root@itcast01 conf]#

        我们可以使用Nodepad++连接我们的服务器(这里我用的是虚拟机)找到对应的nginx.conf文件,如下图所示,在配置文件中我们只需做两处改动,大家不知道怎样用Nodepad++的话,可以参考:http://blog.csdn.net/u012453843/article/details/52987666这篇博客。

第一处:把第一行的user root前面的#去掉,之所以这样做是因为访问权限的问题,不去掉的话,会报Forbidden错误。

第二处:新添一个server,listen的端口还是用默认的80端口,server_name是我们的图片服务器的IP(192.168.156.10是我的图片服务器的IP,大家根据自己的图片服务器的IP进行更改即可),location指定了我们的图片服务器存放图片的地址,大家需要把图片上传到/home/ftpuser/www/目录下面才行,我把图片放到了/home/ftpuser/www/images/的目录下了。修改完配置文件之后我们保存就行了,nodepad++会自动帮我们把配置文件更新到服务器上。

server {
listen       80;
server_name  192.168.156.10;
location / {
                root /home/ftpuser/www/;
        }
}


     接下来,我们需要先检查一下修改后的nginx.conf是否正确,我们检查所使用的命令是:./nginx -t,如下所示,可以看到是没问题的。

[root@itcast01 sbin]# ./nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

     配置文件没错之后,我们重新加载nginx的配置文件,使用的命令是:./nginx -s reload
[root@itcast01 sbin]# ./nginx -s reload
[root@itcast01 sbin]#

     下面我们来试试我们的图片服务器是否成功,我们像图片服务器的相应目录下放几张图片,这里我用的工具是FileZilla,如下图所示。我上传了两张照片,分别是1.jpg和2.jpg

注意:我们上传的时候可能会遇到无法将图片上传到images目录下也无法将images下的图片删除的情况,这是由于images文件夹的权限不足造成的,如下所示:

[root@itcast01 www]# ls -l
total 128
-rw-r--r--. 1 ftpuser ftpuser 124153 Dec 24 13:54 3.jpg
drwxr-xr-x. 2 nobody  ftpuser   4096 Dec 24 16:14 images

       可以看到images文件夹的权限是rwxr-xr-x.权限分为三组,每组三个权限,r代表读,w代表写,x代表进入文件夹的权限,第一组是文件所有者的权限可以看到权限是rwx也就是读、写、进入文件夹三者权限都有,第二组是同组用户的权限,可以看到是r-x,意思是有读和进入文件夹的权限,第三组是其它用户的权限,可以看到也是r-x即有读和进入文件夹的权限。

        通过上面的说明相信大家已经知道为何我们无法向images目录下上传文件和从images目录下删除文件了,因为我们的FileZilla客户端没有images目录的写权限,因此,为了解决这个问题,我们需要改变images文件夹的权限,如下所示。

[root@itcast01 www]# chmod 777 images

          添加完权限之后我再看images目录的权限,发现三个分组都有写权限了,这时我们再上传和删除图片就没问题了。
[root@itcast01 www]# ls -l
total 4
drwxrwxrwx. 2 nobody ftpuser 4096 Dec 24 16:14 images


       下面我们便通过浏览器来浏览一下,看是否能看到我们上传的图片,如下图所示,发现可以正常访问,说明我们的图片服务器成功了!



http://chatgpt.dhexx.cn/article/WijSss3t.shtml

相关文章

简单的本地图片服务器的搭建

简单的本地图片服务器的搭建 第一步:安装部署 Nginx下载 Nginx下载完解压后 第二步: 搭建图片服务器 第一步:安装部署 Nginx 下载 Nginx 保存文件路径不要包含中文! Linux和Windows不一样! 下载完成后,解…

图片服务器

图片服务器 图片服务器主要的功能是:上传图片,显示图片的功能 写博客的时候,插入的图片,本质上是往文章内插入一个url,图片其实是保存在在另一个服务器上,而我这个项目就是制作一个类似这样的服务器。 核心…

FastDFS搭建图片服务器

服务器规划 服务器名称IP地址和端口备注fastdfs-tracker*:22122跟踪服务器/调度服务器fastdfs-storage*:23000存储服务器 一、安装系统组件 yum install gcc -y 二、安装fastdfs 1、创建图片服务器存储目录 mkdir -p /data/image 2、下载FastDFS依赖包libfastcommon并安…

Zimg—轻量级图片服务器搭建利器

在一个互联网应用中,图片扮演着越来越重要的角色。有稳定的可扩展的图片存储服务器就显得尤为的重要,云厂商们提供了便利的图片存储服务,花钱就可以解决了。这里简单介绍一个开源的一个分布式图片存储服务器——zimg,来自己搭建一…

图片服务器的搭建

当高并发的时候容易发生图盘上传到一个服务器从另一个服务器需要读取照片 解决方法: 专门保存图片,不管是哪个服务器接收到图片,都把图片上传到图片服务器。 图片服务器上需要安装一个http服务器,可以使用tomcat、apache、ngin…

图片服务器搭建

图片服务器搭建 原先我们通过servlet上传一个用户的头像,需要把头像显示到网站上。就需要搭建一个图片服务器来显 示图片了。 图片服务器其实和tomcat/nginx容器的作用是一样的。目的都是要把文件从本地的磁盘上发布出去。一般常用 的图片服务器是apache服务器 &am…

三种图片服务器

2019独角兽企业重金招聘Python工程师标准>>> 到目前,工作中用到的图片服务器有下面三种: (1)使用Nginx搭建图片服务器 (2)使用阿里云图片服务器(OOS) (3&…

【java】本地客户端内嵌浏览器2 - chrome/chromium/cef/jcef

目录 ★☆★ 写在前面 ★☆★★☆★ 本系列文章 ★☆★★☆★ 开源网址 ★☆★一、发现新大陆 - CEF/JCEF0、前言1、使用 jcef.jar 搭建项目2、启动包含 jcef.jar 的程序3、simple\MainFrame 注释翻译 二、定制自己的项目之 Swing1、删除导航栏2、程序启动最大化窗口&#xff0…

C#嵌入谷歌浏览器内核

1.右击项目,选择.net框架为4.5以上: 2.右击项目,选择“管理Nuget程序包”,点击“浏览”,搜索“CefSharp”,选择“CefSharp WinForms”下载安装。 安装之后到项目的引用下查看,会出现&#xff…

WinFrom内嵌chrome浏览器

选中项目,右键,下拉列表里选择“管理Nuget程序包(N)”选项,打开如图: 按照步骤装上这个nuget包,装上以后你的工具箱就有这个了: 不用拖拉控件,直接代码绑定把&#xff…

在网页中内嵌网页

目录&#xff1a; 文章目录 前言代码展示主页代码展示作品的代码球体运动方块旋转 结果演示 前言 在制作个人网站时&#xff0c;经常遇到一个问题&#xff0c;就是如何让自己的作品动态的显示在主页上而本文就是找到了解决办法&#xff0c;利用<embed src"xx.html&qu…

Qt实现 内嵌CEF制作浏览器(首篇)

介绍 cef支持跨平台&#xff0c;是基于Chromium的开源浏览器控件&#xff0c;全称Chromium Embedded Framework&#xff0c;因为其跨平台性&#xff0c;被广泛使用于制作浏览器。 本文主要介绍如何下载cef以及编译windows下的cef项目&#xff0c;并运行查看浏览器显示效果。 …

Qt 内嵌浏览器几种办法

1.使用axWidget QT axcontainer 然后ui里面就可以出现QAxWidget 直接拖入就可以 ui->axWidget->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}")); ui->axWidget->setFocusPolicy(Qt::StrongFocus); ui->axWidget…

CEF内嵌浏览器 编译

CEF github 笔记 https://github.com/fanfeilong/cefutil/blob/master/doc/CEF%20General%20Usage-zh-cn.md#using-binray 介绍 CEF全称Chromium Embedded Framework&#xff0c;是一个基于Google Chromium 的开源项目。Google Chromium项目主要是为Google Chrome应用开发的…

Unity内嵌浏览器插件(Android、iOS、Windows)

文章目录 一. Embedded Browser插件下载2. 使用 二. UniWebView插件1. 下载2. 使用 三、我自制的迷你浏览器 一. Embedded Browser插件 下载 平台&#xff1a;Windows 链接&#xff1a;https://pan.baidu.com/s/1h2oyGW6FsvPlOGCob0VrfA 提取码&#xff1a;02tu 2. 使用 导…

QT内嵌浏览器与JS通讯

QT内嵌浏览器与JS通讯 1. 概述2. JS调用QT方法2.1 QT代码2.2 HTML/代码 3 WebEngineView示例4. 效果展示 1. 概述 QT内嵌浏览器支持拦截请求、获取cookie、js代码注入及js调用QT方法。本篇主要介绍js调用QT方法其他方式的使用QT WebEngineView 拦截请求、获取cookie&#xff0…

Unity 工具之 内嵌网页/浏览器 web view / browser 插件的整理大全(包括Window Mac Android iOS 等)

Unity 工具之 内嵌网页/浏览器 web view / browser 插件的整理大全&#xff08;包括Window Mac Android iOS 等&#xff09; 目录 Unity 工具之 内嵌网页/浏览器 web view / browser 插件的整理大全&#xff08;包括Window Mac Android iOS 等&#xff09; 一、简单介绍 二、…

Unity 工具之 内嵌网页/浏览器插件使用和学习笔记

1、Embedded Browser 插件&#xff08;文件夹名ZFBrowserUnity&#xff09; 优点&#xff1a;设置简单&#xff0c;功能强大&#xff1a;输入url地址&#xff0c;拉取网页信息&#xff0c;可设置页面尺寸&#xff0c;可显示透明背景的网页&#xff0c;可与显示的页面进行互动&…

java内嵌浏览器的几种方式

最近遇到一个特殊的项目需求&#xff0c;就是需要在一个屏幕上打开多个窗口大小不同的浏览器、并且显示不同的页面。因为是需要浏览器无边框的&#xff0c;在网上找了好多资料&#xff0c;发现前端好像很难实现。所以就打算采用java后台内嵌浏览器&#xff0c;然后实现无边框的…

winform内嵌浏览器的2种实现方式

可使用WebBrowser或axWebBrowser实现winform窗体内嵌浏览器 一 使用axWebBrowser打开浏览器 1.新建个winform项目 2.添加axWebBrowser控件 打开工具箱,右键空白处,点击选择项 选择COM组件,勾上Microsoft Web Browser 把控件拉拽到winform窗体上 3.使用axWebBrowser打开浏览器 …