Ha? Have a Talk. Menu

Permalink:

中标麒麟操作系统V6安装NGINX

因为禾斗石开需要,安装了中标麒麟高级服务器操作系统(虚拟化版)V6,然后该系统上部署了几个JAVA WEB项目,现在需要安装nginx,但是yum无法使用,出现以下异常信息:

Loaded plugins: refresh-packagekit, security
http://****: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again

修改yum源改为163

cd  /etc/yum.repos.d/
# 备份原有的源
mv ns6-gen-x86_64.repo ns6-gen-x86_64.repo.old
# 下载网易163的源
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo  
yum clean all
yum makecache

但在 yum makecache报错:

http://mirrors.163.com/centos/6/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
尝试其他镜像。错误:Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again

这是因为无法访问http://mirrors.163.com/centos/6/os/x86_64/repodata/repomd.xml,repomd.xml 在http://mirrors.163.com/centos/6-6.5下已经不存在,需要更改CentOS-Base.repo此文件中的$releasever参数,对于CentOS来说,$releasever来源于 rpm -qi centos-release 的version数值。

# 查询中标麒麟系统的版本
cat /proc/version
Linux version 2.6.32-358.el6.x86_64 (mockbuild@ns60x64.cs2c.com.cn) (gcc version 4.4.7 20120313 (NeoKylin 4.4.7-3) (GCC) ) #1 SMP Fri Jul 12 10:25:19 CST 2013

对于中标麒麟高级服务器操作系统(虚拟化版)V6,经过测试,$releasever直接取 ** 6 ** 即可。

vim  CentOS-Base.repo
#vim命令模式下将所有的$releasever替换为6
:1,s/$releasever/6/g
# 再执行后续的指令
yum clean all
yum makecache

添加nginx的源

根据NGINX官方文档的安装方法:

To add NGINX yum repository, create a file named and paste one of the configurations below:

cd /etc/yum.repos.d/
# 新建nginx.repo文件
vim nginx.repo
# 填写以下内容
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/
gpgcheck=0
enabled=1

注意:$releasever$basearch需要根据系统来确定,中标麒麟高级服务器操作系统(虚拟化版)V6最后确定为http://nginx.org/packages/rhel/6/x86_64/

安装pcre

尝试安装yum install nginx, 安装nginx时报错,因为nginx的rewrite需要pcre库。

./configure: error: the HTTP rewrite module requires the PCRE library.

安装pcre-devel解决问题

yum -y install pcre-devel

重新安装nginx依然出现错误提示:

./configure: error: the HTTP cache module requires md5 functions
from OpenSSL library.   You can either disable the module by using
–without-http-cache option, or install the OpenSSL library into the system,
or build the OpenSSL library statically from the source with nginx by using
–with-http_ssl_module –with-openssl=<path> options.

安装openssl相关软件:

yum -y install openssl openssl-devel

安装pcre:

# 下载相应版本的pcre
pcre-8.39.tar.bz2
# 解包解压缩
tar xjpf pcre-8.39.tar.bz2
# 切换到pcre的目录
cd pcre-7.8
# 配置
./configure --prefix=/usr/local/pcre-8.39 --libdir=/usr/local/lib/pcre --includedir=/usr/local/include/pcre

configure有许多参数可配,具体参见./configure –help及手册

# 编译及安装
make
make install

安装NGINX

最后尝试安装yum install nginx,完成。

参考

解决centos 6.6 更换yum 163源报错
CentOS镜像使用帮助
Install
PCRE-nginx pcre library not found

  • 大菜头

    test
    test

  • Thanks for leaving a comment, please keep it clean. HTML allowed is strong, code and a href.

Permalink:

狮子、毒蛇和鳄鱼 前篇

  表哥突然发来一张图,问我怎么解。
gaozhishang
  先说我的结论:这个图片很有可能体现的是刚果人民现在所处的水深火热的困境,对于他们来说,现在无力跟“狮子”、“蛇”和“鳄鱼”搏斗,他们只能在维持现状(Hang in there.)的基础上,等待时机脱困。
  我作为一个懒人,一看到图片上的水印,就想这一定是一个无聊的营销号发的内容,于是就拿着图片去谷歌图片以图搜图了,然后就找到了国外关于这个图片的讨论,《Give the boy a Escape Plan》 ,但是也没有讨论出什么具体解法。然后我用关键词“lion snake crocodile ”在谷歌图片中搜索,第一张照片居然是这样的。
lion-snake-crocodile
  虽然画风不一样,但是显然就同一个故事,上图的出处是这篇文章: Summer Reading | CongoStory ,如果不能翻墙可以点击下面这个链接,可能网页样式加载不出来,但是不影响阅读 Bing缓存页面
  文章大概讲的是:每年世界各地的图书馆都会举行阅读夏令营(summer reading program),来激发孩子们的想象力,激起孩子们阅读的兴趣,作者收到邀请,给刚果的孩子们举办夏令营,虽然刚果的孩子们没有什么图书馆可以阅读,但是他们还是会从老一辈哪里听到很多故事。

注:这个 Congo Stroy 是一个主要在医疗和教育方面对刚果人民进行帮助的组织,部门由刚果宣传纪念项目基金会(Congolese Advocacy Memorial Project Fund)支持,组织旨在建立一个为能促进刚果民主共和国的和平、稳定、可持续发展的人提供有用的信息和资源的在线图书馆。不太理解为什么这种组织的网站会被墙。

夏令营上她开始讲故事:
Shida先生(Bwana Shida)去砍些木头来生火,当他快要砍完的时候,突然身后传来了咆哮声(roar),他立马爬上了树,在非洲什么动物会咆哮啊?
孩子们:狮子。
她:Shida看到了一只狮子就在树枝底下,他以为他在树上就安全了,然后他转过头发现树上有只危险的动物,树上会有什么危险的动物啊?
孩子们:毒蛇!
她:他想他可以跳到河里,这样狮子和毒蛇就不会跟着来了,但是当他向下望的时候,却看见了一排锋利的牙齿,水里会有什么动物呀?
孩子们:鳄鱼! Continue reading…

  • Thanks for leaving a comment, please keep it clean. HTML allowed is strong, code and a href.

Permalink:

JAVA屏幕截图与水印添加程序-HEHEHEScreenshot

一切都源于这个表情,后面这个表情就以不可预料的情况演化了。那时想着做一个能加苍蝇的截图工具,程序是用JAVA实现的,项目托管在GitHub https://github.com/Bigcaitou/HEHEHEScreenshot

biaoqing

talk is cheap, show you the code.

截取屏幕

    public RectD() {
            snapshot();
            setVisible(true);
            // setSize(d);//最大化窗口
             //用 JDialog 做一个无控制条的窗口,大小设置成满屏,把截取的这个满屏的图片贴到这个 JDiaglog 里
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.addMouseListener(new MouseAdapter() {// 得到鼠标箭头初始坐标
                @Override
                public void mousePressed(MouseEvent e) {
                    orgx = e.getX();
                    orgy = e.getY();
                }
            });
            //鼠标圈定区域, 对圈定的区域截屏
            this.addMouseMotionListener(new MouseMotionAdapter() {
                @Override
                public void mouseDragged(MouseEvent e) {
                    endx = e.getX();
                    endy = e.getY();
                    g = getGraphics();
                    g.drawImage(tempImage, 0, 0, RectD.this);
                    int x = Math.min(orgx, endx);
                    int y = Math.min(orgy, endy);
                    int width = Math.abs(endx - orgx) + 1;
                    int height = Math.abs(endy - orgy) + 1;
                    // 加上1,防止width或height为0
                    g.setColor(Color.BLUE);
                    g.drawRect(x - 1, y - 1, width + 1, height + 1);
                    // 减1,加1都是为了防止图片将矩形框覆盖掉
                    saveImage = image.getSubimage(x, y, width, height);
                    g.drawImage(saveImage, x, y, RectD.this);
                }
            });
            //双击鼠标截图
            this.addMouseListener(new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                    int clickTimes = e.getClickCount();
                    if (clickTimes == 2) {
                        saveToFile();
                    }
                }
            });
        }
        public void snapshot() {
            try {
                Robot robot = new Robot();
                Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
                image = robot.createScreenCapture(new Rectangle(0, 0, d.width, d.height));
            } catch (AWTException e) {
                e.printStackTrace();
            }
        }

利用Robot的createScreenCapture可以截图,但是有个问题是遇到多个屏幕,这个方法只能在默认屏幕截图。
Continue reading…

  • Thanks for leaving a comment, please keep it clean. HTML allowed is strong, code and a href.

Permalink:

KindEditor与ckplayer的简单结合

链接

  ckplayer 6.7:http://www.ckplayer.com/bbs/forum.php?mod=viewthread&tid=10864
  KindEditor4.1.10 (2013-11-23):http://kindeditor.net/down.php
  参考教程: 关于kindeditor整合万能的ckplayer视频播放器插件


  因项目需要,现将KindEditor与ckplayer相结合,搭建一个带本地视频播放的cms。

KindEditor

  KindEditor的安装与配置这里不做多余介绍,具体参考《官方文档-编辑器使用方法》

ckplayer的配置

  上传相关文件到编辑器的插件目录即editor/plugins/ckplayer,基本的文件包括ckplayer.jsckplayer.swfckplayer.xmllanguage.xmlstyle.css

修改格式验证代码

  修改kindeditor.js的960行左右的上传功能的格式验证代码,加入需要支持的视频格式:

    function _mediaType(src) {
        if (/\.(rm|rmvb)(\?|$)/i.test(src)) {
            return 'audio/x-pn-realaudio-plugin';
        }
        if (/\.(swf|flv|mp4)(\?|$)/i.test(src)) {
            return 'application/x-shockwave-flash';
        }
        return 'video/x-ms-asf-plugin';
    }

  修改jsp/upload_json.jsp的32行左右的上传功能的格式验证代码,加入需要支持的视频格式:

    //定义允许上传的文件扩展名
    HashMap<String, String> extMap = new HashMap<String, String>();
    extMap.put("image", "gif,jpg,jpeg,png,bmp");
    extMap.put("flash", "swf,flv,mp4");
    extMap.put("media",
            "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb,mp4");
    extMap.put("file",
            "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2");

  ckplayer官方称支持以下视频格式:

视频协议 视频格式 Flash HTML5
HTTP flv g.jpg x.jpg
HTTP f4v g.jpg x.jpg
HTTP mp4 g.jpg g.jpg
HTTP m3u8 g.jpg g.jpg
HTTP webm x.jpg g.jpg
HTTP ogg x.jpg g.jpg
RTMP flv g.jpg x.jpg
RTMP f4v g.jpg x.jpg
RTMP mp4 g.jpg x.jpg
RTMP 直播流 g.jpg x.jpg

  所以其中要添加什么类型的文件记得在两个文件都修改。
Continue reading…

  • •••
  • Thanks for leaving a comment, please keep it clean. HTML allowed is strong, code and a href.