安装配置ftp服务器(vsftpd)
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。(serv-u windows)

    yum info vsftpd   检测服务是否已经安装 ,显示可用包,就表示未安装
    yum -y install vsftpd  安装
    service firewalld  stop  关闭防火墙
    vim /etc/sysconfig/selinux  关闭子安全系统
            第7行  SELINUX=disabled
   reboot 重启主机
    service firewalld  status 查看状态
    systemctl disable firewalld 设置开机不启动防火墙
     vim /etc/vsftpd/vsftpd.conf   修改vsftpd配置(改的地方标红)
              # 禁止匿名用户anonymous登录
		anonymous_enable=NO    12  
		# 允许本地用户登录
		local_enable=YES
		# 让登录的用户有写权限(上传,删除)
		write_enable=YES
		# 默认umask    077 给目录赋予777-077=700的权限(当前用户可读可写可执行) 
		#  022 =777-022 =755111 101 101	  rwx r-x r-x) 当前用户所有操作,所属组可读可执行,其他用户可读可执行   
		local_umask=022
		# 把传输记录的日志保存到/var/log/vsftpd.log
		xferlog_enable=YES
              # 使用20号端口传输数据
                connect_from_port_20=YES
		xferlog_file=/var/log/vsftpd.log   53
		xferlog_std_format=NO   57
                # 允许ASCII模式上传
                ascii_upload_enable=YES    83 
                # 允许ASCII模式下载
                ascii_download_enable=YES  84
             
                # 欢迎标语
                ftpd_banner=Welcome to use my test ftp server.    87
              #限定在自己的目录内,不让他出去,就比如如果设置成NO,那么当你登陆到ftp的时候,可以访问服务器的其他一些有权限目录。设置为YES后即,锁定你的目录了
                chroot_local_user=NO   101(!!!!!有坑,当使用Java去连接ftp并上传的时候,如果为YES,不会自动创建文件的目录信息)     
 #是否启动限制用户的名单 YES为启用  NO禁用(包括注释掉也为禁用)
                chroot_list_enable=YES   102# touch /etc/vsftpd/chroot_list 新建(需要手动创建)
                chroot_list_file=/etc/vsftpd/chroot_list   104行 按行配置用户
                # 以standalone模式在ipv4上运行
                listen=YES   115
                # PAM认证服务名,这里默认是vsftpd,在安装vsftpd的时候已经创建了这个pam文件,
                # 在/etc/pam.d/vsftpd,根据这个pam文件里的设置,/etc/vsftpd/ftpusers
                # 文件里的用户将禁止登录ftp服务器,比如root这样敏感的用户,所以你要禁止别的用户
                # 登录的时候,也可以把该用户追加到/etc/vsftpd/ftpusers里。
		#listen_ipv6=NO   124 #关掉   
                pam_service_name=vsftpd
      根据配置新加日志文件:
      touch  /var/log/xferlog   日志
      touch /etc/vsftpd/chroot_list   允许用户权限的用户,一个用户一行
      service vsftpd start 启动ftp服务
      useradd  ftpuser -s /sbin/nologin -d /home/ftp   创建用户名称为ftpuser -s 
                  设置是否可以登录 -d 执行宿主目录(和nginx中的配置要一致)

       ls /home/ 会有ftp目录
       passwd ftpuser  设置密码  输入密码tiger,回车,再次输入tiger
       vi /etc/pam.d/vsftpd    注释掉第4行,不去做鉴权操作
测试ftp文件上传和nginx动静分离:
   在windows 使用ftp链接搭建成功的服务器,上传文件,然后使用ngxin访问

    在桌面上准备一个图片,图片格式要和nginx拦截的后缀中包含,按shift键点桌面右键->在此处打开命令行
     保证window和虚拟机的防火墙都是关闭
     ftp 192.168.23.60
     输入用户名 ftpuser  
     输入密码  tiger
     230 登录成功
     ftp>bin      使用二进制上传(除了html静态页面,其他都使用bin方式上传)
     put  config.png  上传图片
   在xshell中查看/home/ftp是否存在图片
   ll /home/ftp/   发现图片大小不是0 说明上传成功
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐