有些同学可能觉得我写的都是啥 yum 安装的,随便配置一下而已,没啥技术含量,我的目的是让大家能够以最简单的方式实现目的,配置也是能不自定义的的统统不配置,不是为了炫耀会编译安装,我觉得安一个软件,可以用 yum,为啥非得编译解决依赖自讨苦吃呢,最终目的是能实现效果,不是费劲巴拉的一堆编译配参数过程。
日常写代码,还是在 windows 系统下,怎样让代码直接跑到 Linux 下,通过浏览器或者命令行去运行呢,可以通过 FTP 服务器,实时上传到虚拟机的 CentOS 中,就可以直接看到效果了。例如:我在公司是通过 netbeans 配置 FTP 连接自己的开发机,保存文件时自动上传,然后在 windows 系统下绑定域名的 host,通过浏览器去看项目。公司的开发机都有独立的公网 ip,主要的代码目录是挂载的远程的另一台机器,那台机器的硬盘非常大,主要就是作为代码存储服务器,这样通过 FTP 实时上传,所以搭建 FTP 服务还是很重要的。
直接使用一行命令 yum install vsftpd, 就可以完成安装了, 安装完成以后启动一下服务 service vsftpd start ,ftp 服务这时候就安装完成了。安装完成后,我使用 flashfxp 去连接一下当前的 ftp 服务,此时并不能连接成功。这个时候,查找问题的步骤是非常重要的。
解决连接不上 FTP
开启 vsftpd 的日志,编辑 / etc/vsftpd/vsftpd.conf
- #去掉这个前面的,这个是记录上传下载日志
- xferlog_file=/var/log/xferlog
- #开启双重日志
- dual_log_enable=YES
- #这个是记录登陆日志文件位置
- vsftpd_log_file=/var/log/vsftpd.log
此时访问日志里什么都没有,说明还没有连接上 FTP 服务
1. 在 windows 系统的 cmd 中,使用 telenet 192.168.2.100 21 ,检测 21 端口是否可通,如果通不了,继续
2. 在 CentOS 中,使用命令 netstat -altupn|grep 21,看看端口是否已经监听,此时这里 ok
3. 检查 iptables 的规则,是否开启了 21 端口,此时检查发现,没有放行 21 端口,开通一下
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
我继续使用 root 账户和密码去连接 FTP,报错:530 Permission denied
这个时候需要配置 vsftpd,因为它禁止了 root 账户连接,查看的配置文件 / etc/vsftpd/user_list 和 ftpusers,这个是禁用名单,# 注释掉 root 账户
编辑 / etc/selinux/config 修改这个 SELINUX=disabled,然后重启一下
我要限制 FTP 访问的目录
此时默认的登陆后的目录是当前用户的家目录,并且可以直接访问 / 根目录,现在我要限制一下它登陆后的目录,只让它访问到代码那个目录就可以。
设置连接后的目录:local_root=/usr/local/web
设置禁止访问到外层的目录:chroot_local_user=YES
此时它就被限制在了,代码目录里面了
配置 netbeans 保存自动上传到 CentOS 服务器
配 netbeans 时候碰到了 227 错误,我先暂时 service iptables stop 把防火墙关了,先暂时解决一下
来源: http://www.cnblogs.com/taoshihan/p/6426414.html