linux
linux
PHODAL

查看标签 linux

在设计所谓的"Next-Generation CMS",即Echoes CMS的时候,对于我这种懒得自己写Django App的人来说,通过我会去复制别人的代码,于是我继续在Github上漫游。接着找到了DjangoProject.com的源码,又看了看Mezzanine(ps: 我博客用的就是这个CMS)。于是从DjangoProject复制了Blog的代码,从Mezzanine复制了conf的代码,然后就有了Echoes的codebase。然后,继之前的文章(《微服务的小思考》我想了想, 这不就是我想要的模型么?

试了试Raspberry Pi的红外线,找到了一个有意思的库LIRC

最近无聊的时候,觉得应该分析一下Nginx的Log。

记录一下好不容易编译成功的HHVM,已经没有办法测试一下这性能怎么样,不过,看上去感觉好像还好,不算太差,不算太强。

Amazon Linux Cannot allocate memory

![OpenSUSE VS Mac OS][1] 当加入Mac OS大军之前,openSUSE是我最喜欢的系统。 ##说说OpenSUSE 一开始我使用的是Ubuntu,这里有一篇文章是关于两者之间的对比:[OpenSUSE Ubuntu,使用OpenSUSE代替UBUNTU的若干理由](http://www.phodal.com/blog/Use-openSUSE-instead-of-ubuntu/)。写在一年前的某个时候,只怪Kubuntu不够稳定。下面是两张图,因为结束实习的关系又要再次拥抱我的ThinkPad,除了习惯Retina后不习惯于自己电影的屏幕似乎没有多大不习惯。如果还有的话,可能就是还现在还是在用Mac OS,只不过要往Thinkpad上面迁移了。 再看看图片,两者之间的对比似乎有点类似于土豪与屌丝之间的对比。 当前版本用的是12.2,除了Plymouth被我升级成了13.1,因为显示不支持的原因——ATI HD4550,只能用``fglrx-legacy``。 ##说说Mac OS OS X版本10.9.3,处理器i7。要知道我的ThinkPad是i3。四年前的果断被甩了好几十条行街,至于内存都是8G。其他的显示什么的就不多说了——Graphics NVIDIA GeForce GT 650M 1024 MB,没有硬件上的可对比性。但是总感觉TP的巧克力键盘用起来比Mac OS爽,但是又没有``Docky 9008S2``爽。 #openSUSE VS Mac OS 这里是从程序员的角度来写的,而不是大众的角度,一般人吧还是用Windows,用钱点的买个MacBook装个Windows吧。 ##定制篇 从常用工具下手吧,在命令行上还是体现不出什么区别。开始之前先说点别的东西,论GUI的话,大家都知道优势是Mac OS,但是我是web开发人员,自然更多的是界面。不得不说同样的东西在不同的电脑上色彩很大,就算在同样的电脑上也存在明显的色差,如果你用的是Mac可以看看Safari和Chrome在[我的首页](www.phodal.com)上的差异。 ###openSUSE Bash 用的是Konsole phodal  ~  bash --version GNU bash, 版本 4.2.45(1)-release (x86_64-suse-linux-gnu) Copyright (C) 2011 Free Software Foundation, Inc. 许可证 GPLv3+: GNU GPL 许可证版本3或者更高 这是自由软件,您可以自由地更改和重新发布。 在法律允许的范围内没有担保. phodal  ~  bash --version GNU bash, 版本 4.2.45(1)-release (x86_64-suse-linux-gnu) Copyright (C) 2011 Free Software Foundation, Inc. 许可证 GPLv3+: GNU GPL 许可证版本3或者更高 这是自由软件,您可以自由地更改和重新发布。 在法律允许的范围内没有担保. 下面是截图 ![openSUSE Konsole][2] ###Mac OS Bash 用的是iTerm fdhuang  ~  bash --version GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13) Copyright (C) 2007 Free Software Foundation, Inc. 显然Bash的版本有点低 ![mac os iterm bash][3] 于是我们需要升级 brew install bash (两个bash用的都是``Bash-it``,主题是Powerline,可以参考这个——[Bash-it环境,更快捷的bash配置](http://www.phodal.com/blog/use-bash-it-bash-framework/),Mac下可以参考[mac os powerline 在bash在使用powerline](http://www.phodal.com/blog/mac-os-bash-powerline-configure-install/) ) ###Mac OS VS openSUSE 在这个章节,明显Mac OS优势基本上没有,毕竟用的是Bash,而不是``mash``,只是似乎zsh也比较受欢迎。不过不是很重要,重要的是他们没有明显的区别,主要因为都是``Free Software``,也很好的说明Bash的跨平台能力。然而需要注意的是Mac OS需要要用brew或者port去安装,而openSUSE是用zypper安装的,有什么区别么?zypper是自带的,如同Ubuntu的apt-get,CentOS的yum,Debian的aptitude。 ###Vim与Emacs 作为这个最强大的两个编辑器之一(ps:不喜欢把Emacs当成编辑器,它更像是一个没有内核的OS),他们之间也不会有明显的区别,所以我们可以将这个配置迁移到另外的系统上,而不需要做太多的改变。 Vim用的是[https://github.com/carlhuda/janus](https://github.com/carlhuda/janus) ![Vim Editor][4] Emacs用的是[https://github.com/purcell/emacs.d](https://github.com/purcell/emacs.d) ![Emacs Editor][5] 总会想着去配置自己的编辑器,最后还不如在别人写好的配置上加点东西,结果发现,似乎Vim比Emacs越来越受欢迎,因为Emacs的学习曲线比较大么? [1]: /static/media/uploads/wp_20140524_09_44_42_pro.jpg [2]: /static/media/uploads/opensuse_konsole.png [3]: /static/media/uploads/mac_os_iterm_bash.jpg [4]: /static/media/uploads/vim.jpg [5]: /static/media/uploads/emacs.jpg

每个人都为自己在这几天的学习中收获了应有的东西,有些可能是在做story中收获的,有些可能是在这些之外,只是有时候我们不得不保持继续学习的姿态,这才是我们真正需要的东西,keep study。

关于CJK



CJK 是中文(Chinese)、日文(Japanese)、韩文(Korean)三国文字的缩写。顾名思义,它能够支持这三种文字。实际上,CJK 能够支持在 LaTeX 中使用包括中文、日文、韩文在内的多种亚洲双字节文字。
什么是Linux



Linux是一种自由和开放源码的类UNIX操作系统内核。目前存在着许多不同的Linux发行版,可安装在各种各样的电脑硬件设备,从手机、平板电脑、路由器和影音游戏控制台,到桌上型电脑,大型电脑和超级电脑。 Linux是一个领先的操作系统内核,世界上运算最快的10台超级电脑运行的都是基于Linux内核的操作系统。

开始之前了解一下Mezzanine是什么:

> Mezzanine is a powerful, consistent, and flexible content management platform. Built using the Django framework, Mezzanine provides a simple yet highly extensible architecture that encourages diving in and hacking on the code. Mezzanine is BSD licensed and supported by a diverse and active community. > In some ways, Mezzanine resembles tools such as Wordpress that provide an intuitive interface for managing pages, blog posts, form data, store products, and other types of content. But Mezzanine is also different. Unlike many other platforms that make extensive use of modules or reusable applications, Mezzanine provides most of its functionality by default. This approach yields a more integrated and efficient platform.

这也就是官方的简介,简单地说Mezzanine就是一个基于Django框架的应用,同时他提供了类似于wordpress的功能。换句话说,Mezzanine就是一个wordpress,我们只需要简单的修改就可以部署了。一个新项目创建时的截图,


我们可以看到Mezzanine用作商业的时候是如此的简单明了。

详细可以参考官方网站:http://mezzanine.jupo.org/

Mezzanine快速指引

# Install from PyPI
$ pip install mezzanine

# Create a project
$ mezzanine-project myproject
$ cd myproject

# Create a database
$ python manage.py createdb

# Run the web server
$ python manage.py runserver

这也就完成了本地开发的第一部。我们可以发现,新建的项目里面我们很难修改主题,如下所示

3240	./static/media/uploads/gallery
3244	./static/media/uploads
3248	./static/media
3252	./static
24	./deploy
8	./requirements
12	./templates
3520	.

可以使用

python manage.py collecttemplates --help

收集templates

因而,我们需要另外的文件,也就是templates,这个没有在需要额外配置。


git clone https://github.com/renyi/mezzanine-themes.git

然后复制目录中的mazzanine_themes/mazzanine_default到templates中,这样就可以修改默认的样式了。

关于部署由于之前静态文件的设置问题,因此也就贴了出来。换句话说,默认的静态文件和Django一样需要修改网站nginx的配置文件,比如我的是www.phodal.com.conf。

 

location /static {
	autoindex on;
	alias /home/gmszone/Phodal/static;
	access_log off;
	log_not_found off;
}

location /robots.txt
	alias /home/gmszone/Phodal/static;
	access_log off;
	log_not_found off;
}
location /favicon.ico {
	alias /home/gmszone/Phodal/static/img;
	access_log off;
	log_not_found off;
}

也就是要由nginx指定static的位置,也就没有那么多,只需要。记得重启一下nginx

alias /home/gmszone/Phodal/static;

至于部署方式可以采用,uWSGI。

安装完uWSGI需要,两个文件以便使之运作。

import os,sys

if not os.path.dirname(__file__) in sys.path[:1]:
    sys.path.insert(0, os.path.dirname(__file__))
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()

也就wsgi.py,以及

<uwsgi>
    <socket>127.0.0.1:8630</socket>
    <chdir>/home/gmszone/Phodal</chdir>
    <pythonpath>..</pythonpath>
    <module>wsgi</module>
</uwsgi>

最后再运行,

uwsgi -x /home/gmszone/Phodal/wsgi.xml

详细可以参照:http://projects.unbit.it/uwsgi/wiki/Example


Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Engineer, Consultant, Writer, Designer

ThoughtWorks 技术专家

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 最新技术分享

存档

分类

标签

作者