本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/53638227
博主地址是:http://blog.csdn.net/freewebsys

1,golang非常适合云计算
docker 非常的好,golang 也可以直接跑在 alpine系统上面
但是,golang是个编译语言,不像java一样。可以把jar拷贝到其他系统上,golang依赖编译环境。
之前犯的一个错误就是,把centos系统上编译的二进制文件。
拷贝到了 alpine系统上,结果执行报错。
golang的编译还是依赖不同操作系统的。
所以干脆使用virtualbox 创建一个alpine的虚拟机得了。
在alpine上面做的操作就方便多了。

2,安装alpine
下载iso文件。
http://alpinelinux.org/downloads
安装:
https://wiki.alpinelinux.org/wiki/Installation
创建虚拟机就不说了。
alpine 挂载上了 ios镜像文件之后。
启动就进入登录界面了。用户名root,密码是空。(默认的)
执行安装语句

setup-alpine
1
这个没有centos的安装界面,就是个shell脚本。一步一步执行就行了。
https://wiki.alpinelinux.org/wiki/Alpine_setup_scripts

首先是需要输入键盘格式。
然后自动获得ip。
设置管理员密码
输入时区 Asia/Shanghai 直接输入就行了。
下一步进行格式化硬盘

先选择了个 lvm ,然后又选择了个sys。
只有sys 才是把文件写入硬盘。
最后擦写硬盘。使用虚拟机问题不大,实机的时候注意数据备份。

一般来说安装脚本的执行问题不大。
有的时候可能访问不了网络了。这个时候重启下虚拟机,重新来。
https://wiki.alpinelinux.org/wiki/Configure_Networking
或者自己配置下网络。

vi /etc/resolv.conf
nameserver 114.114.114.114
重启网络
/etc/init.d/networking restart
ifconfig 看看ip
最好把镜像的地址修改成清华的。

echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main" > /etc/apk/repositories
apk update
1
2
也可以直接编辑 /etc/apk/repositories
安装完成,提示重启。

3,进入系统
进入系统之后

磁盘空间占用的挺少的。
这样一个 alpine linux 系统就安装好了。

4,开启ssh远程登录
默认 alpine 没有开启远程登录权限。
ssh远程登录不了。
vi /etc/ssh/sshd_config
增加:
PermitRootLogin yes
允许root登录,当然这个是测试环境,未来方便的。

5,总结
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/53638227 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

alpine linux 系统很小。以后模拟测试啥的都可以在这个上面进行了。
以后再这个环境编译好的golang 二进制文件。就可以拷贝到 docker的 alpine 上面了。
一些特性也可以在 这个环境上面测试了。
————————————————
版权声明:本文为CSDN博主「freewebsys」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/freewebsys/java/article/details/53638227

实测有效方法:压缩你的镜像

方法:试着用命令或工具压缩你的镜像。

docker 自带的一些命令还能协助压缩镜像,比如 export 和 import

$ docker run -d redis:lab-3
$ docker export 71b1c0ad0a2b | docker import - redis:lab-4

但麻烦的是需要先将容器运行起来,而且这个过程中你会丢失镜像原有的一些信息,比如:导出端口,环境变量,默认指令。

 

dockerinfo.net/2016/10/20161027203227.jpg" sizes="(max-width: 650px) 100vw, 650px" data-originalset="http://img.dockerinfo.net/2016/10/20161027203227.jpg 650w, http://img.dockerinfo.net/2016/10/20161027203227-300x247.jpg 300w" alt="20161027203227" width="650" height="535" data-tag="bdshare" />

介绍

前段时间网易蜂巢曾经推出蜂巢 Logo T恤,用的正是 Docker 镜像制作,最神奇的是,它最终的镜像大小只有 585字节。

$ docker images | grep hub.c.163.com/public/logo

REPOSITORY                          TAG     IMAGE ID           CREATED      SIZE

hub.c.163.com/public/logo  latest  6fbdd13cd204  11 days ago  585 B

这其中就用到了不少精简镜像的技术,尤其是针对 C 程序的优化和精简。但我们平常开发肯定不止用 C 语言,甚至有些镜像都不是我们自己来打包的(比如下载公共镜像),那是否有一些通用的精简 Docker 镜像的手段呢? 答案是肯定的 ,甚至有的镜像可以精简 98%。精简镜像大小的好处不言而喻,既节省了存储空间,又能节省带宽,加快传输。那好,接下来就请跟随我来学习怎么一步步精简 Docker 镜像吧。

镜像层(Layers)

在开始制作镜像之前,首先了解下镜像的原理,而这其中最重要的概念就是镜像层(Layers)。镜像层依赖于一系列的底层技术,比如文件系统(filesystems)、写时复制(copy-on-write)、联合挂载(union mounts)等,幸运的是你可以在很多地方学习到这些技术,这里就不再赘述技术细节。

 

dockerinfo.net/2016/10/20161027203243.jpg" sizes="(max-width: 545px) 100vw, 545px" data-originalset="http://img.dockerinfo.net/2016/10/20161027203243.jpg 545w, http://img.dockerinfo.net/2016/10/20161027203243-300x241.jpg 300w" alt="20161027203243" width="545" height="438" data-tag="bdshare" />

 

总的来说,你最需要记住这点:

在 Dockerfile 中, 每一条指令都会创建一个镜像层,继而会增加整体镜像的大小。

举例来说:

FROM busybox

RUN mkdir /tmp/foo

RUN dd if=/dev/zero of=/tmp/foo/bar bs=1048576 count=100

RUN rm /tmp/foo/bar

以上 Dockerfile 干了这几件事:

  • 基于一个官方的基础镜像 busybox(只有1M多)
  • 创建一个文件夹(/tmp/foo)和一个文件(bar)
  • 为该文件分配了100M大小
  • 再把这个大文件删除

事实上,它最终什么也没做,我们把它构建成镜像看看(构建可以参考一期):

docker build -t busybox:test .

再让我们来对比下原生的 busybox 镜像大小和我们生成的镜像大小:

$ docker images | grep

busyboxbusybox    test     896c63dbdb96    2 seconds ago    106 MB

busybox    latest   2b8fd9751c4c    9 weeks ago      1.093 MB

出乎意料的是,却生成了 106 MB 的镜像。

多出了 100 M,这是为何?这点和 git 类似(都用到了Copy-On-Write技术),我用 git 做了如下两次提交(添加了又删除),请问 A_VERY_LARGE_FILE 还在 git 仓库中吗?

$ git add  A_VERY_LARGE_FILE

$ git commit

$ git rm  A_VERY_LARGE_FILE

$ git commit

答案是: 在的 ,并且会占用仓库的大小。Git 会保存每一次提交的文件版本,而 Dockerfile 中每一条指令都可能增加整体镜像的大小,即使它最终什么事情都没做。

精简步骤

了解了镜像层知识,有助于我们接下来制作精简镜像。这里开始,以最常用的开源缓存软件 Redis 为例,从一步步试验,来介绍如何制作更精简的 dockerinfo.net/dockerimages" target="_blank">Docker 镜像

步骤 1:初始化构建 Redis 镜像

直接上 dockerinfo.net/dockerfile" target="_blank">Dockerfile :

FROM ubuntu:trusty

ENV VER     3.0.0

ENV TARBALL http://download.redis.io/releases/redis-$VER.tar.gz

# ==> Install curl and helper tools...

RUN apt-get update

RUN apt-get install -y  curl make gcc

# ==> Download, compile, and install...

RUN curl -L $TARBALL | tar zxv

WORKDIR  redis-$VER

RUN make

RUN make install

#...

# ==> Clean up...

WORKDIR /

RUN apt-get remove -y --auto-remove curl make gcc

RUN apt-get clean

RUN rm -rf /var/lib/apt/lists/*  /redis-$VER

#...

CMD ["redis-server"]

结合注释,读起来并不困难,用到的都是常规的几个命令,简要介绍如下:

  • FROM:顶头写,指定一个基础镜像,此处基于 ubuntu:trusty
  • ENV:设置环境变量,这里设置了 VER 和 TARBALL 两个环境变量
  • RUN:最常用的 Dockerfile dockerinfo.net/341.html" target="_blank">指令,用于运行各种命令,这里调用了 8 次 RUN 指令
  • WORKDIR:指定工作目录,相当于指令 cd
  • CMD:指定镜像默认执行的命令,此处默认执行 redis-server 命令来启动 redis

执行构建:

$ docker build  -t redis:lab-1  .

注:国内网络,更新下载可能会较慢

查看大小:

 

dockerinfo.net/2016/10/20161027203303.jpg" sizes="(max-width: 435px) 100vw, 435px" data-originalset="http://img.dockerinfo.net/2016/10/20161027203303.jpg 435w, http://img.dockerinfo.net/2016/10/20161027203303-300x62.jpg 300w" alt="20161027203303" width="435" height="90" data-tag="bdshare" />

 

动辄就有 300多 M 的大小,不能忍,下面我们开始一步步优化。

步骤 2: 优化基础镜像

方法:选用更小的基础镜像。

常用的 Linux 系统镜像一般有 ubuntu、centos、debian,其中debian 更轻量,而且够用,对比如下:

REPOSITORY     TAG        IMAGE ID           VIRTUAL SIZE

---------------           ------          ------------                ------------

centos              7               214a4932132a     215.7 MB

centos              6               f6808a3e4d9e      202.6 MB

ubuntu              trusty       d0955f21bf24      188.3 MB

ubuntu              precise    9c5e4be642b7     131.9 MB

debian              jessie       65688f7c61c4      122.8 MB

debian              wheezy    1265e16d0c28      84.96 MB

替换 debian:jessie 作为我们的基础镜像。

优化 Dockerfile:

FROM debian:jessie

#...

执行构建:

$ docker build  -t redis:lab-2  .

查看大小:

 

dockerinfo.net/2016/10/20161027203254.jpg" sizes="(max-width: 441px) 100vw, 441px" data-originalset="http://img.dockerinfo.net/2016/10/20161027203254.jpg 441w, http://img.dockerinfo.net/2016/10/20161027203254-300x91.jpg 300w" alt="20161027203254" width="441" height="134" data-tag="bdshare" />

 

减少了42M,稍有成效,但并不明显。细心的同学应该发现,只有 122 MB 的 debian 基础镜像,构建后增加到了 305 MB,看来这里面肯定有优化的空间,如何优化就要用到我们开头说到的 Image Layer 知识了。

步骤 3:串联 Dockerfile 指令

方法: 串联你的 Dockerfile 指令(一般是 RUN 指令)。

Dockerfile 中的 RUN 指令通过 && 和 / 支持将命令串联在一起,有时能达到意想不到的精简效果。

优化 Dockerfile:

FROM debian:jessie

ENV VER     3.0.0

ENV TARBALL http://download.redis.io/releases/redis-$VER.tar.gz




RUN echo "==> Install curl and helper tools..."  && \     apt-get update                      && \   

  apt-get install -y  curl make gcc   && \  

  \   

  echo "==> Download, compile, and install..."  && \  

  curl -L $TARBALL | tar zxv  && \   

  cd redis-$VER               && \   

  make                        && \   

  make install                && \   

  ...   

  echo "==> Clean up..."  && \   

  apt-get remove -y --auto-remove curl make gcc  && \

  apt-get clean                                  && \   

  rm -rf /var/lib/apt/lists/*  /redis-$VER




#...

CMD ["redis-server"]

构建:

$ docker build  -t redis:lab-3  .

查看大小:

 

dockerinfo.net/2016/10/20161027203318.jpg" sizes="(max-width: 437px) 100vw, 437px" data-originalset="http://img.dockerinfo.net/2016/10/20161027203318.jpg 437w, http://img.dockerinfo.net/2016/10/20161027203318-300x117.jpg 300w" alt="20161027203318" width="437" height="170" data-tag="bdshare" />

 

哇!一下子减少了 50%,效果明显啊!这是最常用的一个精简手段了。

步骤 4:压缩你的镜像

方法:试着用命令或工具压缩你的镜像。

docker 自带的一些命令还能协助压缩镜像,比如 export 和 import

$ docker run -d redis:lab-3

$ docker export 71b1c0ad0a2b | docker import - redis:lab-4

但麻烦的是需要先将容器运行起来,而且这个过程中你会丢失镜像原有的一些信息,比如:导出端口,环境变量,默认指令。

所以一般通过命令行来精简镜像都是实验性的,那么这里再推荐一个小工具: docker-squash。用起来更简单方便,并且不会丢失原有镜像的自带信息。

下载安装:

https://github.com/jwilder/docker-squash#installation(复制此链接到浏览器打开)

压缩操作:

$ docker save redis:lab-3 \ 

  | sudo docker-squash -verbose -t redis:lab-4  \ 

  | docker load

注: 该工具在 Mac 下并不好使,请在 Linux 下使用

对比大小:

 

dockerinfo.net/2016/10/20161027203328.jpg" sizes="(max-width: 435px) 100vw, 435px" data-originalset="http://img.dockerinfo.net/2016/10/20161027203328.jpg 435w, http://img.dockerinfo.net/2016/10/20161027203328-300x141.jpg 300w" alt="20161027203328" width="435" height="204" data-tag="bdshare" />

 

好吧,从这里看起来并没有太大作用,所以我只能说试着,而不要报太大期望。

总结

本期我们介绍了镜像层的知识,并且通过实验,介绍三种如何精简镜像的技巧(下期还有更强大的技巧)。这里主要介绍了三种精简方法:选用更精小的镜像,串联 Dockerfile 运行指令,以及试着压缩你的镜像。通过这几个技巧,已经可以将 300M 大小的镜像压缩到 150M,压缩率50%,效果还是不错。但这还远远不够,下篇我们将介绍一些终极手段,压缩效果可以达到 98%哦!

转自:http://blog.csdn.net/mapboo/article/details/49536297

CSDN博主Mapboo原创,感谢博主!

==============================

前言:

纵观国内的广告平台,比如多盟,万普,百度,腾讯,或者别的一些广告平台,真是应接不暇,但是具体接入那就自己判断了,经过一番折腾,最终还是选择了谷歌平台,理应是稳定,可靠,安全,收入颇高,但是登录网络有点问题,应该大家都懂吧,这里就不再赘述了,各自想办法吧;

准备工作:

1,首先你是Android开发者,或者至少会点Java编程基础;

2,熟悉使用Android Studio(以下简称:AS),即官方Android应用开发工具;

3,注册了http://www.google.cn/admob/ 应用,并且有个banner_ad_unit_id吧;

4,待加入横幅广告条的app;

5,可参考官方接入指南:docs/admob/android/quick-start" target="_blank">https://developers.google.com/mobile-ads-sdk/docs/admob/android/quick-start

开发过程:

1,创建或打开AS 工程,本示例是新建工程;

2,打开Android SDK Manager安装Google Repository;

3,关联我们的广告SDK,这里有两种方式:

A  点击Project Structure 直接选取,如下图:

com.google.android.gms:play-services:7.8.0;

B 打开build-gradle 加入一行代码,如下图:

compile 'com.google.android.gms:play-services:6.+'

4,程序会开始自动编译,然后打开AndroidManifest.xml 文件,添加如下代码:

[java] view plain copy

print?

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3.     package="com.mapboo.adviewdemo" >
  4.    <span style="color:#ff0000;"> <uses-permission android:name="android.permission.INTERNET" />
  5.     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/></span>
  6.     <application
  7.         android:allowBackup="true"
  8.         android:icon="@mipmap/ic_launcher"
  9.         android:label="@string/app_name"
  10.         android:theme="@style/AppTheme" >
  11.        <span style="color:#ff0000;"> <meta-data android:name="com.google.android.gms.version"
  12.             android:value="@integer/google_play_services_version" /></span>
  13.         <activity
  14.             android:name=".MainActivity"
  15.             android:label="@string/app_name" >
  16.             <intent-filter>
  17.                 <action android:name="android.intent.action.MAIN" />
  18.                 <category android:name="android.intent.category.LAUNCHER" />
  19.             </intent-filter>
  20.         </activity>
  21.        <span style="color:#ff0000;"> <activity
  22.             android:name="com.google.android.gms.ads.AdActivity"
  23.             android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
  24.             android:theme="@android:style/Theme.Translucent" /></span>
  25.     </application>
  26. </manifest>

 

5,打开activity_main.xml 文件,输入如下代码:

[java] view plain copy

print?

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     xmlns:ads="http://schemas.android.com/apk/res-auto"
  4.     android:layout_width="match_parent"
  5.     android:layout_height="match_parent"
  6.     android:paddingBottom="@dimen/activity_vertical_margin"
  7.     android:paddingLeft="@dimen/activity_horizontal_margin"
  8.     android:paddingRight="@dimen/activity_horizontal_margin"
  9.     android:paddingTop="@dimen/activity_vertical_margin"
  10.     tools:context=".MainActivity"
  11.     android:gravity="center_vertical">
  12.     <TextView
  13.         android:layout_width="match_parent"
  14.         android:layout_height="wrap_content"
  15.         android:text="@string/demoName"
  16.         android:gravity="center"
  17.         android:textSize="30dp"
  18.         android:layout_marginTop="150dp"
  19.         />
  20.     <com.google.android.gms.ads.AdView
  21.         android:id="@+id/adView_bottom"
  22.         android:layout_width="match_parent"
  23.         android:layout_height="wrap_content"
  24.         android:layout_alignParentBottom="true"
  25.         android:layout_centerHorizontal="true"
  26.         android:layout_gravity="bottom"
  27.         ads:adSize="BANNER"
  28.         ads:adUnitId="@string/banner_ad_unit_id" />
  29. </RelativeLayout>

 

[java] view plain copy

print?

  1. <resources>
  2.     <string name="app_name">AdViewDemo</string>
  3.     <string name="demoName">谷歌Admob广告条示例</string>
  4.     <string name="banner_ad_unit_id">ca-app-pub-8514769117499822/6386262194</string>
  5. </resources>

 

6,打开MainActivity文件,输入如下代码:

[java] view plain copy

print?

  1. package com.mapboo.adviewdemo;
  2. import android.support.v7.app.ActionBarActivity;
  3. import android.os.Bundle;
  4. import android.util.Log;
  5. import android.view.Menu;
  6. import android.view.MenuItem;
  7. import com.google.android.gms.ads.AdListener;
  8. import com.google.android.gms.ads.AdRequest;
  9. import com.google.android.gms.ads.AdView;
  10. public class MainActivity extends ActionBarActivity {
  11.     @Override
  12.     protected void onCreate(Bundle savedInstanceState) {
  13.         super.onCreate(savedInstanceState);
  14.         setContentView(R.layout.activity_main);
  15.         /**
  16.          * 创建广告条对象
  17.          */
  18.         AdView mAdView = (AdView) findViewById(R.id.adView_bottom);
  19.         AdRequest adRequest = new AdRequest.Builder().build();
  20.         /**
  21.          * 创建一个监听,比如判断用户是不是已经点击了广告条,以此来给用户增加积分等操作;
  22.          */
  23.         AdListener listener = new AdListener() {
  24.             @Override
  25.             public void onAdClosed() {
  26.                 super.onAdClosed();
  27.                 Log.i("TAG""onAdClosed");
  28.             }
  29.             @Override
  30.             public void onAdFailedToLoad(int errorCode) {
  31.                 super.onAdFailedToLoad(errorCode);
  32.                 Log.i("TAG""onAdFailedToLoad");
  33.             }
  34.             @Override
  35.             public void onAdLeftApplication() {
  36.                 super.onAdLeftApplication();
  37.                 Log.i("TAG""onAdLeftApplication");
  38.             }
  39.             @Override
  40.             public void onAdLoaded() {
  41.                 super.onAdLoaded();
  42.                 Log.i("TAG""onAdLoaded");
  43.             }
  44.             @Override
  45.             public void onAdOpened() {
  46.                 super.onAdOpened();
  47.                 Log.i("TAG""onAdOpened");
  48.             }
  49.         };
  50.         /**
  51.          * 设置监听
  52.          */
  53.         mAdView.setAdListener(listener);
  54.         /**
  55.          * 开始载入广告条
  56.          */
  57.         mAdView.loadAd(adRequest);
  58.     }
  59.     /**
  60.      *
  61.      官方示例:https://developers.google.com/mobile-ads-sdk/docs/admob/android/quick-start
  62.      
  63.      分享:安卓发布平台 http://blog.csdn.net/mapboo/article/details/49531043
  64.      应用汇:http://www.appchina.com/
  65.      安智市场:http://www.anzhi.com/
  66.      华为市场:http://appstore.huawei.com/
  67.      百度市场:http://app.baidu.com/pass/center
  68.      蒲公英:http://www.pgyer.com
  69.      N多网 :http://www.nduoa.com/developer
  70.      豌豆荚:http://developer.wandoujia.com/
  71.      360:http://dev.360.cn
  72.      QQ:http://op.open.qq.com
  73.      FIR:http://fir.im
  74.      Android中国开发者 交流QQ群:361871827 欢迎加入一起讨论技术...
  75.      */
  76. }

 

编译运行:

运行代码,就会出现Admob广告条,只要替换自己的banner_ad_unit_id就能开始赚钱了;

效果图:

本实例源代码下载地址:http://pan.baidu.com/s/1pJ3UEcr

Android中国开发者 QQ群:361871827 欢迎一起讨论技术..

营销代有手段出,各领风骚数百天。要说现在哪些营销方式最能传播,屡屡刷爆朋友圈的H5页面肯定就是首当其冲的,提到H5页面,就立马想到“围住神经猫”,上线微信朋友圈3天的时间便创造了用户500万,访问量超1亿的神话。

H5如此势头,不得不让营销人对H5页面的未来充满了期待,越来越多的人开始在营销中运用H5页面。其实在移动端各个领域,H5页面的叫法很多,也会称为翻翻看、手机微杂志、广告页、场景应用、海报\画报(动态海报、指尖海报、掌中海报、动画海报、微画报、微海报)等等,经常能见到的就是滑动翻页。

然而大企业大公司的土豪都在利用自己强大资源和技术比拼H5场景页面,一些小企业或普通独立营销者就只能眼巴巴看着吗?NO,实力差点技术差点效果差点,但是我们也能做。下面木木就给大家推荐一些H5场景页面免费制作神器来,排名不分先后!

搜狐快海报

快海报是搜狐快站平台上全新推出的免费H5页面制作工具,操作也极为简便易学,完全没有技术要求。采用拖拽式操作,属性式设置的模式。一拖一拽,简单配置,所见即所得,一分钟即可学会,三分钟便能完成。还有海量模板即将上线,替换内容即可生成。快海报还支持同一组件的多重动画设置,让画面更丰富更炫酷。和其他一样,搜狐快站海报也是适用于包括活动推广、企业宣传、产品展示、会议组织、预约报名、节日祝福等不同的场景。

体验地址:http://www.kuaizhan.com

初页

初页作为手机端制作动态海报的APP,门槛还是比较低的,容易上手,可以直接在手机上编辑,制作极为便利,图文混排的模板也很丰富。可免费下载安卓版和苹果版初页App,或通过电脑在线创建、编辑,轻松创作优雅、炫酷,利于微信传播的H5海报。

体验地址:http://chuye.cloud7.com.cn/

MaKa

MAKA这个平台制作起来非常简单,静态模板和动态模板都有,模板样式丰富,浏览体验不错。有多种动态效果以及交互效果可供选择,除收费版外提供免费版,不过免费版不提供自定义动效、支付、导航、预约等服务,也不能添加外链。

体验地址:http://www.maka.im/home/index.html

点点客海报

点点客是微信第三方开发服务商,大家都知道,不仅推出了微信营销服务,也有排版和免费的点点客海报,无需注册,扫码登录即可编辑动态海报,多种效果、翻页动画、背景音乐、可统计浏览量,也提供定制。

体验地址:doca.com/index" target="_blank">http://www.dodoca.com/index

口袋通微杂志

口袋通是一个免费的微商平台,其场景海报也是为了其电商功能服务,不过免费得版提供的交互较为简单,没有多样的模板。

体验地址:http://youzan.com/

秀米秀制作

秀米在公众平台的图文排版上可是名声远扬。和秀米的图文神器一样,秀制作目前也是免费的,提供多种模板,傻瓜式操作,可以外链,可与秀米图文排版双剑合璧。

体验地址:http://xiumi.us/

易传单

编辑器界面比较友好,设计灵活方便,数据统计与表单上也是亮点所在。除了模板较少之外其他的都是相当好。

体验地址:http://www.echuandan.com/

epub360意派

这不是奇虎360的,意派的交互功能极为强大,可以说更适合专业的设计师打造的交互设计,动画效果出色,虽然简单傻瓜式的模板不多,但自由度相对较高。不过如果只是制作简单的单页,上手也并不是很复杂。只是免费版作品数量限制为10个,导出有logo。

体验地址:http://www.epub360.com/

易企秀

易企秀也是免费,有多种动态模板,能实现文本和图片带有滑动、隐现、放大缩小等动态效果。同时有ios移动客户端,在手机上也可创建场景应用,以及数据统计功能。大体上和maka差不多,但是表单和统计是免费也可用。

体验地址:http://eqxiu.com/#/home

Liveapp场景应用/云来

云来Liveapp是面向企业方的移动场景APP云服务平台,许多企业都在使用,需购买场景应用。不过,现在云来场景应用正式免费开放,所有“认证企业”都可以申请获取。免费体验长达31天,体验结束后,也会永久保存并持续展示你的场景应用。

体验地址:http://www.yunlai.cn/

Vxplo

Vxplo也是专注在线交互设计,功能强大,同epub360一样适合专业设计师,可以零代码制作轻应用。使用上相对较为复杂,不过其甚至也可以用来制作响应式网站,有时间可以试试。

体验地址:http://www.vxplo.cn/

最酷网

最酷网也是一个免费H5场景应用制作和发布平台。不用懂设计、不用会编程,1分钟上手制作,平台针对不同的应用场景和内容展现形式,提供海量的模板、丰富的控件、灵活的动画特效。用户可以简单快速的通过图片替换、内容编辑,就可以创建属于自己的、炫酷的云场景应用。

体验地址:http://www.zuiku.com/

FormFollowsFunction

严格来说,FormFollowsFunction不属于H5制作平台,而是一个预览平台。H5页面到底能实现什么样的动画效果?这一个网站几乎能看到所有H5能够实现的动画效果,引爆你的灵感,并且让你心中有数。

体验地址:http://fff.cmiscm.com/#!/main

Weebly

Weebly和Wix也是一款HTML5拖放式智能创建器,支持中文,拥有多种优秀网页模板和交互效果,并且有IOS和Android客户端可以管理自己的网页、随时随地跟踪。

体验地址:http://www.weebly.com/about/index.php?lang=zh

Wix

Wix基于H5技术,向用户提供多种网页模板,操作简单无需代码,智能拖拽即可实现网页建设。Wix每个类目下有上百的HTML5模板可供使用,响应式设计,在手机端也有很好的展示。

体验地址:http://www.wix.com/

Ceilfire

Ceilfire是一个创建H5游戏并分享的平台,点击进入你就会看到很多的H5页面游戏。用户可以直接在浏览器中创建游戏、参与游戏、分享游戏,对于想做简单的H5游戏的朋友可以用这种方式试试手。就算不做也可以看看已有的H5游戏来找找感觉。

体验地址:http://ceilfire.com/browse/most-played

做一些H5特效的动态页面,以前需要专业技术团队和设计师才能制作。现在通过这些简单的平台,你几分钟就能免费创作自己的H5页面。甚至有的你需要做的只是仅仅换上几张图,敲几个字,选自己喜欢的音乐\视频…一个不错的H5页面就出来了。

那么,工具地址都给大家了,接下来就是轮到你动手的时候了,找一个自己喜欢的平台,开始吧!

来源:木木博客

原文链接:http://mt.sohu.com/20150326/n410379051.shtml

服务器虚拟化技术的发展历程已超过十年,带来的优势价值也十分突出,而国内的企事业单位近几年才开始在小范围内尝试采用服务器虚拟化方案,其推广普及慢的原因是什么呢?

对此,深信服君曾针对国内IT人士展开大范围的线上调研。从调研的结果来看,阻碍服务器虚拟化普及的主要原因,除了担心虚拟化系统的可靠性外,虚拟化架构的复杂程度也是广大IT人士对虚拟化望而止步的重要因素。

传统虚拟化方案

组件多,部署复杂

国外传统的服务器虚拟化方案的架构确实比较复杂。它们的底层需要虚拟化平台系统,管理需要客户端组件,控制需要管理中心组件,还需要独立的备份软件,甚至还需要套件来协同各组件间的工作。最基础的架构至少也要部署管理8个组件。

若选择采用以上复杂的服务器虚拟化方案,需要考虑虚拟化平台的搭建、众多组件的合理搭配、系统的平滑迁移、平台的管理及运维等问题,不少IT管理者为了避免风险而选择暂时观望。

免费服务器虚拟化

迎合大众需求

综合多年虚拟化技术积累,继应用虚拟化及桌面虚拟化,深信服再度推出aSV服务器虚拟化方案,为IT管理者带来简化服务器运维工作、节省硬件投入成本、保障系统安全、保证业务稳定运行等好处。当然,精简的虚拟化架构也是aSV服务器虚拟化一大亮点。

doc/pic/003481739.html" target="_blank" data-other="spm:2014.12675146.6.a123b1093173">5分钟,轻松玩转深信服服务器虚拟化

为简化复杂繁琐的服务器虚拟化部署过程,深信服aSV服务器虚拟化实现最精简的架构。IT管理者只需花费5分钟,在服务器中安装aSV虚拟化软件包,无需再安装其他组件,即可搭建功能齐全的虚拟化平台。架构即使进行了精简,但虚拟化平台的功能却很完整,如物理主机集群的管理、虚拟机的迁移、系统数据的备份恢复、虚拟机故障告警等功能都可实现。

不仅如此,深信服aSV服务器虚拟化还提供了快速虚拟化工具,帮助IT管理者快速完成物理服务器向虚拟化服务器的迁移。快速虚拟化工具相当于在原本的操作系统和硬件之间加了一个虚拟化层,可让Windows平台以最快的速度进行数据传输,只需要5-10分钟即可完成平台迁移。当然,Linux平台也可通过P2V工具,直接生成一个镜像文件并迁移到虚拟化平台。

如今,IT管理者无需再因担心复杂的虚拟化架构和部署过程而对虚拟化技术望而止步。深信服aSV服务器虚拟化通过对平台构架的精简以及系统迁移的优化,帮助IT管理者轻松部署虚拟化平台,体验更新潮的信息化建设。

这样精简好用的服务器虚拟化产品,标准版免费!点击以下链接,赶快注册体验吧!http://www.sangfor.com.cn/asv/media.html

http://www.centoscn.com/CentosServer/test/2014/1120/4153.html

OpenVPN是一个用于创建虚拟专用网络(Virtual Private Network)加密通道的免费开源软件。使用OpenVPN可以方便地在家庭、办公场所、住宿酒店等不同网络访问场所之间搭建类似于局域网的专用网络通道。

使用OpenVPN配合特定的代理服务器,可用于访问Youtube、FaceBook、Twitter等受限网站,也可用于突破公司的网络限制。

一、服务器端安装及配置

服务器环境:干净的CentOS6.3 64位系统

内网IP:10.143.80.116

外网IP:203.195.xxx.xxx

OpenVPN版本:OpenVPN 2.3.2 x86_64-redhat-linux-gnu

    1、安装前准备

# 关闭selinux
setenforce 0
sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config
# 安装openssl和lzo,lzo用于压缩通讯数据加快传输速度
yum -y install openssl openssl-devel
yum -y install lzo
# 安装epel源
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
sed -i 's/^mirrorlist=https/mirrorlist=http/' /etc/yum.repos.d/epel.repo

    2、安装及配置OpenVPN和easy-rsa

# 安装openvpn和easy-rsa
yum -y install openvpn easy-rsa
# 修改vars文件
cd /usr/share/easy-rsa/2.0/
vim vars
# 修改注册信息,比如公司地址、公司名称、部门名称等。
export KEY_COUNTRY="CN"
export KEY_PROVINCE="Shandong"
export KEY_CITY="Qingdao"
export KEY_ORG="MyOrganization"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU="MyOrganizationalUnit"
# 初始化环境变量
source vars
# 清除keys目录下所有与证书相关的文件
# 下面步骤生成的证书和密钥都在/usr/share/easy-rsa/2.0/keys目录里
./clean-all
# 生成根证书ca.crt和根密钥ca.key(一路按回车即可)
./build-ca
# 为服务端生成证书和密钥(一路按回车,直到提示需要输入y/n时,输入y再按回车,一共两次)
./build-key-server server
# 每一个登陆的VPN客户端需要有一个证书,每个证书在同一时刻只能供一个客户端连接,下面建立2份
# 为客户端生成证书和密钥(一路按回车,直到提示需要输入y/n时,输入y再按回车,一共两次)
./build-key client1
./build-key client2
# 创建迪菲·赫尔曼密钥,会生成dh2048.pem文件(生成过程比较慢,在此期间不要去中断它)
./build-dh
# 生成ta.key文件(防DDos攻击、UDP淹没等恶意攻击)
openvpn --genkey --secret keys/ta.key

查看keys目录下生成的文件:

wKioL1RhllmyOZW9AAKmWJ5x4tg383.jpg

    3、创建服务器端配置文件

# 在openvpn的配置目录下新建一个keys目录
mkdir /etc/openvpn/keys
# 将需要用到的openvpn证书和密钥复制一份到刚创建好的keys目录中
cp /usr/share/easy-rsa/2.0/keys/{ca.crt,server.{crt,key},dh2048.pem,ta.key} /etc/openvpn/keys/
# 复制一份服务器端配置文件模板server.conf到/etc/openvpn/
cp /usr/share/doc/openvpn-2.3.2/sample/sample-config-files/server.conf /etc/openvpn/
# 查看server.conf里的配置参数
grep '^[^#;]' /etc/openvpn/server.conf
# 编辑server.conf
vim /etc/openvpn/server.conf
port 1194
# 改成tcp,默认使用udp,如果使用HTTP Proxy,必须使用tcp协议
proto tcp
dev tun
# 路径前面加keys,全路径为/etc/openvpn/keys/ca.crt
ca keys/ca.crt
cert keys/server.crt
key keys/server.key  # This file should be kept secret
dh keys/dh2048.pem
# 默认虚拟局域网网段,不要和实际的局域网冲突即可
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# 10.0.0.0/8是我这台VPN服务器所在的内网的网段,读者应该根据自身实际情况进行修改
push "route 10.0.0.0 255.0.0.0"
# 可以让客户端之间相互访问直接通过openvpn程序转发,根据需要设置
client-to-client
# 如果客户端都使用相同的证书和密钥连接VPN,一定要打开这个选项,否则每个证书只允许一个人连接VPN
duplicate-cn
keepalive 10 120
tls-auth keys/ta.key 0 # This file is secret
comp-lzo
persist-key
persist-tun
# OpenVPN的状态日志,默认为/etc/openvpn/openvpn-status.log
status openvpn-status.log
# OpenVPN的运行日志,默认为/etc/openvpn/openvpn.log 
log-append openvpn.log
# 改成verb 5可以多查看一些调试信息
verb 5

4、配置内核和防火墙,启动服务

# 开启路由转发功能
sed -i '/net.ipv4.ip_forward/s/0/1/' /etc/sysctl.conf
sysctl -p
# 配置防火墙,别忘记保存
iptables -I INPUT -p tcp --dport 1194 -m comment --comment "openvpn" -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
service iptables save
# 启动openvpn并设置为开机启动
service openvpn start
chkconfig openvpn on

    5、创建客户端配置文件

# 复制一份client.conf模板命名为client.ovpn
cp /usr/share/doc/openvpn-2.3.2/sample/sample-config-files/client.conf client.ovpn
# 编辑client.ovpn
vim client.ovpn
client
dev tun
# 改为tcp
proto tcp
# OpenVPN服务器的外网IP和端口
remote 203.195.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
# client1的证书
cert client1.crt
# client1的密钥
key client1.key
ns-cert-type server
# 去掉前面的注释
tls-auth ta.key 1
comp-lzo
verb 3

二、Windows客户端安装及配置

客户端系统:Windows7 64位

内网IP:172.16.4.4

OpenVPN版本:OpenVPN 2.3.3 Windows 64位

    1、下载安装OpenVPN

OpenVPN 2.3.3 Windows 32位 安装文件:

http://swupdate.openvpn.org/community/releases/openvpn-install-2.3.3-I002-i686.exe

OpenVPN 2.3.3 Windows 64位 安装文件:

http://swupdate.openvpn.org/community/releases/openvpn-install-2.3.3-I002-x86_64.exe

    2、配置client

将OpenVPN服务器上的client.ovpn、ca.crt、client1.crt、client1.key、ta.key上传到Windows客户端安装目录下的config文件夹(C:\Program Files\OpenVPN\config)

    3、启动OpenVPN GUI

在电脑右下角的openvpn图标上右击,选择“Connect”。正常情况下应该能够连接成功,分配正常的IP。

wKiom1RhjGbijB7xAABMoQo3Tnc522.jpg

wKioL1RhjgyxiZ17AAIRIRCqqws094.jpg    

    4、测试

wKiom1RhjfPD8_AYAAGxUvt_PCA503.jpg

ping通服务器的内网IP,说明已经接入到服务器的内部网络。

到OpenVPN服务器上查看客户端的连接情况,查看状态文件/etc/openvpn/openvpn-status.log:

http://npm.taobao.org/

淘宝 NPM 镜像

这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。

  • 当前 registry.npm.taobao.org 是从 registry.npmjs.org 进行全量同步的.
  • 当前 npm.taobao.org 运行版本是: cnpmjs.org@2.0.0-beta3
  • 本系统运行在 Node.js@v0.11.14 上.
  • nodejs.org/dist 镜像: npm.taobao.org/dist
  • phantomjs downloads 镜像: phantomjs mirror
  • Node.js 文档镜像: docs/api/index.html">Node.js Document
113,488 个模块 615,221 个模块版本 7 次删除
22,867 次本日下载 474,895 次本周下载 1,792,093 次本月下载
68,299 次昨日下载 488,804 次上周下载 2,211,639 次上月下载

同步状态

This registry will sync all packages from official registry.

上次同步完成时间: Fri Nov 28 2014 13:55:10 GMT+0800 (中国标准时间)

转:http://my.oschina.net/feedao/blog/223497

当我们把CentOS 6.5安装好以后,可以使用这个脚本来使用国内的阿里云镜像源

?
1
2
3
4
5
6
7
#!/bin/bash
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum makecache

 

 

有了国内的源地址,后面安装东西就方便了。

搜索docker,可以看到docker-io.x86_64和docker-registry.noarch,安装docker就简单了。

[root@localhost ~]# yum search docker
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
======================================================== N/S Matched: docker =========================================================
python-docker-py.x86_64 : An API client for docker written in Python
docker-io.x86_64 : Automates deployment of containerized applications
docker-registry.noarch : Registry server for Docker
fedora-dockerfiles.noarch : Example dockerfiles to assist standing up containers quickly
imagefactory-plugins-Docker.noarch : Cloud plugin for Docker
docker.x86_64 : KDE and GNOME2 system tray replacement docking application

安装雪豹系统全攻略

http://blog.csdn.net/momo2010programer/article/details/6098874

转向Intel阵营为在PC安装Mac OS提供可能


 

 

泡泡网主板频道5月13日 从目前桌面级操作系统的格局来看,主要分为Windows、Mac OS以及Linux三大阵营。其中Windows阵营最为强大,占据全球整个桌面级操作系统90%以上的市场份额,苹果公司自有的操作系统Mac次之,拥有超过5%的市场份额,剩下的则基本上是Linux阵营的天下。

在这三种操作系统当中,Windows和Linux都是可以直接安装在个人电脑上的,它们本身在硬件方面并没有严格的限制,一般来说基于x86架构的PC都可以安装。而苹果公司的Mac OS系列操作系统则不同,它所面向的是苹果公司自己的电脑产品,并不在除苹果之外的硬件上提供支持。

doc/pic/001494670.html" target="_blank">都来啃苹果吧!PC安装雪豹系统全攻略

    对苹果电脑稍微有所了解的朋友应该知道,自1994年以来,苹果一直在使用IBM的PowerPC处理器,直到2006年苹果公司才正式决定放弃与IBM的合作,采用性价比更高的Intel处理器,也就是说转向了x86架构。采用Intel处理器对于苹果的转变来说是非常重要的一件事情,它不仅仅标志着苹果不会再受到IBM在芯片价格方面的制约,也为如今能在普通PC或笔记本电脑上安装Mac OS系统提供了可能。为什么这么说呢?

转:http://server.zol.com.cn/433/4336114.html

服务器虚拟化的好处(a)

将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,我们不再受限于物理上的界限,而是让CPU、内存、磁盘、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具适应力--------这就是服务器的虚拟化。

那么服务器虚拟化都有哪些好处呢?


服务器虚拟化有什么好处
服务器虚拟化(图片来自ESOCC.com)