centos 安装 python2.7 运行webpy 项目
1、服务器是centos5,在virtualbox里装的。网络选择桥接,ip与主机在一个网段类。主机ip为xxx.xxx.xxx.69,服务器ip定义为xxx.xxx.xxx.66,GATEWAY与NETMASK与主机相同。
参考:https://www.douban.com/group/topic/15558388/
2、主机能ping通服务器后,我用Xshell登录,主要是为了相互传文件。如下:
配置网关:vim /etc/sysconfig/network
配置dns:vim /etc/resolv.conf
nameserver 10.114.xx.xx
nameserver 10.114.xx.xx
如果能ping通ip,但是不能ping通域名,说明dns未配置好,配置与宿主主机一致。
3、python2.7的安装。参考:http://www.linuxidc.com/Linux/2013-03/81117.htm
安装时报错: no acceptable C compiler found in $PATH
然后。我用python的urllib读取www.baidu.com的页面,报错。原来:办公室的电脑上网是要装上网行为软件。。。
解决办法:用centos镜像里的rpm安装。挂载镜像 - 修改yum的Media源。。。
4、安装好后,安装webpy。jinja2。注意相关模块的安装,pypi的模块可以用国内镜像下载,相当方便和快捷。
大致模块有:
5、安装httpd,service httpd restart后,主机一直不能在网页打开apache首页。原因:防火墙未关,需要service iptables stop。
6、配置好httpd.conf。
LoadModule wsgi_module modules/mod_wsgi.so <VirtualHost *:80> DocumentRoot "/var/www/html/mypy" WSGIScriptAlias / "/var/www/html/mypy/index.py" Alias /static "/var/www/html/mypy/static/" AddType text/html .py <Directory /var/www/html/mypy > Order allow,deny Allow from all </Directory> </VirtualHost>
7、测试代码
1 #!/url/local/bin/python 2 import sys.os 3 ABSPATH = os.path.dirname(__file__) 4 sys.path.append("/usr/local/lib/python2.7/site-packages/") #不加这一行,会报错找不到web模块,目前还没搞懂为什么 5 os.chdir(ABSPATH) 6 7 import web 8 9 urls = ( 10 "/","Index", 11 ) 12 13 class Index(object): 14 def GET(self): 15 return "<h1>This is daivlin first test page</h1>" 16 17 app = web.application(urls,globals()) 18 application = app.wsgifunc()
效果: