-
尝试用fabric部署应用
说来惭愧,个人是最近才知道fabric的。但是一上手就觉得fabric非常不错,解决了我长久以来的部署问题。 原因我的部署方式是: 登录远程服务器 svn update/git pull deploy.sh 后来觉得把未测试的代码签入代码库不是很好,想直接复制本地代码到远程服务器上再部署,于是第一步变成了: 打包本地代码文件 scp到远程服务器上 在远程服务器上解压缩
-
linux命令使用小记5
多目录之间跳转 使用dirs, pushd, popd就可以做到。但是命令多了容易混淆,我其实只记得两个目录快速跳转方法: pwd # dirA cd dirB pwd # dirB cd – pwd # dirA cd – pwd # dirB 使用alias快速登录服务器 alias serverA=’luit -encoding GBK sshpass -p passWord ssh -t user@server screen -RR’ 把alias设置在.bashrc中,接下来就能输入serverA快速登录服务器了。 解释下命令:luit用来解决GBK服务器编码问题;sshpass用于输入密码;ssh的-t参数表示强制伪终端,screen需要;screen -RR表示有screen session就使用,否则就新建。
-
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是逃不了的。查阅了一些资料之后,在自己的机器上做了以下的命令尝试: