Category: Programming

  • wordpress的webserver从apache切换到nginx

    就个人经验来说,从apache切换到nginx上不是很难,关键是你需要分析好现有apache配置的内容,剩下的就是在nginx中对应配置就行。以本人的apache配置为例: 关闭服务器版本显示 单独的用户 worker&event 与PHP的整合 init.d脚本(个人是编译安装的) gzip expires(图片等过期时间设置) 虚拟主机 wordpress的permlink 二级域名的重定向(错误的配置) 最后一个是我对apache虚拟主机配置不完全理解导致的一个失误,nginx上当然不会把错误照搬过来,但是nginx上需要做以前的链接兼容(这么快就有历史包袱了……)。

  • nginx和php-fpm简单优化

    nginx和php-fpm安装好之后,默认配置运行是OK的,不过从长期运行考虑,必要的优化还是需要的。 gzip gzip是一种通过压缩服务器传输内容,提高客户端响应体验的常见优化方式。gzip在nginx上默认是开启的,不过只针对html,需要我们对配置做一些调整才能对js/css等做压缩。以下是修改后的配置段: gzip on; gzip_min_length 1k; gzip_comp_level 2; gzip_types text/plain text/javascript application/x-javascript text/css;

  • 编译安装nginx和php的后续工作

    接上篇编译安装nginx和php。 编译安装并配置之后nginx和php能跑起来了,但是启动还不是很方便,需要手动执行,这时就需要类似init.d脚本的东西了。

  • 编译安装php和nginx

    最近由于某些原因把网站服务器从apache切换到nginx,也就是从LAMP到了LEMP(LNMP)。apache和php连接方式是通过模块,nginx和php的连接方式个人选择的是php-fpm(考虑到有些人可能不清楚php-fpm和php的区别,个人建议把php-fpm当作php的一个模块来看,是实现了cgi的可以与其他程序交互的模块。php-fpm更详细的资料可以查询php官网。),以下就是个人编译安装nginx和php-fpm的记录。 安装顺序如下: 编译安装nginx 确认可以显示HTML页面 在mysql已经安装的情况下,编译安装php 配置nginx和php-fpm的连接 确认基本php页面正常显示

  • iptables调整以及解决wordpress的dashboard打开异常慢的问题

    最近把网站的服务器从apache切换到nginx,切换的一个目的是解决dashboard开启非常慢的问题。但是等我切换完之后点dashboard仍旧很慢,我的第一反应是dashboard打开异常慢的原因并不在应用服务器。联系到我之前在服务器上aptitude install less没成功,我突然明白dashboard打开慢和aptitude install失败的原因有可能是同一个,就是iptables禁止了访问外部的HTTP/HTTPS/DNS请求。 为了验证这个问题,我把iptables中的规则通过iptables -F清理掉并用iptables -L -n -v确认之后再打开dashboard,发现打开比以前快多了。知道问题所在之后,接下来就是修正iptables的规则,因为考虑到安全,服务器还是需要iptables的。 就个人经验,通过ssh修改iptables因为有可能把自己ban掉所以用非ssh比如vnc或者在物理机边上修改更好,如果实在没条件的话,可以考虑《Linux Firewall 3rd》中提到的一种方法:服务器运行定时清除iptables的任务。个人采用的就是定时任务的方法,因为最近VPS的VNC没法用。

  • virtualbox的save state和snapshot

    在讲述snapshot之前,先说明一个小技巧,可以让客户机快速启动的技巧。一般在使用了客户机之后,你可能需要关闭机器,技巧就在于如何关闭。 上图中选择第一个选项的话,下次启动就很快。大部分情况下没有操作系统的启动过程,除非你在系统启动过程中关闭……

  • 命令行控制virtualbox的客户机

    今天早上突发奇想想在本地建立虚拟机做一些类似浏览器兼容测试等等的方案。 google了下,发现现在有很多种虚拟化的方案,其中适合linux宿主机的又免费的有openvz/kvm/xen/virtualbox等。这四个对我来说都不算陌生。如果你用过VPS的话,肯定比较过前三个方案的区别。openvz的特点是“软限制”,即几个虚拟机可以共享资源,但是kvm/xen不行,所以一般VPS教程都不建议选择openvz。但是openvz的这种特点个人认为对公司内部来说不算缺点,因为在很少有很多开发用机器一起达到阈值的情况下,加上基于cgroup和高性能的优势,所以个人猜测应该有很多公司使用openvz。不过,话说回来,openvz/kvm/xen都适合作为类似VPS的场景,对于我的简单需求,有点重了。所以在比较了之后,个人还是选择了最简单的virtualbox。老实说,个人以前都有virtualbox,这番调查等于是兜了一圈又回来。 个人以前都是在GUI上操作virtualbox的,如果要在开发中使用的话,估计CLI是逃不了的。查阅了一些资料之后,在自己的机器上做了以下的命令尝试:

  • linux命令使用小记4

    linux真的是学无止境,不要认为你已经熟练掌握常规命令了,比如grep了,下面就是一些例子。 grep –color与less -r less -r表示显示控制字符,比如高亮,但是如果你希望less时显示grep的高亮的话,不能只指定grep –color,而要用grep –color=always,比如 grep –color=always foo foo.txt | less -r

  • pexpect和非UTF-8编码的ssh

    pexpect是一个用python实现的类似expect的库,支持ssh,ftp等协议的交互。 以前自己写了一篇使用expect+python拉取数据的文章,现在发现了pexpect,便想要完全用python来写。总觉得用expect生成中间文件不是很好。

  • python tip 2

    以下是作为有Java背景的人阅读《Python基础教程》做得一些笔记。 区间比较 python支持类似数学上的区间比较 age = 22 0 < age < 100 列表比较 比较有趣的功能,免得自己写循环比较了 [1, 2, 3] < [1, 2, 4] # True [1, [2, 3]] < [1, [2, 5]] # True