在CentOS上使用LNMP(Linux, Nginx, MySQL, PHP)搭建FTP服务器,你可以选择使用vsftpd这个流行的FTP服务器软件。以下是安装和配置vsftpd的步骤:
安装vsftpd: 打开终端,首先确保你的系统已经更新到最新状态,然后运行以下命令来安装vsftpd:
sudo yum update
sudo yum install vsftpd
启动vsftpd服务: 安装完成后,启动vsftpd服务,并设置开机自启:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
配置vsftpd:
编辑vsftpd的配置文件 /etc/vsftpd/vsftpd.conf
来进行必要的配置。你可以使用任何文本编辑器,例如nano或vim:
sudo nano /etc/vsftpd/vsftpd.conf
在配置文件中,你可以根据需要修改或添加以下行:
listen=YES
:启用独立模式。listen_ipv6=NO
:如果你的服务器不支持IPv6,确保这一行是启用的。anonymous_enable=NO
:禁止匿名用户登录。local_enable=YES
:允许本地用户登录。write_enable=YES
:允许FTP写入权限。chroot_local_user=YES
:将本地用户锁定在其主目录中。allow_writeable_chroot=YES
:允许chroot目录具有写权限。保存并关闭配置文件。
调整防火墙设置: 如果你的服务器运行着防火墙,你需要允许FTP流量通过。使用以下命令打开FTP相关的端口(通常是21端口):
sudo firewall-cmd --permanent --zone=public --add-port=21/tcp
sudo firewall-cmd --reload
重启vsftpd服务: 为了使配置生效,重启vsftpd服务:
sudo systemctl restart vsftpd
测试FTP服务器: 使用FTP客户端(如FileZilla)连接到你的服务器,输入服务器的IP地址、用户名和密码来测试FTP连接。
请注意,FTP协议不是加密的,它以明文形式传输用户名和密码。因此,它不适合在不安全的网络上使用。如果你需要加密的文件传输,可以考虑使用SFTP(SSH File Transfer Protocol),它是SSH协议的一部分,提供了加密的文件传输功能。在Linux系统中,SFTP通常已经预装,并且可以通过SSH服务访问。