[Linux] PHP程序员玩转Linux系列-搭建代码开发环境
1.PHP程序员玩转Linux系列-怎么安装使用CentOS
有些同学可能觉得我写的都是啥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把防火墙关了,先暂时解决一下
[Linux] PHP程序员玩转Linux系列-搭建代码开发环境的更多相关文章
- [Linux] PHP程序员玩转Linux系列-lnmp环境的搭建
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 在平常的工作中,我作为PHP程序员经常要搭建一下环境,这个环境就是Linux系统下安装nginx,php,mysql这三个软件,对软件进行 ...
- [Linux] PHP程序员玩转Linux系列-备份还原MySQL
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 前几天有个新闻,说是g ...
- [Linux] PHP程序员玩转Linux系列-自动备份与SVN
我的代码经常在开发修改,为了代码的安全性,比如哪天误删了文件,或者哪天改错东西了,可以恢复回来,我要搞代码备份.备份代码,我先做最简单的,使用linux的定时机制加shell命令打包文件,每天按日期保 ...
- [Linux] PHP程序员玩转Linux系列-nginx初学者引导
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- [Linux] PHP程序员玩转Linux系列-Linux和Windows安装nginx
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- [Linux] PHP程序员玩转Linux系列-Nginx中的HTTPS
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- [Linux] PHP程序员玩转Linux系列-使用supervisor实现守护进程
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- [Linux] PHP程序员玩转Linux系列-telnet轻松使用邮箱
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- [Linux] PHP程序员玩转Linux系列-升级PHP到PHP7
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
随机推荐
- Android和BLE模块连接通信
首先,进行一下科普: 1.BLE(Bluetooth Low Energy),蓝牙4.0核心profile,主要特点是快速搜索,快速连接,超低功耗保持连接和数据传输,缺点:数据传输速率低,由于其具有低 ...
- 外部SRAM实验,让STM32的外部SRAM操作跟内部SRAM一样(转)
源:外部SRAM实验,让STM32的外部SRAM操作跟内部SRAM一样 前几天看到开源电子论坛(openedv.com)有人在问这个问题,我特意去做了这个实验,这样用外部SRAM就跟用内部SRAM一样 ...
- 得到css style
//根据ID返回dom元素 2 var $ = function(id){return document.getElementById(id);} 3 //返回dom元素的当前某css值 4 var ...
- 搭建自己的BT下载平台服务器
[原理基础] BT(Bit Torren比特流)是由国外的一名叫Bram Cohen的程序员开发的下载软件,可以说它是目前网络是非常流行的一个多点下载的P2P软件,它最显著的特点就是:下载的人越多,速 ...
- pipe管道
回顾: 进程间通信方式: 信号,管道 消息队列,共享内存,信号量 sokcet 信号: 本质就是软中断 signal(信号,函数指针); void func(int); kill(pid,signo) ...
- iconfont.cn阿里巴巴矢量图下载字体图标实战
1.阿里巴巴矢量图网址:www.iconfont.cn 2.然后用新浪微博账号登录 3.输入要查找的图标相应的关键字,回车 4.滑过要找的图标,点击购物车,让图标存储到暂存架中 5.点击暂存架,存储为 ...
- Spring的IOC原理[通俗解释一下]
Spring的IOC原理[通俗解释一下] 1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑. 图 ...
- because of many connection errors; unblock with 'mysqladmin flush-hosts
环境:linux,mysql5.5.37 错误:Host is blocked because of many connection errors; unblock with 'mysqladmin ...
- iOS多线程NSThread和GCD
在iOS中啊 其实有多种方法实现多线程 这里只记录两个比较常用的 或者说我比较常用的 一个就是BSThread 另一个就是一听名字就比较霸气的妇孺皆知的GCD 先说一下NSThread吧 这个方式 ...
- javascript 简单工厂
function detail() { this.imgArr = []; this.codeArr = []; } detail.prototype.addimg = function(img) { ...