今天接到一个任务,部署一套iOS-App开发环境,需要用到CocoaPods。

这还不是手到擒来?首先从AppStore安装Xcode,然后运行命令安装CocoaPods即可。

可是意外来的太快,按照官方的命令根本无法安装,各种报错,其中郁闷不足为外人道~~

整理最终命令如下:

# 设置中国源
gem sources --remove https://rubygems.org/
gem sources --add https://gems.ruby-china.org/
# 更新gem系统
sudo gem update --system
# 指定安装环境
sudo gem install -n /usr/local/bin cocoapods

html5应用,可以直接使用file功能调用相机拍照并上传,但是在iOS上有个奇葩的问题,图片不会自动翻转,上传到服务器上的图片可能是倒立的。

解决此问题有2种思路:

1.使用客户端JS检测图片信息,旋转后再上传。此方法实现需消耗客户端资源。

懒得整理js代码了,暂时按下不表。

2.使用服务端PHP检测图片信息,旋转后保存。此方法需要消耗少量的服务器资源。

function correct_image_orientation($target) {
    if(!function_exists('exif_read_data')) {
        return false;
    }
    $exif = exif_read_data($target);
    if($exif && isset($exif['Orientation']) && $exif['Orientation'] != 1) {
        switch ($exif['Orientation']) {
            case 3: $deg = 180; break;
            case 6: $deg = 270; break;
            case 8: $deg = 90; break;
            default: $deg = 0;
        }
        if($deg > 0) {
            $img = imagecreatefromjpeg($target);
            $img = imagerotate($img, $deg, 0);
            imagejpeg($img, $target, 95);
        }
    }
}

在编译Nginx时,记得增加http_image_filter模块,然后在server区域加入如下代码即可。
如果你懒得编译这个模块,也可以下载我编译好的Webox直接安装。

#生成缩略图(等比例)
#http://www.anrip.com/expamle/test.jpg?r128x128
if ($args ~ ^r\d+x\d+$) {
    rewrite ^(.+)$ $1/$args? last;
}
location ~* \.(gif|png|jpg|jpeg)/r(\d+)x(\d+)$ {
    rewrite ^(.+)/r(\d+)x(\d+)$ $1 break;
    image_filter resize  $2 $3;
    image_filter_buffer  10M;
}
#生成裁切图片(固定高宽)
#http://www.anrip.com/expamle/test.jpg?c128x128
if ($args ~ ^c\d+x\d+$) {
    rewrite ^(.+)$ $1/$args? last;
}
location ~* \.(gif|png|jpg|jpeg)/c(\d+)x(\d+)$ {
    rewrite ^(.+)/c(\d+)x(\d+)$ $1 break;
    image_filter crop  $2 $3;
    image_filter_buffer  10M;
}

Ubuntu发行版中NodeJs版本低的吓人,几乎没法正常使用。当然我们也有很多种方法可以安装NodeJS,但多多少少都有些麻烦,对于我这种懒人来讲,最好能几行命令完事儿。

nver=v6.11.2

# download the binary
wget https://nodejs.org/dist/${nver}/node-${nver}-linux-x64.tar.xz
tar xvf node-${nver}-linux-x64.tar.xz

# install to /usr/local
rm node-${nver}-linux-x64/{*.md,LICENSE}
cp -av node-${nver}-linux-x64/* /usr/local
rm -rf node-${nver}-linux-*

一、安装服务端和监控节点

1、安装服务端 aptitude install munin

2、安装监控节点 aptitude install munin-node 可以在多台不同服务器上安装

二、配置服务端

1、编辑配置文件/etc/munin/munin.conf,注释掉默认节点[localhost.*]

2、添加节点配置/etc/munin/munin-conf.d/nodes

[srv005]
    address 12.35.67.5
    use_node_name yes
[srv006]
    address 12.35.67.6
    use_node_name yes
[srv007]
    address 12.35.67.7
    use_node_name yes

三、配置节点

编辑配置文件/etc/munin/munin-node.conf

allow ^12\.35\.67\.9$