Run PhpStorm with x64 JRE 8 in Windows

PhpStorm 默认是运行在他自带的一个 JRE 环境之内,版本比较老而且是 32 位的。强迫症伤不起,必须用最新版的 64 位 JRE 才能爽。

首先创建一个系统环境变量: WEBIDE_JDK 设置为 JRE/JDK 目录,比如最新的 JDK 8.0

C:\Program Files\Java\jdk1.8.0

然后删除 PhpStorm 目录下的 jre 目录。空间嘛,能省一点是一点。然后把 PhpStorm 目录下的 PhpStorm.exe.vmoptions 改名为 PhpStorm64.exe.vmoptions,并稍微修改下里面的一些参数,具体我就不说了。大家放狗搜索下一大堆的。

这个时候直接运行 PhpStorm.exe 是无法运行的。只能通过 PhpStorm.bat 来运行了,但是 bat 运行有个很难堪的问题,就是会出现一个命令行窗口。

完美的我们怎么能容忍这个丑陋的窗口出现?在 PhpStorm 安装目录下面建立一个 PhpStorm.vbs 文件,里面输入:

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c ""C:\Program Files (x86)\JetBrains\PhpStorm 7.1.3\bin\PhpStorm.bat""", vbhide

里面的目录修改成自己的即可。把这个 vbs 在桌面创建一个快捷方式,图标修改为 PhpStorm 的图标后直接运行即可。JDK8x64 的 PhpStorm 想想都舒畅。

Build nginx 1.4.4 and ngx_pagespeed in Ubuntu 12.04

首先建立一个目录,把需要下载的东西都放进去……

mkdir pagespeed && cd pagespeed

然后增加 nginx 仓库

wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key

继续增加下面的2行到 /etc/apt/sources.list 文件

deb http://nginx.org/packages/ubuntu/ precise nginx
deb-src http://nginx.org/packages/ubuntu/ precise nginx

下载 nginx 源码包和编译工具

sudo apt-get update
sudo apt-get install dpkg-dev
sudo apt-get source nginx

获取 nginx 编译依赖包

sudo apt-get build-dep nginx

获取编译 ngx_pagespeed 的依赖包

sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev

从 github 拉一份 ngx_pagespeed 的源码回来

git clone https://github.com/pagespeed/ngx_pagespeed.git

还需要下载一份 pagespeed 的源码

cd ngx_pagespeed
wget https://dl.google.com/dl/page-speed/psol/1.7.30.1.tar.gz
tar -xzvf 1.7.30.1.tar.gz

编辑一下编译配置文件

sudo nano nginx-1.4.4/debian/rules

增加一行

--add-module=../ngx_pagespeed \

然后文件内容看上去应该是这样的

...
--with-file-aio \
--add-module=../ngx_pagespeed \
$(WITH_SPDY) \
--with-ipv6
...

好了。开始编译了

cd nginx-1.4.4/ && sudo dpkg-buildpackage -b

如果没出现什么错误的话,编译应该会成功,然后就是安装了

cd .. && sudo dpkg --install nginx_1.4.4-1~precise_amd64.deb

嗯,如果你以前有安装过 nginx 的话,就需要先卸载了。但是不要删除配置文件哦。

Beanstalkd – Simple, Fast Queue – Installation

Manual Installation from Github Repository

# create download and build directory
mkdir -p ~/build/beanstalkd
cd  ~/build/beanstalkd

# download repository - alternatively use the latest stable zip archive from
git clone git://github.com/kr/beanstalkd.git
cd beanstalkd

# build and install
make
sudo make install

# link binary - original debian package init.d script uses hard coded
/usr/bin/beanstalkd
sudo ln -s /usr/local/bin/beanstalkd /usr/bin/beanstalkd

# download default properties
cd  ~/build/beanstalkd
wget -O beanstalkd.default https://raw.github.com/guguncube/bash/master/beanstalkd/default/beanstalkd
sudo cp beanstalkd.default /etc/default/beanstalkd
sudo chown 0:0 /etc/default/beanstalkd

# download init.d script
wget -O beanstalkd.init.d https://raw.github.com/guguncube/bash/master/beanstalkd/init.d/beanstalkd
sudo cp beanstalkd.init.d /etc/init.d/beanstalkd
sudo chown 0:0 /etc/init.d/beanstalkd
sudo chmod u+x /etc/init.d/beanstalkd

# create journal path before usage, otherwise beanstalkd will not start at all
sudo mkdir -p /var/lib/beanstalkd

# create log path
sudo mkdir -p /var/log/beanstalkd

# start beanstalkd
sudo /etc/init.d/beanstalkd start
#sudo /usr/local/bin/beanstalkd -l 0.0.0.0 -p 11300 -b /var/li
/beanstalkd -V

# check beanstalkd status
sudo /etc/init.d/beanstalkd status

Firefox 强制所有网页中文用宋体

雅黑这种字体,打印用起来是漂亮。但是低分辨率的显示器看上去并没有那么美。看惯了宋体,还是觉得宋体的辨识度更好一些。现在的网页很多都用雅黑字体了,如果用 Firefox 设置里面的强制使用字体的话会造成一些符号字体变成乱七八糟的。所以我们想办法把雅黑字体强制换成宋体就可以了。想到做到,搞起。

开始 -> 运行 -> 输入 %AppData%\Mozilla\Firefox\Profiles,然后进入里面类似 xxxxxxx.default 的目录,再进入 chrome 目录,把文件 userContent-example.css 改名为 userContent.css,没有就建立一个咯。

然后修改 userContent.css 文件,增加下面的 CSS 语句:

@font-face
{
    font-family: "微软雅黑";
    src: local("tahoma");
    }
@font-face
{
    font-family: "Microsoft Yahei";
    src: local("tahoma");
}

如果你更喜欢雅黑的话,这个方法也可以把宋体强制换为雅黑!

Ubuntu 12.04 LTS Server 更改 MySQL 数据库文件存储位置

Ubuntu Server 里面 MySQL 的数据库文件默认存储在 /var/lib/mysql 目录,如果使用 VPS 的话有个专门的 /data 数据盘,把数据都放在这个盘里面那是必须的。

Ubuntu Server 里面 MySQL 要改变数据库文件位置需要更改2个配置,1个就是 MySQL 的配置文件:/etc/mysql/my.cnf,把

datadir=/var/lib/mysql

更改为

datadir=/data/databases/mysql    

还有个地方就是 /etc/apparmor.d/tunables/alias 增加一句:

alias /var/lib/mysql/ -> /data/databases/mysql/

然后把旧数据库文件复制到新目录,再重启 apparmor 和 mysql 服务就好了。耶!

WinForm 鼠标忙碌状态

在一个用时比较长的操作里面,如果直接设置 UseWaitCursor = True ,鼠标只能在操作完成后才能响应这个设置。解决办法是新建一个类:

public class HourGlass : IDisposable 
{
    public HourGlass()
    {
        Enabled = true;
    }

    public void Dispose()
    {
        Enabled = false;
    }

    public static bool Enabled
    {
        get { return Application.UseWaitCursor; }
        set
        {
            if (value == Application.UseWaitCursor) return;
            Application.UseWaitCursor = value;
            Form f = Form.ActiveForm;
            if (f != null && f.Handle != null)
                SendMessage(f.Handle, 0x20, f.Handle, (IntPtr)1);
        }
    }

    [System.Runtime.InteropServices.DllImport("user32.dll")]
    private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
}

然后使用:

using (new HourGlass())
{
    // 长时间操作
}

Hello, Ghost!

百度的 BAE 前一段时间强制解除了域名绑定。再加上 WordPress 太过于笨重了。PHP 也不是很好玩,所以找了个 Node.js 的博客系统 Ghost 。并在 Heroku 云空间上面假设了一个。

未完待续……