第一天:python学习准备
不想学python,只是想用python做网站。。。- -!
用的是ubuntu 11.04,本来想用windows的。。无奈自己太差劲。。连mysqldb都装不起来。。。
凭印象安装 :apt-get install apache2 mysql-server mysql-client mysql-common
不知道这个apache是什么版本的 – -!
配置文件被分开了。。。httpd.conf是空的,让我们自己恶搞。。*_*
默认:配置文件在:/etc/apache2/,网页在:/var/www, cgi在/usr/lib/cgi-bin【在sites-enabled里面的配置文件看到这个目录】
配置cgi。。网上都说在httpd.conf中加入【/var/cgi-bin是我自己想放cgi的目录】:
ScriptAlias /cgi-bin/ "/var/cgi-bin/" <Directory /var/cgi-bin> Options +ExecCGI AddHandler cgi-script .cgi .pl </Directory>
然后发现都不行。。。。
后来才发现/etc/sites-enabled/000-default文件。。。里面可以看到cgi的配置信息了。。忘记改了什么东西了。。最后就是。。
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny AddHandler cgi-script .cgi .py Allow from all </Directory>
意外收获是
ErrorLog ${APACHE_LOG_DIR}/error.log
原来,错误日志文件在这里啊。然后又不知道那个环境变量是多少。。哎,入门好难。。用locate error.log命令找吧。。速度好快。。。ubuntu用什么存这些文件信息的呢??hash??
日志文件在/var/log/apache2/error.log
然后,写个代码放到cgi目录中试试运行时候发现错。。。
#!/usr/bin/env python import cgitb cgitb.enable() print "Content-Type: text/html" print print "Hello World!"
几番折腾。。发现没权限。。于是chmod 755 hello.py 或者 chmod +x hello.py
然后发现访问这个cgi变成下载了。。
额。。。原来代码中Content写成Context了。。。- -!
在折腾中偶然看到别人说用mod_python好。。。*—*
这是什么东西呢??不懂。。。但是听说mod_wsgi更好。。。
于是继续安装mod_wsgi
下载好mod_wsgi,然后看下README,原来是这么安装的啊。。>_<
进入目录./configure 提示 apxs:command not found,要安装apache的dev包
make的时候提示缺少python.h,readme里面说明,要安装python-dev。。ubuntu还是很方便的,缺什么,apt-get一下就是了。。
安装完之后mod_wsgi.so文件已经到apache2的modules目录了:/usr/lib/apache2/modules
在httpd.conf中加入
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so WSGIScriptAlias /test "/usr/lib/cgi-bin/test.wsgi"
然后编辑文件/usr/lib/cgi-bin/test.wsgi”,代码如下:
def application(environ, start_response): status = '200 OK' output = 'Hello World!' response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))] start_response(status, response_headers) return [output]
。。。。。这里是时间分割线。。。。。。。。
又纠结了好久。。果然对mod_wsgi还不是很理解。。。。。这种跳来跳去的学习方式果然很恶心。。。
等待某一天这些知识可以连贯起来。。。
参考资料【很多忘记记下来,所以就没有了】:
http://www.wsgi.org/wsgi/Learn_WSGI
mod_wsgi的配置:http://healich.iteye.com/blog/727620
http://lucumr.pocoo.org/2007/5/21/getting-started-with-wsgi/
转载请注明: 转载自http://jyd.me/
本文链接地址: 第一天:python学习准备
- 公开了
- 第二天:登录验证
python居然能做网站,这个强大了,回去得看下。
@zz O(∩_∩)O……听说豆瓣是用python写的……