MoinMoin Installation

今天晚上研究了一下一个纯Python的Wiki,MoinMoin,感觉了一下,还不错。
本篇不适合阅读,纯属本人记录。命令流
Apache mod_python

安装Apache服务器
从Apache官方网站上下载最新的源码包。
解压后进入其目录

./configure –prefix=/usr/local/apache2
make
make install

安装Python
解压缩后进入其目录

./configure
make
make install

安装mod_python,由于使用的apache的版本为最新版的2.2.11,所以mod_pyrhon编译的时候会有问题,需要打一个补丁,如果不想打补丁的话,可以安装2.2.4的apache

tar zxvf mod_python-3.3.1.tgz.gz
patch cd mod_python-3.3.1
./configure --with-apxs=/usr/local/apache2/bin/apxs
make
make install

安装MoinMoin

tar zxvf moin-1.8.4.tar.gz
cd moin-1.8.4
python setup.py –quiet install –record=install.log
python setup.py –quiet install –prefix=/usr/local/moin –record=install.log
chmod -R a+rx /usr/local/lib/python2.6/site-packages/MoinMoin/

然后测试安装是否成功

python
import MoinMoin

安装wiki实例
在你的某个目录下创建一个用来存放wiki实力的目录

mkdir wiki
cp -rf /usr/local/share/moin/data ./wiki/
cp -rf /usr/local/share/moin/underlay ./wiki/
cp -rf /usr/local/share/moin/config/wikiconfig.py ./wiki/

然后编辑apache的配置文件

vi /usr/local/apache2/conf/httpd.conf

修改启动所使用的User和Group
然后添加如下代码

#Load Python Module
LoadModule python_module modules/mod_python.so

Alias /moin_static184 “/usr/local/share/moin/htdocs”


Order allow,deny
Allow from all


SetHandler python-program
PythonPath “['/home/luke/wiki/'] + sys.path”
PythonHandler MoinMoin.request.request_modpython::Request.run

修改wiki的配置文件

vi wikiconfig.py

下面的去掉注释

url_prefix_static = ‘/moin_static184′
superuser = [u"luke", ]
acl_rights_before = u”luke:read,write,delete,revert,admin”

启动apache

Linux scp

一般搞计算机的大都会接触Linux的环境,毕竟很多公司的应用都是部署在Linux主机上的,有时候为了安全性,正式环境的主机开放的应用和端口都是非常有限的,这当然是为了安全考虑。
我们一般都是ssh上去的。有时候需要在不同的主机上互相拷贝东西,可以命令行不同于界面,不能像平时那样copy&paste,所以你需要一个命令scp。
SCP的全称是:Secure copy 即安全的文件拷贝。
使用方法如下:

#从本地主机上往host主机拷贝
scp SourceFile user@host:directory/TargetFile
#从host上拷贝到本主机
scp user@host:directory/SourceFile TargetFile

主机和主机之间是加密通信的,非常安全。
此过程可能需要输入user的密码,以用来验证身份。

Python2.6 MD5

在Python2.6的版本里使用MD5加密是很简单的,看下面的代码好了。

1
2
3
4
5
6
7
8
9
10
11
12
# tmd5.py

import hashlib

src = 'pass1234'

m = hashlib.md5()
m.update(src)
dest= m.hexdigest()

print 'source string: ', src
print 'destination string: ', dest

JConsole & JMX

今天用了一会JConsole,原因是自己的那个项目压力测试有问题,然后就要看看压力测试的时候,堆内存,线程数,装载的类的数,和CPU的使用情况等。
要实现这样你得做如下几个工作:
1.在web容器中配置
比如tomcat你需要在catalina.sh中加入下面的内容

1
2
3
4
5
JAVA_OPTS="$JAVA_OPTS "-Dcom.sun.management.jmxremote"
"
-Dcom.sun.management.jmxremote.port=8998"
"
-Dcom.sun.management.jmxremote.authenticate=false"
"
-Dcom.sun.management.jmxremote.ssl=false"
"
-Djava.rmi.server.hostname=10.0.6.90""

然后你就可以启动你的tomcat了。

2.在你本机中
你可以打开JConsole输入10.0.6.90:8998
你就可以看到Tomcat的JVM的使用情况了。