安装vsftpd
注:以下指令都在root账户下操作
# apt安装vsftpd apt-get install vsftpd #启动vsftpd service vsftpd start #新建用户作为专门访问ftp的账户 mkdir /home/uftp useradd -d /home/uftp -s /bin/bash uftp #将/home/uftp所有者赋为uftp chown uftp:uftp /home/uftp #新建/etc/vsftpd.user_list,用于存放ftp用户 vim /etc/vsftpd.user_list #向里面添加`uftp`,如下面图示 #编辑vsftpd配置文件 做如下修改: 打开注释 write_enable=YES 添加信息 userlist_file=/etc/vsftpd.user_list 添加信息 userlist_enable=YES 添加信息 userlist_deny=NO #重启vsftpd service vsftpd resatrt
vsftpd.user_list

修改文件上传权限
在默认情况下,我们新上传的文件权限是600
,这时候nginx访问就会遇到permission forbidon的问题,这时候需要修改权限
这里主要修改vsftpd.conf文件两个两个参数
# 上传档案权限 755 file_open_mode = 0755 #新建目录与文件权限755 local_unmask=022
如果需要将新建文件权限设置为755
,就是用上面的参数配置即可
在Windows上测试

几个常用的指令
#linux上的目录 pwd #获取文件 get file.png #上传文件 put file.png
permission deny问题
如果报出这个问题,记得检查一下登陆的账户是否拥有/home/uftp
的读、写、执行权限
搭建nginx
安装gcc编译器以及nginx依赖库等
#安装gcc apt-get build-dep gcc #安装pcre apt-get install libpcre3 libpcre3-dev #安装zlib,压缩、解压 apt-get install zlib1g-dev #安装openssl,安装套接字层密码库 apt-get install openssl libssl-dev
下载、安装nginx
#下载最新nginx wget http://nginx.org/download/nginx-1.13.12.tar.gz #解压 tar -zxf nginx-1.13.12.tar.gz #进入目录 cd nginx-1.13.12 #配置,选择/usr/local/nginx作为安装目录 ./configure --prefix=/usr/local/nginx #编译 make #安装 make install #启动 /usr/local/nginx/sbin/nginx #常看进程 ps -ef|grep nginx #其他指令,停止、重启nginx /usr/local/nginx/sbin/nginx -s stop /usr/local/nginx/sbin/nginx -s reload
访问nginx查看是否启动成功

配置文件
打开/usr/local/nginx/conf/nginx.conf
,配置图片地址路径。将之前配置的/home/uftp
这个地址作为资源路径添加进去。这样,我们就可以通过ftp对这个目录进行上传、下载,通过nginx向外提供http服务
location ~ \.(gif|jpg|jpeg|png|bmp|swf)$ { #默认的图片路径,也是ftp上传文件存放的路径,只要后缀是以上的都会到这个路径下搜索 root /home/uftp; }

最后,重启nginx
./nginx
测试
如图示,在/home/uftp
下面的有一个xx.jpg
这个图片

我们访问xx.jpg
这张图片,结果如下所示

注意
被访问的文件一定要有rx
权限,否则会报404
错误,其实是因为这个文件没有权限读取。可以使用chmod
指令修改权限
chmod 754 xx.jpg
小结
安装vsftpd
可以进行ftp通信,上传、下载文件,使用nginx作为服务器,对外提供图片访问地址
来源:https://www.cnblogs.com/Franken-Fran/p/picserver_setup.html