配置云服务器的FTP服务器【网络编程】

  • (꒪ꇴ꒪ ),Hello我是祐言QAQ
  • 我的博客主页:C/C++语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP
  • 快上,一起学习,让我们成为一个强大的攻城狮!
  • 送给自己和读者的一句鸡汤:集中起来的意志可以击穿顽石!
  • 作者水平很有限,如果发现错误,请在评论区指正,感谢


        云服务器(Cloud Server)是一种基于云计算技术的虚拟服务器,它在云基础设施上运行,提供计算、存储和网络资源,以满足各种计算需求。近年来云服务的发展也是日新月异,因此掌握云服务器配置方法也成为了每个开发者的必修课,今天我们就来一起来搭建一个FTP服务吧。

一、腾讯云注册登录

        我们以腾讯云为例,首先注册一个账号,新用户可以拿到免费的7天体验喔,腾讯云网页链接:腾讯云 产业智变·云启未来 - 腾讯

配置云服务器的FTP服务器【网络编程】_第1张图片

        注册并实名后,我们点击免费试用,找到这里。

配置云服务器的FTP服务器【网络编程】_第2张图片

        点击立即体验,然后选择一个镜像,这里我选择的是Ubuntu版本,其他地方默认就行。

配置云服务器的FTP服务器【网络编程】_第3张图片

        接下来根据提示付款即可,最后我们点击控制台我们就创建好了一个云服务器IP地址,这时候我们不要着急登录,先把默认的密码重置了,方便后续操作,这里的密码个人建议不要搞太复杂。

配置云服务器的FTP服务器【网络编程】_第4张图片

配置云服务器的FTP服务器【网络编程】_第5张图片

        重置之后呢就可登录腾讯云了,这里我们可以选择网页版直接登录,也可使用任意VNC远程软件登录,比如:Putty,SecureCRT等。网页版直接点击最右侧登录即可:

配置云服务器的FTP服务器【网络编程】_第6张图片

        Putty演示:

配置云服务器的FTP服务器【网络编程】_第7张图片

        我们选择SSH模式端口号22,输入你的IP地址,点击连接和接受(accept)即可来到该页面。配置云服务器的FTP服务器【网络编程】_第8张图片

二、配置FTP

        完成了登录注册后,我们需要配置一下相应的FTP服务软件才能更好的使用它,接下来就让我们来用最简洁的方式实现吧。

1. 创建FTP用户

        如果你打算允许特定用户访问FTP服务器可以使用adduseruseradd命令来创建新用户。

sudo adduser ftp

配置云服务器的FTP服务器【网络编程】_第9张图片

2. 更新软件包

        更新Ubuntu或基于Debian的Linux系统上的软件包列表,以获取可用软件包的最新信息,包括版本和依赖关系。

sudo apt-get update

配置云服务器的FTP服务器【网络编程】_第10张图片

3. 密码更新(不需要可跳过)

 sudo passwd ftp

配置云服务器的FTP服务器【网络编程】_第11张图片

4. 安装FTP服务器软件

        (1)首先确保已安装了vsftpd服务。

sudo apt-get install vsftpd

        (2)设置启用vsftpd服务,并使其在系统启动时自动启动。

sudo systemctl enable vsftpd

       (3)启动vsftpd服务,这个命令会立即启动vsftpd服务。

sudo systemctl start vsftpd

        如果状态显示服务处于活动状态(active),则表示vsftpd服务已成功启动,此时便可以使用FTP客户端连接到服务器。

配置云服务器的FTP服务器【网络编程】_第12张图片

5.创建一个ftp文件服务器的根目录

          如果给系统中所有用户登录使用,一般设置为:var/ftp。

sudo mkdir /var/ftp


        给予权限:

sudo chmod 0777 /var/ftp

三、配置 vsftpd

打开vsftpd的配置文件 /etc/vsftpd.conf   

        vsftpd的配置文件包含有关FTP服务器的各种设置选项,您可以在其中自定义FTP服务器的行为和功能。

        以下是一些基本的 Vim 编辑命令:

  • i 键进入插入模式,以便您可以编辑文本。
  • 在编辑模式下,编辑配置文件的内容。
  • Esc 键退出编辑模式。
  • 要保存更改并退出 Vim,请输入 :wq 并按下 Enter 键。
sudo vim /etc/vsftpd.conf

        输入以上命令后我们便来到了使用Vim编辑器操作的配置文件中,我们逐个找到一下几行代码并按提示修改成如下格式(有些是取消注释,有些是修改最后的YES或NO,注意=两边不可有空格)

anonymous_enable=NO           不允许匿名ftp
local_enable=YES                    允许本地登录
write_enable=YES                    允许本地用户写权限
chroot_local_user=YES            将所有用户限制在主目录内
chroot_list_enable=YES           启动限制用户的名单
chroot_list_file=/home/ubuntu/ftp        自定义目录
listen=YES                                允许监听
#listen_ipv6=YES                      注释IPV6

    最后再该文件的最后一行空白处添加一下参数,在Vim编辑器中,#用于注释

#添加以下配置参数,开启被动模式,设置本地用户登录后所在目录,以及云服务器建立数据传输可使用的端口范围值。
local_root=/home/ubuntu/ftp
allow_writeable_chroot=YES
pasv_enable=YES
pasv_address=111.230.50.199
pasv_min_port=40000
pasv_max_port=45000

配置云服务器的FTP服务器【网络编程】_第13张图片

        做好上面的所有即可退出。

        最后重启并查看是否出错。

四、创建安全组

 1. 登录云服务器控制台

 2. 在左侧导航栏,单击安全组 ,进入安全组管理页面;

配置云服务器的FTP服务器【网络编程】_第14张图片

 3. 在安全组管理页面,选择地域,单击新建

配置云服务器的FTP服务器【网络编程】_第15张图片

 4. 在弹出的新建安全组窗口中,完成以下配置。如下图所示:

配置云服务器的FTP服务器【网络编程】_第16张图片

五、添加安全组规则

 1. 登录云服务器控制台

 2. 在左侧导航栏,单击安全组 ,进入安全组管理页面;

 3. 在安全组管理页面,选择地域,找到需要设置规则的安全组。

配置云服务器的FTP服务器【网络编程】_第17张图片

        如果你需要自定义规则就点添加规则(这里可参照腾讯云技术文档:云服务器 添加安全组规则-操作指南-文档中心-腾讯云 (tencent.com)),如果你只是和我一样单纯使用那么就添加对应类型后,直接点一键放通。

配置云服务器的FTP服务器【网络编程】_第18张图片

六、验证 FTP 服务

        可通过 FTP 客户端软件、浏览器或文件资源管理器等工具验证 FTP 服务,本文以客户端的文件资源管理器为例。

1. 打开客户端的 IE 浏览器,选择【工具】>【Internet 选项】>【高级】,根据您选择的 FTP 模式进行修改:

  • 主动模式:取消勾选【使用被动 FTP】。
  • 被动模式:勾选【使用被动 FTP】。

2. 打开客户端的计算机,在路径栏中以如下的地址格式访问(方便)。

ftp://云服务器公网IP:21

 配置云服务器的FTP服务器【网络编程】_第19张图片

        (1)在弹出的“登录身份”窗口中输入用户名及密码;

        (2)成功登录后,即可上传及下载文件。

配置云服务器的FTP服务器【网络编程】_第20张图片

七、测试FTP连接

        在虚拟机或本地服务器上输入:

ftp 云服务器的 IP 地址

      如果在输入用户名和密码后出现 ftp> ,且出现 230 Login successful 则说明成功了。 

配置云服务器的FTP服务器【网络编程】_第21张图片

        上传和下载文件:

配置云服务器的FTP服务器【网络编程】_第22张图片

        上传文件结果:

        你还可参考腾讯云技术文档:云服务器 Linux 系统通过 FTP 上传文件到云服务器-最佳实践-文档中心-腾讯云 (tencent.com)

        更多C/C++语言Linux系统数据结构ARM板实战相关文章,关注专栏:

   手撕C语言

            玩转linux

                    脚踢数据结构

                            系统、网络编程

                                     探索C++

                                             6818(ARM)开发板实战

写在最后

  • 今天的分享就到这啦~
  • 觉得博主写的还不错的烦劳 一键三连喔~
  • 感谢关注

你可能感兴趣的:(软件配置,网络编程,系统编程,服务器,网络,数据库)