英文网站seo发展前景,免费的免抠图素材网站,电脑做会计从业题目用什么网站,jsp网站建设论文sqlite是不支持网络型的数据库。现在要做一个比较简单的工作#xff0c;还是选用了sqlite数据库#xff0c;现在要把它放到远程vps中持续运行#xff0c;并需要在本地访问#xff0c;经研究#xff0c;使用python3配合使用import web可以实现#xff0c;记录如下(全面记录…sqlite是不支持网络型的数据库。现在要做一个比较简单的工作还是选用了sqlite数据库现在要把它放到远程vps中持续运行并需要在本地访问经研究使用python3配合使用import web可以实现记录如下(全面记录适合像我一样无基础的小白学习) 
环境远程vps centos系统。 
一、在vps上安装ftp服务器 
对于阿里云的服务器可以参考我之前的文章记录阿里云服务器搭建FTP服务器的注意事项_阿里云搭建ftp-CSDN博客 
本篇没有使用阿里云服务器而是我的另外一台RN公司的VPS具体可参考我之前的另一篇文章 
从开通VPS到搭建宝塔面板全教程_vps搭建-CSDN博客 
在vps上安装ftp的作用是可以将本地编写的xxx.py和xxx.db上传到远程服务器中。  
一使用宝塔的堡塔远程工具来连接vps这个工具非常好用强烈建议。 二 双击进入工具后输入命令操作vps用习惯的话比windows系统要快。 三安装ftp服务 
centos系统可以选择多种ftp工具安装来实现ftp服务最常用的是 vsftpd在此我也选择vsftpd。 
首先可以先看一下是否安装了vsftpd。 
rpm -qa | grep vsftpd 我已经安装过了所以有显示。如果未安装则没有显示。 
使用如下命令安装 
sudo yum install -y vsftpd安装完成后再启动并设置开机自启 
sudo systemctl start vsftpd
sudo systemctl enable vsftpd确认状态  
sudo systemctl status vsftpd标准服务名应该是 vsftpd不是 ftp 或其他。你可以通过这个命令列出系统中所有服务来确认 
systemctl list-units --typeservice | grep ftp配置完毕后放行防火墙端口ftp使用的是21端口。 
sudo firewall-cmd --permanent --add-port21/tcp
sudo firewall-cmd --reload一般来说还需要对vsftpd的配置文件vsftpd.conf进行一下设置 
使用find / -name xxx.xxx来在vps所有的文件中搜索xxx.xxx。 
顺便说一下which 命令是用来查找可执行程序命令的位置的不适用于查找普通文件。 使用如下命令编辑配置文件  
sudo vi /etc/vsftpd/vsftpd.conf进入后按i进入插入编辑模式针对如下几项修改或者新增 
# /etc/vsftpd/vsftpd.conf# 启用本地用户登录
local_enableYES# 允许上传文件
write_enableYES# 限制用户在家目录避免访问其他目录
chroot_local_userYESallow_writeable_chrootYES# 禁止匿名访问提高安全
anonymous_enableNO# 被动模式端口范围配合防火墙开放端口使用可选
pasv_enableYES
pasv_min_port40000
pasv_max_port50000
pasv_address你的VPS公网IP或域名# 日志文件路径
xferlog_enableYES
xferlog_file/var/log/vsftpd.log
xferlog_std_formatYES# UTF-8支持避免中文乱码
utf8_filesystemYES# 其它常用设置
connect_from_port_20YES
listenYES
listen_ipv6NO然后按esc退出编辑模式再按:wq保存退出。重启vsftpd服务。 
sudo systemctl restart vsftpd确认防火墙允许21端口和被动端口段如果用被动模式  
sudo firewall-cmd --add-port21/tcp --permanent
sudo firewall-cmd --add-port40000-50000/tcp --permanent
sudo firewall-cmd --reload现在对上面几个步骤的命令做一个小的整合 
# 安装服务
sudo yum install -y vsftpd# 启动服务
sudo systemctl start vsftpd# 开机自启
sudo systemctl enable vsftpd# 放行端口
sudo firewall-cmd --permanent --add-port21/tcp
sudo firewall-cmd --reload# 查看服务状态
sudo systemctl status vsftpd使用命令可以看到21端口的情况结果显示确实是vsftpd在使用21端口。 
sudo lsof -i :21如果有别的ftp软件占用了21端口而你想让vsftpd换一个端口如下设置 
sudo vi /etc/vsftpd/vsftpd.conf进入编辑后修改端口
listen_port2121放行防火墙
sudo firewall-cmd --permanent --add-port2121/tcp
sudo firewall-cmd --reload重启vsftpd服务
sudo systemctl restart vsftpd 
接下来新建一个系统用户作为FTP账户例如用户名xiaoqinglong 
sudo adduser xiaoqinglong
sudo passwd xiaoqinglong期间需要输入两次密码牢记密码。  
确认 vsftpd 配置允许本地用户登录编辑 /etc/vsftpd/vsftpd.conf确保有 
local_enableYES重启vsftpd服务 
sudo systemctl restart vsftpd完成上述配置后即可在本地使用FileZilla Client登陆远程vps的FTP了。 常见问题 
1状态: 不安全的服务器不支持 FTP over TLS。 命令: USER xiaoqinglong 响应: 331 Please specify the password. 命令: PASS ********* 响应: 500 OOPS: vsftpd: refusing to run with writable root inside chroot() 错误: 严重错误: 无法连接到服务器 
错误信息 
500 OOPS: vsftpd: refusing to run with writable root inside chroot()原因当启用了 chroot_local_userYESvsftpd 不允许用户的主目录chroot根目录具有写权限否则出于安全考虑拒绝登录。  
解决 
假设用户家目录是 /home/xiaoqinglong移除该目录的写权限。 
sudo chmod a-w /home/xiaoqinglong然后在家目录下创建一个子目录用于写操作比如 
sudo mkdir /home/xiaoqinglong/files
sudo chown xiaoqinglong:xiaoqinglong /home/xiaoqinglong/files用户登录后可以将文件上传到 files 子目录。 
或者参考另一种解决办法 
【FileZilla错误】500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list_500 oops cannot read chroot-CSDN博客 
2状态: 正在连接 11.22.168.33:21... 状态: 连接建立等待欢迎消息... 状态: 不安全的服务器不支持 FTP over TLS。 状态: 已登录 状态: 读取目录列表... 命令: PWD 响应: 257 /home/xiaoqinglong 命令: TYPE I 响应: 200 Switching to Binary mode. 命令: PASV 响应: 227 Entering Passive Mode (11.22.168.33,101,85). 命令: LIST 错误: 20 秒后无活动连接超时 错误: 读取目录列表失败 状态: 已从服务器断开 
原因这个问题是典型的 FTP 被动模式PASV数据连接超时问题 
解决 
1.指定 vsftpd 被动端口范围如 40000-50000 
2.防火墙和云安全组放行端口 
3.重启 vsftpd 服务 
以上步骤参照vsftpd.conf的设置步骤。 
4.在 FileZilla 中设置传输模式为“被动模式”。在“站点管理器”中确保填写的服务器地址是公网IP。参考文章filezilla 异常之server 连接报“服务器发回了不可路由的地址。被动模式失败”_服务器发回了不可路由的地址。被动模式失败。-CSDN博客 顺便说一下filezilla还可以使用代理参考文章 
FileZilla使用代理_filezilla代理设置-CSDN博客  好了以上主要讲了在centos系统上搭建vsftpd服务器以及使用filezilla来访问传输。 
下一篇讲述如何在本地远程访问vps上的sqlite数据库。