linux下的博客程序

博客程序架构

本博客程序是博主1一年的时候参考loachs小泥鳅博客内核开拓的.net跨平台博客cms,至今已有6年多了,个人博客网址直接在用,就算尚未wordpress那么强劲,然而及时在深究.net的还要,本人能写一个博客程序,并且依照独立Linux服务器搭建2个温馨的.net网址照旧挺风趣,毕竟那时候运维在linux下的.net网址依然极少数的,以前的布署情势平素沿用现今,网址服务器仅仅内部存款和储蓄器51二M恢弘到壹G,毕竟以往的操作系统512M实际上是有点少,即使是跑静态站点还足以,动态的再多放点东西就会内部存款和储蓄器报告警察方了,废话不多说,看代码。

技术栈

  • .net framework 4.0
  • sqlite 数据库
  • mono linux 运营环境以及mono下的sqlite库
  • nvelocity 模板引擎
  • dapper 轻量级orm框架
  • vs2010

代码结构

图片 1

左侧重要分为多个文本夹,Jqpress.web是存放web路由入口、模板皮肤、上传文件以及后台管理程序,上海教室default.aspx.cs代码里有处理301跳转的,首要用来处理jqpress.com自动跳转到www.jqpress上,确认保证对搜索引擎处理自个儿,需求我们手动移除此代码。

路由设计

图片 2
全方位前台入口是从default.aspx作为路由入口跳转到主题路由调节器BlogController,Controller依照url请求的type参数做路由拍卖。

模板引擎设计

图片 3

模板引擎选用nvelocity,是java的velocity的.net翻译版本,未来照例活泼在java界,接纳这几个模板引擎的来头是因为轻便,高效,通用,成熟。

能够看来3个模板皮肤包括图表、模板、样式、预览图、配置文件,wordpress好像也跟那大约。

数据存储设计

图片 4

用作轻量级的博客程序,数据库就没须求用sqlserver或然mysql那样的胖子了,sqlite绝对10足了,如若是windows下的能够用access,可是sqlite真心好用,语法便是mysql的精简版,速度尤其之快,上海体育场合是原生sqlite没通过orm的直白写法。

图片 5

orm更是接纳stackoverflow出品的dapper,速度快,原生sql,轻松,因为要帮忙linux,所以sqlite的操作类必要using Mono.Data.Sqlite;
,上海教室是经过dapper的写法,未有一类别的参数了,不过当下项目还平素不完全转dapper,希望有感兴趣的同窗将此份源码改动成越来越好的.net
博客cms系统。

由于windows下和linux操作sqlite的原生方法差距相比大,倘诺通过dapper来操作的话还是能完结自由切换

数据库结构

图片 6

  • jq_category 分类及标签表
  • jq_comments 评论表
  • jq_links 友链及导航设置
  • jq_posts 文章表
  • jq_sites 站点访问总计数字及小说、分类、数量总括表
  • jq_users 账户表

运行

vs20十调节和测试情势预览

博客首页
图片 7

后台登入,暗中同意用户名admin,密码admin
图片 8

后台首页
图片 9

文章编辑
图片 10

linux布置方式

linux下要求安装mono和jexus就足以运作起来,mono作为.net
framework的linux运维环境,jexus作为web服务器。

图片 11
如上海教室是笔者的博客站点jexus配置,因为自个儿的服务器上还有别的语言的站点,所以并未有直接选拔jexus对外服务,后面还套了层nginx作为代理。

图片 12
上海教室为笔者服务器上的mono安装新闻。

linux服务器上的的.net 程序难点

  • jexus不补助普通话,所以文件上传的路子必须重写成字母加数字符号方式,
  • jexus web服务器是默许对大小写敏感的,所以布署的时候自然要
    只须求把 jws这些本子文件中的 “export
    MONO_IOMAP=…”这一句前边的“#”去掉,就能够不区分轻重缓急写了

源码获取

https://github.com/robotbird/jqpress-aspx

为了以免部分同校不只怕访问Github,所以放oschina的gitee上了

https://gitee.com/robotbird/jqpress-aspx

后记

有关架构为何不用.net mvc ,这是因为当时只买得起最便宜的.net
虚拟服务器,不用单独买服务器一年才几十块钱,所以说此版本的.net
博客程序对服务器的供给是相当低的,基本支持具有的.net
空间提供商,若是是自行建造服务以来,笔者也再一次开辟了一套基于mvc3的cms程序,大家能够先预览下[bjjxysbz.com,下回分解下。
作为四个多年的.net开辟人士,后又混迹java,现在改成产品狗,偶尔用用python做些普普通通的行事,作为一个上扬中年的老程序员,想想依旧不忘初心,热爱本事,后续也会挤出时间将团结的作品逐壹搬到网上,缅想下青春,个人的博客站点
机器鸟,后续会将延续在新浪上刊出技艺项目标篇章,回归社区,不再单独前行。

博客程序还不是很周全,bug恐怕比较多,如若有代码、开荒、布置难点请联系qq:33029640九,或然邮箱robotbird#qq.com。

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图