热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

PHP程序员玩转Linux系列搭建FTP代码开发环境-PHP程序员玩转Linux系列文章:有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的是让大家

PHP程序员玩转Linux系列文章:

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


推荐阅读
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 版本控制工具——Git常用操作(下)
    本文由云+社区发表作者:工程师小熊摘要:上一集我们一起入门学习了git的基本概念和git常用的操作,包括提交和同步代码、使用分支、出现代码冲突的解决办法、紧急保存现场和恢复 ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • 本文详细介绍了如何正确配置Java环境变量PATH,以确保JDK安装完成后能够正常运行。文章不仅涵盖了基本的环境变量设置步骤,还提供了针对不同操作系统下的具体操作指南。 ... [详细]
  • 本文详细解析了Java中throw和throws的关键区别,同时涵盖了JDK的定义、Java虚拟机的关键约定、Java的跨平台性、自动垃圾回收机制、源文件结构、包的概念及作用等多个核心知识点,旨在帮助学生更好地准备Java期末考试。 ... [详细]
  • 本文介绍如何配置SecureCRT以正确显示Linux终端的颜色,并解决中文显示问题。通过简单的步骤设置,可以显著提升使用体验。 ... [详细]
  • 本文深入探讨了 Delphi 中类对象成员的核心概念,包括 System 单元的基础知识、TObject 类的定义及其方法、TClass 的作用以及对象的消息处理机制。文章不仅解释了这些概念的基本原理,还提供了丰富的补充和专业解答,帮助读者全面理解 Delphi 的面向对象编程。 ... [详细]
  • Google排名优化-面向Google(Search Engine Friendly)的URL设计 ... [详细]
  • CentOS 7.2 配置防火墙端口开放
    本文介绍如何在 CentOS 7.2 系统上配置防火墙以开放特定的服务端口,包括 FTP 服务的临时与永久开放方法,以及如何验证配置是否生效。 ... [详细]
  • 对于许多初学者而言,遇到总线错误(bus error)或段错误(segmentation fault/core dump)是极其令人困扰的。本文详细探讨了这两种错误的成因、表现形式及解决方法,并提供了实用的调试技巧。 ... [详细]
  • cJinja:C++编写的轻量级HTML模板引擎
    本文介绍了cJinja,这是一个用C++编写的轻量级HTML模板解析库。它利用ejson来处理模板中的数据替换(即上下文),其语法与Django Jinja非常相似,功能强大且易于学习。 ... [详细]
author-avatar
wonderoil
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有