利用git做项目自动化备份和恢复

git是目前十分流行的分布式项目版本管理系统,较之svn有很大的优势,昨天就想着应该好好利用一下git,于是就想着可以利用git的版本回退等做一个简单的项目自动备份和恢复功能。这样既可以使用git做项目的版本管理,又可以利用git做备份。这样项目进行迁移,备份等等都是非常方便的。

一键式虚拟主机搭建shell脚本

今天下午写了一个简单的一键式自动虚拟主机搭建shell脚本,脚本实现自动配置nginx虚拟主机,自动创建ftp账户,自动创建数据库,用户,并自动实现mysql自动定时备份,日志切割,程序备份。

27

05-2014

shell脚本做nginx日志分析工具

以前使用虚拟主机的时候,查看网站运行日志,就发现了很多异常的恶意的访问。当时因为自己并没有系统权限没办法对这些行为进行屏蔽。现在有了自己的云主机,前端时间查看日志,又发现了很多恶意访问。正好可以通过最近对shell的学习,来做一个简单的日志分析工具,来屏蔽一些这样的操作。 首先,所谓的分析工具,肯定是建立在人为的分析的基础上的。我们来看一点我的域名运行日志:

初识node,CentOS搭建NodeJS环境,使用nginx反向代理

事件驱动,承受高并发……这些耀眼的光环,使开发者不能不去学习NodeJS。今天简单搞了一下

9

05-2014

linux系统下安装redis

linux系统下安装redis

下载最新版本的 redis-2.6.14.tar.gz 1:下载地址:http://download.redis.io/ linux系统环境是:centos6.4 2、解压文件 tar -zxvf  redis-2.6.14.tar.gz /解压路径 3、进入目录 cd /usr/local/redis/redis-2.6.14

linux下nginx,php运行用户和ftp用户权限分配

昨天发生了一个小插曲,误操作将本域名下的文件都设置成了777权限,想改回去,又全部设置成了644,发现出问题了。今天就总结一下昨天晚上熬夜查资料的成果吧。 我想要改改目录权限的初衷,是因为我想将这个服务器配置更像虚拟主机一样,因为我的运行环境是nginx+php-fpm,我将他们的运行用户都设置为nginx,组设置为ftp,以我的名字建了ftp账户,用户名为zhangcunchao,所属当然也是ftp,这样php运行的用户和nginx运行用户和ftp账户都属于一个组,那么我们程序中如果有需要程序有写权限的,只需要指定664即可。

6

05-2014

php的pcntl_fork多进程小解

由于工作需要,今天研究了下php的多进程和多线程,今天先说一下多进程吧。主要说一样,多进程和多线程的区别;为什么他们都只能运行在php的cli模式下;以及多进程到底父进程和子进程是怎么工作的,什么顺序(先运行哪个进程)。结合我操作的实例简单总结一下,因为自己接触这方面也比较短,有什么错误或不足希望大家指正。

4

05-2014

鸟枪换大炮了

鸟枪换大炮了

上周头脑一热,买了一云主机,主要是觉得现在用虚拟主机太落后了一些,自己怎么说也是工作了2年了,linux也开始使用,主要是为了学习、让自己管理一下服务器,这样对将来发展也有好处,毕竟你本地一虚拟机搞搞,还是有很多细节你注意不到,和维护一个线上的东西还是有区别的。这次迁移其实很快,毕竟咱也是一个有经验的程序猿了,但是期间也是遇到了不少问题,这里总结一下。有想要虚拟机的可以联系我奥。这家服务还是很好的,价格也优惠,我还弄了个代理玩玩,主要是为了便宜。

26

04-2014

redis小解及centos下php-redis扩展安装

记得以前在知乎上有人问过,php的瓶颈在哪里,我记得当时我回答说php其实其真正的瓶颈在数据库,php是一种解释型语言,不需要编译,执行其实是非常快的,而且php是耗cpu比较多,apache是耗存储比较多,两者算是比较好的组合,php处理可以通过lvs等的集群轮询来应对,而数据库mysql,当其数据量达到上千万的时候,就非常的慢了。

25

04-2014

在CentOS上通过YUM安装Nginx和PHP-FPM

这个是我找的一个安装nginx的教程,比较靠谱,nginx:1.4.7,php:5.4.27,mysql,5.5.37 nginx强大的并发是apache很好的替代品,nginx需要结合php-fpm来使用支持php,当然也有别的方式,安装前先卸载之前的apache,php。当然因为nginx可以做反向代理使用,也是可以喝apache并存的,但是并存也是nginx来为静态脚本等提供服务,apache为php来提供服务,这个大家再研究吧。 1、配置防火墙,开启80端口、3306端口 vi /etc/sysconfig/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙) -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙) 特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面 添加好之后防火墙规则如下所示: