一、ftp概念?

  1. /*
  2. ftp是一个协议和http协议都是叫协议
  3. tcp和udp也是协议
  4. ftp是文件(以流的形式进行传输)传输协议(针对于文件进行上传和下载)
  5. */
  6. 1.如果ftp服务器有多台,服务器端无法识别问题:
  7. 1.1.在user表中添加字段(ftp_server)-->根据用户上传的ftp的编号进行update该字段
  8. 1.2.在user表中有一个字段(head_pic)-->存入的图片所在ftp服务器的路径-->查询到该路径使用subString进行截取服务器的IP地址
  9.  
  10. 2.文件名的重复:
  11. 使用用户的id+当前时间的毫秒数+任意的随机数
  12.  
  13. 3.文件存放不规律不方便后期的查询和维护:
  14. 可以根据当前日期进行分文件夹
  15. 2019/08/31--->2019831号所存的图片/文件
  16. --->pic
  17. --->file
  18. --->编写过滤器(过滤所有的图片的后缀)-->返回如果为true--->存入file-->否则存入pic

二、 ftp配置?

  1. 1.
  2. ftp的配置:(nginx一起使用,保证项目的安全性)
  3. 要求:
  4. 所有的ftp服务器都不能叫ftp
  5. linux的用户名不能叫ftp,就会和ftp的安装冲突,导致ftp无法启动
  6. 在新的linux配置中,HOSTNAME也不能叫ftp
  7.  
  8. 1.1检测linux上是否已经安装了ftp
  9. 命令:
  10. /* rpm -qa | grep vsftpd
  11. rpm -qa | grep vsftpd
  12. rpm -qa|grep vsftpd
  13. rpm -qa|grep vsftpd
  14. rpm -qa | grep vsftpd
  15. rpm -qa | grep vsftpd
  16. rpm -qa | grep vsftpd
  17.  
  18. */
  19. linux服务器上ftpvsftpd
  20. 如果什么都没有显示,则说明linux上没有安装过ftp
  21.  
  22. 1.2安装ftp
  23. /*
  24. yum -y install vsftpd
  25. yum -y install vsftpd
  26. yum -y install vsftpd
  27. yum -y install vsftpd
  28. yum -y install vsftpd
  29. yum -y install vsftpd
  30. yum -y install vsftpd
  31. */
  32.  
  33. 看到以下信息说明安装成功:
  34. Running Transaction
  35. Installing : vsftpd-2.2.2-24.el6.x86_64 1/1
  36. Verifying : vsftpd-2.2.2-24.el6.x86_64 1/1
  37. Installed:
  38. vsftpd.x86_64 0:2.2.2-24.el6
  39. Complete!
  40.  
  41. 1.3.启动ftp(和防火墙一样)
  42. /*
  43. service vsftpd start 启动
  44. service vsftpd stop 停止
  45. service vsftpd restart 重启
  46. */
  47.  
  48. 看到以下信息说明启动成功:
  49. Starting vsftpd for vsftpd: [ OK ]
  50.  
  51. 1.4.设置ftp的开机启动
  52. /* chkconfig vsftpd on
  53. chkconfig vsftpd on
  54. chkconfig vsftpd on
  55. chkconfig vsftpd on
  56. chkconfig vsftpd on
  57. chkconfig vsftpd on
  58. chkconfig vsftpd on
  59. chkconfig vsttpd on
  60.  
  61. */
  62.  
  63. 1.5.配置ftp
  64. // linux会将ftp默认安装在 /etc目录
  65. vsftpdconf目录进行配置
  66. 命令:
  67. /* vi /etc/vsftpd/vsftpd.conf
  68. vi /etc/vsftpd/vsftpd.conf
  69.  
  70. vim /etc/vsftpd/vsftpd.conf
  71. vim /etc/vsftpd/vsftpd.conf
  72. vim /etc/vsftpd/vsftpd.conf
  73. vim /etc/vsftpd/vsftpd.conf
  74. vim /etc/vsftpd/vsftpd.conf
  75. vim /etc/vsftpd/vsftpd.conf
  76.  
  77. */
  78. # 禁止匿名用户anonymous登录
  79. anonymous_enable=NO
  80. # 允许本地用户登录
  81. local_enable=YES
  82. # 让登录的用户有写权限(上传,删除)
  83. write_enable=YES
  84. # 默认umask
  85. local_umask=022
  86. # 把传输记录的日志保存到/var/log/vsftpd.log 三个不同的地方
  87. xferlog_enable=YES
  88. xferlog_file=/var/log/vsftpd.log
  89. xferlog_std_format=NO
  90. # 允许ASCII模式上传
  91. ascii_upload_enable=YES
  92. # 允许ASCII模式下载
  93. ascii_download_enable=YES
  94. # 使用20号端口传输数据
  95. connect_from_port_20=YES
  96. # 欢迎标语
  97. ftpd_banner=Welcome to use my test ftp server.
  98.  
  99. /* # 接下来的三条配置很重要
  100. # chroot_local_user设置了YES,那么所有的用户默认将被chroot,
  101. # 也就用户目录被限制在了自己的home下,无法向上改变目录。
  102. # chroot_list_enable设置了YES,即让chroot用户列表有效。
  103. # ★超重要:如果chroot_local_user设置了YES,那么chroot_list_file
  104. # 设置的文件里,是不被chroot的用户(可以向上改变目录)
  105. # ★超重要:如果chroot_local_user设置了NO,那么chroot_list_file
  106. # 设置的文件里,是被chroot的用户(无法向上改变目录)*/
  107.  
  108. chroot_local_user=NO (!!!!!有坑,当使用Java去连接ftp并上传的时候,如果为YES,不会自动创建文件的目录信息)
  109. chroot_list_enable=YES
  110.  
  111. # touch /etc/vsftpd/chroot_list 新建(需要手动创建) //在vsftpd 目录下创建 touch chroot_list
  112. chroot_list_file=/etc/vsftpd/chroot_list
  113.  
  114. # 以standalone模式在ipv4上运行
  115. listen=YES
  116. # PAM认证服务名,这里默认是vsftpd,在安装vsftpd的时候已经创建了这个pam文件,
  117. # 在/etc/pam.d/vsftpd,根据这个pam文件里的设置,/etc/vsftpd/ftpusers
  118. # 文件里的用户将禁止登录ftp服务器,比如root这样敏感的用户,所以你要禁止别的用户
  119. # 登录的时候,也可以把该用户追加到/etc/vsftpd/ftpusers里。
  120. pam_service_name=vsftpd
  121.  
  122. 6.重启ftp
  123. /*
  124. service vsftpd restart
  125. service vsftpd restart
  126. service vsftpd restart
  127. service vsftpd restart
  128. service vsftpd restart
  129. service vsftpd restart
  130. service vsftpd restart
  131. service vsftpd restart
  132. service vsftpd restart
  133.  
  134. */ 看到以下信息说明重启成功:
  135. Shutting down vsftpd: [ OK ]
  136. Starting vsftpd for vsftpd: [ OK ]
  137.  
  138. 7.执行以下5个命令,让刚才配置生效 需要等待一段时间。。。
  139. 5个命令比较慢需要等待
  140. /* getsebool -a | grep ftpd
  141. setsebool -P ftp_home_dir 1
  142. setsebool -P allow_ftpd_full_access 1
  143. setsebool -P allow_ftpd_use_cifs 1
  144. setsebool -P allow_ftpd_use_nfs 1
  145. */
  146.  
  147. 8.创建ftp用户 在根目录下创建。
  148. useradd ftp的用户名(ftpuser) -s /sbin/nologin -d /home/ftp(手动编写,home目录下并没有ftp文件夹)
  149. 命令:
  150. /*
  151. useradd ftpuser -s /sbin/nologin -d /home/ftp
  152. useradd ftpuser -s /sbin/nologin -d /home/ftp
  153. useradd ftpuser -s /sbin/nologin -d /home/ftp
  154. useradd ftpuser -s /sbin/nologin -d /home/ftp
  155. useradd ftpuser -s /sbin/nologin -d /home/ftp
  156. useradd ftpuser -s /sbin/nologin -d /home/ftp
  157.  
  158. */
  159. /home/ftp-->将来用户上传文件的时候所到根目录
  160.  
  161. 9.ftp用户设置密码
  162. passwd ftp的用户名(ftpuser) 回车
  163.  
  164. /*
  165. useradd ftpuser
  166. useradd ftpuser
  167. useradd ftpuser
  168. useradd ftpuser
  169. useradd ftpuser
  170. useradd ftpuser
  171.  
  172. */我在根目录下 建立的。
  173. 看到以下信息说明设置密码成功:
  174. Changing password for user ftpuser.
  175. New password:
  176. BAD PASSWORD: it is too simplistic/systematic
  177. BAD PASSWORD: is too simple
  178. Retype new password:
  179. passwd: all authentication tokens updated successfully.
  180.  
  181. 10.filezilla连接ftp
  182. 所有的ftp目录下必须要使用ftpuser这个用户创建文件夹和文件,不能再使用root,可能造成无法识别(root用户没有权限)
  183.  
  184. 配置nginx:
  185. 1.使用xftpnginx上传到linux服务器上
  186. 2.解压nginx
  187. tar -zxvf xxxx
  188. 3.创建快捷方式
  189. 进入nginx目录中进行创建
  190. 首先安装nginx所必须的配置包
  191. /*
  192. yum -y install gcc pcre-devel openssl openssl-devel
  193. yum -y install gcc pcre-devel openssl openssl-devel
  194. yum -y install gcc pcre-devel openssl openssl-devel
  195. yun -y install gcd pcre-devel openssl openssl-devel
  196.  
  197. */
  198.  
  199. 创建快捷方式
  200.  
  201. /*
  202. ./configure --prefix=/usr/local/nginx-1.17.3
  203. ./configure --prefix=/usr/local/nginx-1.17.3
  204. ./configure --prefix=/usr/local/nginx-1.17.3
  205. ./configuer --prefix=/usr/local/nginx-1.17.3
  206. ./configuer --prefix=/usr/local/nginx-1.17.3
  207. ./configuer --perfix=/usr/local/nginx-1.17.3
  208. ./
  209.  
  210. */
  211. 4.编译nginx
  212. /*
  213. make && make install
  214. make && make install
  215. make && make install
  216. make && make install
  217. make && make install
  218. make && make install
  219. make && make install
  220.  
  221. */
  222. 5.修改nginx的配置
  223. /usr/local/nginx-1.17.3/conf目录修改
  224. vim nginx.conf
  225.  
  226. 把一行的user注解打开
  227. user nobody;--->user root
  228. 不要删除location /标签中的任何东西
  229. location / {
  230. root(访问的根目录) /home/ftp/www;
  231. }
  232. 6.启动nginx sbin/目录下。
  233. ./nginx

Linux配置 ftp 和 ftp简单介绍的更多相关文章

  1. Linux配置zookeeper 和zookeeper简单介绍

    一.zookeeper介绍? 一.zookeeper 简单介绍? 1.什么是集群? // 很多台服务器保持连接通讯状态,并且所有的服务器做同一件事就称之为集群 2.什么是zookeeper? 注册中心 ...

  2. 一个性能较好的jvm參数配置以及jvm的简单介绍

    一个性能较好的webserverjvm參数配置: -server //服务器模式 -Xmx2g //JVM最大同意分配的堆内存,按需分配 -Xms2g //JVM初始分配的堆内存.一般和Xmx配置成一 ...

  3. Linux内核剖析 之 进程简单介绍

    1.概念 1.1  什么是进程?     进程是程序运行的一个实例.能够看作充分描写叙述程序已经运行到何种程度的数据结构的汇集.     从内核观点看.进程的目的就是担当分配系统资源(CPU时间,内存 ...

  4. Linux GDB程序调试工具使用简单介绍

    GDB概述 GDB是GNU开源组织公布的一个强大的UNIX下的程序调试工具.也许,各位比較喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但假设你是在UNIX平台下做软件,你会发现GDB这个调试 ...

  5. linux系统的 suid/guid简单介绍 linux suid guid

    我们在前面曾经提到过s u i d和g u i d.这种权限位近年来成为一个棘手的问题.很多系统供应商不允许实现这一位,或者即使它被置位,也完全忽略它的存在,因为它会带来安全性风险.那么人们为何如此大 ...

  6. 嵌入式 Linux下curl库API简单介绍

    1:CURLcode curl_global_init(long flags); 这个函数全局需要调用一次(多次调用也可以,不过没有必要), 所以这也是把Curlplus设计成单体类的原因,curl_ ...

  7. 第二十一篇 Linux中的环境变量简单介绍

        环境变量之   PATH 定义解释器搜索用户执行命令的路径 获取PATH变量的值: echo $PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/us ...

  8. linux简单介绍,helloworld,vi使用,用户管理

    linux特点1.免费的.开源的2.支持多线程.多用户的3.安全性好4.对内存和文件管理优越 缺点:操作相对困难 linux最小只需要4m -> 嵌入式开发 我们使用 vm[虚拟机] 虚拟了一个 ...

  9. Linux 下UVC&V4L2技术简单介绍(二)

    通过前文Linux 下UVC&V4L2技术简单介绍(一)我们了解了UVC和V4L2的简单知识. 这里是USB设备的文档描写叙述:http://www.usb.org/developers/do ...

  10. 【Hadoop离线基础总结】impala简单介绍及安装部署

    目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安 ...

随机推荐

  1. 【LeetCode】216. Combination Sum III 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述: 题目大意 解题方法 方法一:DFS 方法二:回溯法 日期 题目地址:h ...

  2. Beautiful Walls

    [1553] Beautiful Walls 时间限制: 1000 ms 内存限制: 65535 K 问题描述 To simplify the building process, XadillaX b ...

  3. Java工程编码格式由GBK转化成utf-8(编码格式互转)

    在写项目的过程中我发现有的地方编码格式被设置成了 gbk 如果用eclipse等工具直接改回utf-8编码格式则会出现乱码. 下载:https://download.csdn.net/download ...

  4. MySQL数据操作与查询笔记 • 【第4章 SELECT 数据查询】

    全部章节   >>>> 本章目录 4.1 select 选择列表 4.1.1 select 基本结构 4.1.2 选择列表 4.2 MySQL 运算符 4.2.1 MySQL ...

  5. Zabbix 代码执行漏洞复现 /zabbix-cve_2017_2824

    环境: 利用docker将vulfocus环境pull到本地搭建 漏洞描述: Zabbix 是由Alexei Vladishev 开发的一种网络监视.管理系统,基于 Server-Client 架构. ...

  6. Swoole 中使用 PDO 连接池、Redis 连接池、Mysqli 连接池

    连接池使用说明 所有连接池的实现均基于 ConnectionPool 原始连接池: 连接池的底层原理是基于 Channel 的自动调度: 开发者需要自己保证归还的连接是可重用的: 若连接不可重用,需要 ...

  7. Linux命令查看各端口号占用情况

    yum -y install net-tools netstat -ntpl

  8. redis 加锁与解锁的详细总结,解决线程并发导致脏数据

    1.前言 对每个controller来说都是全新且单独的,原因是多线程,如果多个请求操作共有的数据,这样的并发操作会导致脏数据 怎么解决? mysql可以使用积极锁解决, 这里讲解的是redis的解决 ...

  9. Word2010制作自动目录

    原文链接:https://www.toutiao.com/i6488296610873737741/ 原文从网上复制: 查看"开始"选项卡,"样式"功能组,我们 ...

  10. 论文翻译:2021_AEC IN A NETSHELL: ON TARGET AND TOPOLOGY CHOICES FOR FCRN ACOUSTIC ECHO CANCELLATION

    论文地址:https://ieeexploreieee.53yu.com/abstract/document/9414715 Netshell 中的 AEC:关于 FCRN 声学回声消除的目标和拓扑选 ...