【原】Nginx搭建FTP服务器的细节问题

关于文件服务器很多实现方法,比如采用阿里的分布式文件系统FastDFS,以及自己内部搭建FTP服务器,这里记录一下关于nginx搭建FTP文件系统流程。

ftp服务器搭建的步骤网上也是很多,这里贴一下具体流程,方便以后参考:

  1.   yum -y install vsftpd
  2.   useradd ftpuser  (添加用户)
  3. passwd ftpuser (对ftpuser添加密码,需要重复输入2次,最好是8位密码)

默认ftp的路径是在/etc/vsftpd,这时候进入 home目录就可以查看到ftpuser文件夹,通过ftp登录可以进到该目录下,这时候我把图片上传到这个目录下

   

这里有个小细节就是在Linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户,因为我是创建了一个ftpuser用户,所以这个所有者是ftpuser。

这时候我们是外网无法访问这个图片,除非通过ftp组装密码和用户名的方式来获得图片,但是这个很不安全,所以这时候就可以通过nginx的代理机制来实现我们外部对ftp文件的访问,主要配置很简单,就是修改nginx.conf的配置文件,如下图:

以为这样就OK了,没想到一直出现403,禁止访问,后来排查了ftp的问题,检查过nginx的配置,更改路径的所有者和授权都无作用,最后才发现nginx.conf顶部

有个user被注释了,后来尝试打开后再次访问,能正常看到图片,所以问题就是这里,默认的是nobody,没有权限组,需要打开注释并赋给有权限的用户,修改后如下:

这时候再访问图片服务器路径就能正常get图片:

时间: 2024-10-12 19:49:30

【原】Nginx搭建FTP服务器的细节问题的相关文章

vsftpd+nginx搭建图片服务器的一些问题

前言 五月份做了一个项目,其中有一个vsftpd+nginx搭建图片服务器的部分,一直出现错误,在控制台上显示上传成功,可是访问相关图片页面却一直访问不了,想了几天也没解决,于是这个bug就一直放在那,直到今天才解决. 一.安装vsftpd+nginx 这里网上都是资料,不多阐述 二.vsftpd遇到的错误    1.启动systemctl start vsftpd 发生错误: 解决方法 1)按照网上说的,把vsftpd.conf配置文件下的#listen_ipv6=YES注释掉或者改为NO 2

CentOS 下搭建FTP服务器

vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个.本文介绍了在CentOS 6 4下安装vsftpd.配置虚拟用户登录FTP的过程.正 vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个. 本文介绍了在CentOS 6.4下安装vsftpd.配置虚拟用户登录FTP的过程. 正文: 一:安装vsftpd 查看是否已经安装vsftpd 1 2 3 4 rpm -qa | grep vsftpd #如果没有,就安装,并设置开机启动 yum -y

nginx 搭建文件下载服务器

nginx 搭建下载服务器 一:配置 default.conf server {listen 80;server_name localhost; charset utf-8; #access_log /var/log/nginx/host.access.log main; location / { #root /usr/share/nginx/html; #index index.html index.htm; root /home/jingxiang; autoindex on; #开启索引功

Windows server 2008 r2搭建FTP服务器

最近需要搭建FTP服务器,顺着书上的教程走一遍流程. 1. 安装FTP服务 图一 图二 图三 可以看到上面提示并未启动windows自动更新,这个需要注意一下. 2. 新建FTP站点 准备FTP文件夹: 图四 开始新建站点: 图五 图六 此步由于没有SSL证书所以选择无. 图七 这里给予所有用户读取的权限. 图八 图九 这样子可以算是初步弄好,虽然在服务器端是可以访问的,但是由于没有设置防火墙,所以外面是暂时访问不了的. 图十 如果只是测试用的话,可以将防火墙关闭,但是真正使用的话则需要进一步的

RedHat5.9下搭建FTP服务器

FTP服务:基于C/S结构的文件传输协议 FTP会话属于复合TCP连接: 控制连接:TCP 21端口,发送FTP命令信息 数据连接:TCP 20端口,上传/下载数据 实验环境: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 一. 实验要求:配置可匿名上传FTP服务 1.安装软件包 [[email protected] ~]# rpm -q vsftpd package vsftpd is not installed

centos7 搭建ftp服务器

本文采用最新的centos7 来学习搭建linux各种服务器,今天分享的是搭建ftp服务器(ps:不建议使用最新的系统去学习,因为系统发生了改变,好多以前的搭建服务器的方法就不行了,比如说centos7将防火墙由iptables换为了firewall,再按照原来的教程去搭建就会遇到很多问题.....,当然如果只是想用服务器大可在安装的时候勾选相应的选项系统会自动安装好相关的服务)由于本人运气比较差,所以在安装的过程遇到了各种奇葩的问题,并且本人还是一个刚入门的小菜鸟,因此花了足足3天才算把ftp

搭建FTP服务器

FTP服务器软件: FTP服务使用FTP协议来进行文件的上传和下载. 注:如果新下载了一个软件而不会安装,则先将软件解压,然后进入软的目录,打如下命令来查看软             件的安装帮助:       #man   INSTALL   或#man   README 实验拓扑: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 实验一:测试默认安装vsftpd的结果 匿名用户与本地用户都可以登录 匿名用户登录到

RedHat6.2搭建FTP服务器

我的环境: A:Red Hat Enterprise 6.2 IP:192.168.16.12 此机作测试端 B:Red Hat Enterprise 6.2 IP:192.168.16.13 此机做FTP服务端 B机上搭建FTP服务器: 下载并安装vsftpd-2.2.2-6.el6_0.1.i686 [[email protected] ~]# rpm -ivh vsftpd-2.2.2-6.el6_0.1.i686.rpm 创建测试用户: [[email protected] ~]# us

ubuntu12.04下搭建ftp服务器

楼主想把同学硬盘里面的200多G电影共享给实验室的小伙伴们看,就打算在内网服务器上搭建一个ftp的服务器. 1.安装ftp 首先在终端下键入如下内容,安装ftp服务器: sudo apt-get install vsftpd 2.配置ftp 修改ftp的配置文件,该文件在/etc目录下,在终端中键入如下命令以打开配置文件: sudo gedit /etc/vsftpd.conf 简单的修改以下几个配置项即可: #禁止匿名访问 anonymous_enable=NO #接受本地用户 local_e