• ubuntu16.06+vsftpd+nginx搭建图片服务器


    安装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

    vsftpd.user_list

    修改文件上传权限

    在默认情况下,我们新上传的文件权限是600,这时候nginx访问就会遇到permission forbidon的问题,这时候需要修改权限

    这里主要修改vsftpd.conf文件两个两个参数

    # 上传档案权限 755
    file_open_mode = 0755
    
    #新建目录与文件权限755
    local_unmask=022
    

    如果需要将新建文件权限设置为755,就是用上面的参数配置即可

    在Windows上测试

    image

    几个常用的指令

    #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查看是否启动成功

    image

    配置文件

    打开/usr/local/nginx/conf/nginx.conf,配置图片地址路径。将之前配置的/home/uftp这个地址作为资源路径添加进去。这样,我们就可以通过ftp对这个目录进行上传、下载,通过nginx向外提供http服务

    location ~ .(gif|jpg|jpeg|png|bmp|swf)$ {
                #默认的图片路径,也是ftp上传文件存放的路径,只要后缀是以上的都会到这个路径下搜索
            root /home/uftp;    
    }
    

    image

    最后,重启nginx

    ./nginx
    

    测试

    如图示,在/home/uftp下面的有一个xx.jpg这个图片

    image

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

    image

    注意

    被访问的文件一定要有rx权限,否则会报404错误,其实是因为这个文件没有权限读取。可以使用chmod指令修改权限

    chmod 754 xx.jpg
    

    小结

    安装vsftpd可以进行ftp通信,上传、下载文件,使用nginx作为服务器,对外提供图片访问地址

  • 相关阅读:
    vue 集成 vis-network 实现网络拓扑图
    三维空间旋转和Three.JS中的实现
    es6常用新属性(详细整理版)
    css的top和left属性不起作用
    网易云音乐歌单生成外链播放器
    Webstorm常用快捷键备忘
    CPU
    中标麒麟neokylin信息查看
    split分割(拆分)文件
    centos7 安装wps
  • 原文地址:https://www.cnblogs.com/Franken-Fran/p/picserver_setup.html
Copyright © 2020-2023  润新知