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

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

27

05-2014

shell脚本做nginx日志分析工具

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

9

05-2014

MySql避免全表扫描

对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及order by 涉及的列上建立索引: .尝试下面的技巧以避免优化器错选了表扫描: · 使用ANALYZE TABLE tbl_name为扫描的表更新关键字分布。 · 对扫描的表使用FORCE INDEX告知MySQL,相对于使用给定的索引表扫描将非常耗时。 SELECT * FROM t1, t2 FORCE INDEX (index_for_column) WHERE t1.col_name=t2.col_name; 用–max-seeks-for-key=1000选项启动mysqld或使用SET max_seeks_for_key=1000告知优化器假设关键字扫描不会超过1,000次关键字搜索。

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也开始使用,主要是为了学习、让自己管理一下服务器,这样对将来发展也有好处,毕竟你本地一虚拟机搞搞,还是有很多细节你注意不到,和维护一个线上的东西还是有区别的。这次迁移其实很快,毕竟咱也是一个有经验的程序猿了,但是期间也是遇到了不少问题,这里总结一下。有想要虚拟机的可以联系我奥。这家服务还是很好的,价格也优惠,我还弄了个代理玩玩,主要是为了便宜。

28

04-2014

两种方式实现js,ajax的跨域

我们知道,用服务端脚本做js来用可以实现通信,但是,他功能太简单,不够灵活,还是需要像ajax这样的通信来的方便。今天公司在使用phonegap时遇到了ajax跨域问题,我偷听了一下,总结了一下ajax两种跨域问题。嘿嘿。 当然这样应用场景是有前提的,一般情况下,我们都是在同个域名下,但是做客户端软件或手机应用,没有域,所以要解决跨域通信。

26

04-2014

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

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

25

04-2014

thrift接口框架小解

thrift接口框架小解

来现在这个公司之后,开始接触了thrift接口,从开始的一窍不通,到现在终于是能够理解并且熟练使用了,当然理解的不是很深,但是足够可以用了,一直想找个时间总结一下的。现在终于是可以简单的总结一下了。 百度百科是这样定义thrift的thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。

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端口这条规则的下面 添加好之后防火墙规则如下所示: