9月 07

最早的时候,博客是放在百度空间上的,虽然有诸多不方便的地方,例如长度受限,不能代码高亮等,但是主要看重他的速度快,用着还是很不错的.

突然有一天百度空间强制升级了,想当难用,于是做出一个艰难的决定,独立博客,从此走上一条折腾的道路.

终于博客独立了,整个站点后台是ASP.NET+ACCESS的,前台采用的最简单的静态生成的网页,因为我有一个免费的静态空间.后台都在本地,每次写一篇新的blog,需要重新生成一下所以的html,然后再全部上传到空间覆盖一次,

所幸文章不多,也可以凑合使用.

有一天,申请到了京东云的免费空间,很开心,终于可以把博客迁移到动态了,因为我也已经受够了每次添加或者改动一篇blog需要全部上传html的情况了.可惜京东云不支持我所熟悉的.NET,于是乎我只好把整个博客翻译成java+mysql的架构,用的简单的jsp+ibatis的技术,于是乎,博客上云了,从此再也不用限定于特定的电脑上写博客了(后台在本地).

拥抱云,博客正式迁入京东云

可惜好景不长,京东云被关闭了,于是,我又得为我的小窝找个空间了.这次我痛定思痛,决定还是挂到自己的服务器上

于是 程序迁移到Linode的Linux主机了 

这次采用的是  centos+mono+mysql+asp.net+jexus的架构,因为以前有后台,只是更换了前台动态展示和后台db的访问代码,于是我的小站终于跑在在自己的服务器上,并且是以跨平台的方式.

用了一阵子问题来了,因为自己的服务器在国外,访问速度上受限并且不是很稳定,另外还有一种情况,比方服务器需要维护,这个时候可能需要翻一下blog找找命令,但是因为维护却无法打开blog.于是又想到为blog找个国内的空间.

这个时候看到阿里云的免费空间,可惜又是不熟悉的php空间.

但是突然想到wordprss,这么流行的程序,拿来用用也很好呀,而且免费的php空间多如牛毛,主要是免费了.

于是一不做二不休,花了3天时间直接将站点改成wp的.

当然期间也折腾了一阵子,先是将数据导成wp的格式,

然后修改了一套皮肤用以支持宽屏,

后台换成了熟悉的Ueditor编辑器

这些以后可以开一篇blog来专门讲一次.

就到这里了,希望这次的阿里云可以用的久一点

written by ocean \\ tags:

1月 07

经过几天的准备,我的站点古诗大全终于跑在Linode的Linux主机上了,哈哈

使用的是Mono+Jexus+Mysql+ASP.NET的结构

旧有程序作了小修改,主要是路径问题  "/" 在Linux中作为根目录处理,所以需要改成相对路径不能相对站点根

另外记录一些Linux的命令,这个确实以前用的不多

首先时间问题

因为服务器在国外,时区和国内对不上,需要调整成为北京时区

linux查看系统时间:

date -R

编辑时区文件

vi /etc/sysconfig/clock

编辑内容如下

ZONE="Asia/Shanghai"
UTC=false
ARC=false

删除默认配置

rm -rf /etc/localtime

重新指定配置

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

同步系统时间

ntpdate -u pool.ntp.org

C#连接mysql字符串需要指定CharSet,否则会出现乱码

"Server=localhost;Database=***;Uid=***;Pwd=***;CharSet=utf8;Allow Zero Datetime=True";

另外mysql外网连接需要授权

GRANT ALL PRIVILEGES ON *.* TO 'user'@'ip' IDENTIFIED BY 'password' WITH GRANT OPTION;

例如

GRANT ALL PRIVILEGES ON *.* TO 'root'@'203.23.45.34' IDENTIFIED BY '123456' WITH GRANT OPTION;

修改MySql的root密码

update user set password=passworD("123456") where user='root';

设置juxus开机自启动

sudo vi /etc/rc.local

最后添加这一条

/usr/jexus/jws start

设置juxus为系统服务

cd /etc/init.d/       
vi jws

编辑jws内容如下

#!/bin/bash
#chkconfig: 2345 80 05
#description:jws
#

. /etc/rc.d/init.d/functions

case "$1" in
start)
  echo "Jexus Start.."
  /usr/jexus/jws start
  ;;
stop)
  echo "Jexus Stop.."
  /usr/jexus/jws stop
  ;;
restart)
  echo "Jexus Restart"
  /usr/jexus/jws restart
  ;;
status)
  /usr/jexus/jws status
  ;;
*)
  exit 1
  ;;
esac

exit $RETVAL

Linux主机URL大小写问题

Linux下URL是大小写敏感的,

修改文件忽略大小写

vi /usr/jexus/jws

启用

export MONO_IOMAP="all"

即可

启动停止JEXUS站点

启动:sudo /usr/jexus/jws start
停止:sudo /usr/jexus/jws stop
重启:sudo /usr/jexus/jws restart
重启指定网站:sudo /usr/jexus/jws restart siteName
停止指定网站:sudo /usr/jexus/jws stop siteName

同时使Jexus支持PHP

首先获得PHP的环境

yum install -y php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml

使用Jexus自带的cgi支持php

首先需要修改php.ini

因为是默认安装的,所以默认地址为 "/etc/php.ini"

找到“cgi.force_redirect=1”这一行,然后把前面的注释去掉,并把“1”改为“0”

保存退出

然后,我们找到Jexus程序的存放目录,并修改“Jws.conf”文件。

把“php-fcgi.set=/usr/bin/php-cgi,6”前面的注释去除,这样Jexus就就可以通过CGI的方式支持PHP了

保存退出

最后还有一点

/jexus/siteconf/php.com

这个文件

修改

fastcgi.add=php|socket:/var/run/jexus/phpsvr

最后给一个该文件的例子

######################
# Web Site: Default 
########################################

port=80
root=/ /var/www/ectouch
hosts=wx.wx6.org


# addr=0.0.0.0
# CheckQuery=false
NoLog=true
# NoFile=/index.aspx
# Keep_Alive=false
# UseGZIP=true
# UseHttps=true
# DenyFrom=192.168.0.233, 192.168.1.*, 192.168.2.0/24
# AllowFrom=192.168.*.*
# DenyDirs=~/cgi, ~/upfiles
indexes=index.php
rewrite=^/mobile	/mobile/
# reproxy=/bbs/ http://192.168.1.112/bbs/

# Jexus php fastcgi address is '/var/run/jexus/phpsvr'
#######################################################
fastcgi.add=php|socket:/var/run/jexus/phpsvr

# php-fpm listen address is '127.0.0.1:9000'
############################################
# fastcgi.add=php|tcp:127.0.0.1:9000

written by ocean

7月 11

大约在一个月之前申请了免费的京东云,还参加了一个微博转发的活动,升为4g内存了。

然后就非常想把自己的博客跑到云上面。

可惜目前免费的京东云只支持php,java,python等语言,没有我喜欢的.net

于是就有了移植的念头

旧的博客是C#+Access的,生成静态html

在京东云支持的几种语言中选择了java,毕竟这个还是相对熟悉的。

于是装了eclipse,mysql就吭哧吭哧的开始了。

期间遇到坑无数。

git很容易就学会可以使用了

但是京东只支持maven的项目,在maven转换的时候出现了错误,网上所有的能解决的方法对我都无效。找了一位资深java开发的朋友也花了一两天时间都没解决掉,一度想到放弃。但是成功往往就是在再坚持一下,也许距离你放弃的地方再努力一下就可以成功了,终于解决这个问题了。

然后还遇到Mysql乱码的问题,因为云数据库本地连接不上,只能通过改代码,commit,push,发布,效率很低,很慢,但是终于还是解决了。

然后就是真正的开发了。ibatis+jsp+urlrewrite

java里的各种框架各种配置,不会了就百度一下,相较于.net,java里的这种问题网络上问的很多,答得也很多,确实很方便。

最明显的一个,html截取并且补齐htmltag,我记得之前.net的那个当时找了很多代码都不太合适,后来自己写的,可是java的一搜索马上就有现成的代码。

历时三天,终于把博客从.net改为java的了

并且做了一个简单的后台,以后再也不用手工上传html了。

第一次写这么长的非技术类blog,这是来自云上的第一篇文章

written by ocean

2月 05

发现自己做个博客的话还是挺有好处的,最主要是一切完全自己可控,需要什么功能只要加上就可以了

先说一下今天发现的问题吧

我用的ueditor,后台本身有代码插入的功能,用的是SyntaxHighlighter的组件,后台显示OK的,但是到了前台就没有了

是少引用了shCore.js和shCoreDefault.css的文件

前台添加一下引用,OK,代码着色了

但是等等,每个页面都需要这样加载这两个文件么?如果某篇文章没有代码,这不是浪费掉了么?

于是想起以前写过的一篇博客 Javascript,CSS动态加载 OK

那么思路就很简单了,判断代码中是否含有pre,也就是代码着色的块,如果有的话就动态加载代码着色的文件实现着色

这一段很简单就不写了,另外如果真要看的话

右键查看一下本文的源代码就好啦

另外,压缩只是为了节省流量

还是记录一下

    function Import(path, type, title) { 
    var s, i; 
    if (!type) type = path.substr(path.lastIndexOf(".") + 1); 
    if (type == "js") { 
        var ss = document.getElementsByTagName("script"); 
        for (i = 0; i < ss.length; i++) { 
            if (ss[i].src && ss[i].src.indexOf(path) != -1 || ss[i].title == title) return ss[i]; 
        } 
        s = document.createElement("script"); 
        s.type = "text/javascript"; 
        s.src = path; 
        if (title) s.title = title; 
    } 
    else if (type == "css") { 
        var ls = document.getElementsByTagName("link"); 
        for (i = 0; i < ls.length; i++) { 
            if (ls[i].href && ls[i].href.indexOf(path) != -1 || ls[i].title == title) return ls[i]; 
        } 
        s = document.createElement("link"); 
        s.rel = "stylesheet"; 
        s.type = "text/css"; 
        s.href = path; 
        if (title) s.title = title; 
        s.disabled = false; 
    } 
    else return; 
    var head = document.getElementsByTagName("head")[0]; 
    head.appendChild(s); 
    return s; 
} 
if (document.getElementsByTagName("pre")!=null) { 
    Import("/template/syntaxhighlighter/shcoredefault.css", "css"); 
    Import("/template/syntaxhighlighter/shcore.js", "js");  
}

written by ocean

2月 04

之前一直用的百度Hi的,可惜非要强制升级.

升级也就算了,最最关键的居然自己的博客自己不能搜,太扯淡了

那个产品经理就该拉出去毙了

博客独立了,不用之前的了

庆祝一下

域名 http://blog.wx6.org

 

written by ocean