Tag Archive: python


今天想把这个搞定,突然发现中文资料少的可怜,所有的文章都是“转载”于一个人,无非就是用Putty里的ssh隧道功能。其实人家说了,必须开https才能远程访问。

运行python web2py.py –help,参数表中关于ssl的有:

-c SSL_CERTIFICATE, –ssl_certificate=SSL_CERTIFICATE
file that contains ssl certificate
-k SSL_PRIVATE_KEY, –ssl_private_key=SSL_PRIVATE_KEY
file that contains ssl private key

看来只要有证书就可以打开ssl连接,参考这篇文章。如果没有其他服务要用这个证书的话,完全可以放在web2py目录里。执行以下命令:

$openssl genrsa -des3 -out server.key 1024
然后输入密码产生一个server.key文件
$ openssl req -new -key server.key -out server.csr
接下来输入一些问题,产生证书,然后就该签名了
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
期间要输入你以前输入的密码。
到这里你就生成了密钥和证书,只要在web2py里把他们载入就可以了。

python web2.py – -ip=xxx.xxx.xxx.xxx  - -port==xxxx – -password=***** -c server.crt -k server.key
启动后还会问你密钥密码,然后从浏览器里访问https://ip:port/就成了。web2py真强大!

好长的标题…我有一个控制Vmware虚拟机的脚本,但是在Windows下正常在Linux下却不能用,当然我不能忍受Windows下虚拟机的速度。
出错的地方在这里:

p = subprocess.Popen(["vmrun", params], shell = True, stdout=subprocess.PIPE)

然后params不能传到vmrun这个命令,虚拟机跑不起来。后来Google了一下,发现是个Bug. 只要把/usr/lib/python-2.6.2/Lib/subprocess.py里第990行改成

args = ["/bin/sh", "-c"] + [" ".join(args)]

就好了。可是我找了半天没找到Ubuntu下Python的test目录在哪里,test_subprocess.py找不到。。。

最近写了个GTalk机器人,就一个脚本,但是我需要它24小时在服务器跑着,于是乎在网上搜不被ssh切断的方法。

你要是想python robot.py & 是不行的,一旦用户登出,脚本就自动退出了。用at, cron也可以实现不过我发现了一个命令

nohup,可以忽略登出的信号,现在只要

nohup python robot.py &
就好了。