专栏首页陶士涵的菜地[Linux] PHP程序员玩转Linux系列-搭建代码开发环境

[Linux] PHP程序员玩转Linux系列-搭建代码开发环境

1.PHP程序员玩转Linux系列-怎么安装使用CentOS

2.PHP程序员玩转Linux系列-lnmp环境的搭建

有些同学可能觉得我写的都是啥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把防火墙关了,先暂时解决一下

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • tomcat学习|通过tomcat源码启动web项目

    上一波,我们学习了tomcat 中主要接口的方法及关系: https://www.lixiang.red/articles/2019/08/12/1565622...

    微笑的小小刀
  • celery(macos) - redis(centos) - celery(macos)

    在虚拟机centos上装 了个redis。 配置redis.conf, 1)注释掉了bind 127.0.0.0, 可以任何ip访问 2)注释掉了requ...

    lesM10
  • 在Win上做Python开发?当然是用官方的MS Terminal和VS Code了

    使用 Windows 系统一大好处是它的应用太丰富了,甚至强大的 GPU 也能在闲暇时间做点其它「工作」。然而与 Linux 或 macOS 不同,在 Wind...

    机器之心
  • vim基础命令,查找和替换

    vim简单的命令用着还好。比如插入,删除,查询。但替换就用的比较少。所以,还是需要用的时候拿出来对照者看。

    Ryan-Miao
  • Java 中关于 Null 的这些事儿你知道吗

    对于 Java 程序员来说,null 一直是令人头疼的问题,经常会受到 NullPointerException 的蹂躏和壁咚。Java 的发明者也承认这是一个...

    cxuan
  • JVM实战(六) - 通过案例深入学习class文件结构原理

    Java具有平台无关性,也就是任何操作系统都能运行Java代码.之所以能实现这一点,是因为Java运行在虚拟机之上,不同的操作系统都拥有各自的Java虚拟机,因...

    JavaEdge
  • Qt编写自定义控件20-自定义饼图

    上次在写可视化数据大屏电子看板项目的时候,为了逐步移除对QChart的依赖(主要是因为QChart真的太垃圾了,是所有Qt的模块中源码最烂的一个,看过源码的人没...

    feiyangqingyun
  • 新建Django项目遇到的问题

    问题大概出在第4部,使用了该目录~/pyprj/mooc。大概是因为在该目录下有个.python-version文件,文件内容是virtual-env-3.6....

    lesM10
  • linux 环境 编译 ijkplayer so 库实践

    公司的一个项目新项目涉及到音频播放的内容,音频格式从常见的 mp3 到冷门的无损音乐 ape 都有,琢磨了好久,最后选中了 B 站的开源库 ijkplayer ...

    叶应是叶
  • go 学习笔记之详细说一说封装是怎么回事 原

    虽然在上篇文章中,我们通过尝试性学习探索了 Go 语言中关于面向对象的相关概念,更确切的说是关于封装的基本概念以及相关实现.

    雪之梦技术驿站

扫码关注云+社区

领取腾讯云代金券