根据quixote 文档的推荐,使用SCGI方式和webserver 进行互联。
quixote: 2.7b2
mod-scgi: 1.14
Apache2 : 2.xx
OS: ubuntu 10.04
一. 设置apache2 的虚拟主机(基于域名)
假设有以下两个域名:
www.web.com
: 处理quixote 应用
static.web.com : 处理应用涉及到的:图片,js脚本,html,css等静态内容
192.168.5.81: ip地址
虚拟主机的设置请参见: http://wiki.ubuntu.org.cn/Apache%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E6%8C%87%E5%8D%97
配置文件如下:
web:
NameVirtualHost 192.168.5.81
<VirtualHost 192.168.5.81>
ServerName www.web.com
ServerAdmin admin@web.com
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
static:
NameVirtualHost 192.168.5.81
<VirtualHost 192.168.5.81>
ServerName static.web.com
ServerAdmin admin@web.com
DocumentRoot /home/shone/Public/webroot/static
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
把上面两个配置文件放在: /etc/apache2/sites-available/ 目录下,名字分别存为:web和static
使用以下命令:
sudo a2ensite web
sudo a2ensite static
安装好对应的虚拟主机,即可在 /etc/apache2/sites-enabled/ 目录中发现多了两个到 /etc/apache2/sites-available/ 目录对应文件的软链接.
sudo /etc/init.d/apache2 restart 即可使虚拟主机生效
二. 在apache2中添加 mod-scgi:
下载mod-scgi 1.14: http://python.ca/scgi/releases/scgi-1.14.tar.gz
解压缩该文件,参看readme.txt ,安装对应的python 模块,
编译 mod-scgi.so ,根据你的环境,可能还需要安装gcc等...
把生成的mod-scgi.so拷贝到:/usr/lib/apache2/modules/ 目录
在/etc/apache2/ 目录的httpd.conf 文件中添加:
LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so
打开 /etc/apache2/sites-available/web 文件:
在servername 行后添加如下:
SCGIMount / 127.0.0.1:4000
编辑后的文件如下:
web:
NameVirtualHost 192.168.5.81
<VirtualHost 192.168.5.81>
ServerName www.web.com
SCGIMount / 127.0.0.1:4000
ServerAdmin admin@web.com
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
详细请参考:scgi压缩包中的doc 目录中的guide.html..(quixote 文档中 ,server.html写的scgi配置方式,已不推荐使用)
改完配置,别忘了restart apache2。
在这个配置这个过程中,曾经走过一段弯路:
一开始,把
SCGIMount / 127.0.0.1:4000
这一句放到了 httpd.conf文件中,也就是说,放到了virtualhost的外面,
结果导致:不能把 根(也就是: /) 映射过去,必须要带一个目录,只能配置成如下形式:
SCGIMount /somefolder/ 127.0.0.1:4000
访问应用,必须要带个somefolder 之类的目录,不爽了很久。
到了这一步,剩下的任务就是编写quixote应用了,待续...
分享到:
相关推荐
"Quixote"这个名字源于西班牙文学巨匠塞万提斯的经典小说《堂吉诃德》(Don Quixote),在IT领域中,它可能是指一个特定的项目、工具或者技术。不过,由于提供的信息有限,无法确定具体是哪个IT相关的"Quixote"。...
作为"前端项目"的标签,我们可以推测这是一个完整的Web应用程序开发实例,包括了项目结构、配置文件、源代码、测试用例等。良好的前端项目管理应该遵循模块化、可扩展性和可维护性的原则,使用版本控制工具(如Git)...
《堂吉诃德》是西班牙作家米格尔·德·塞万提斯·萨阿韦德拉的代表作,被誉为现代小说的奠基之作。这部作品通过主人公堂吉诃德的冒险经历,对骑士道精神进行了讽刺与批判,同时也展示了当时社会的各种风貌。约翰·...
总的来说,Quixote是一个Python库,专注于分布式系统和云原生环境,它可能提供了与Apache ZooKeeper集成的接口和工具,使得在Python中处理分布式协调变得更加简单。通过下载并使用Quixote,开发者能够利用其提供的...
首先,Django是Python中最广泛使用的Web框架之一,被誉为“ batteries included ”的框架,因为它包含了处理Web开发所需的各种功能,如ORM(对象关系映射)、模板系统、内置的管理界面以及强大的表单处理。...
- **数据库**:MySQL 5,全球最流行的开源数据库之一,能够适应不同的读写需求。 - **Web框架**:Quixote,一种简单轻量的Python Web框架。 - **Web服务器**:Lighttpd + SCGI,用于处理静态和动态内容。 - **缓存...
《PyPI官网下载 | etna_quixote-1.0.8-py3-none-any.whl》 在Python的世界中,PyPI(Python Package Index)是官方的第三方库仓库,它为开发者提供了一个集中地发布和获取Python软件包的平台。资源“etna_quixote-...
Quixote-CSS单元和集成测试 ... 例如,您可以测试一个元素是否在另一个元素下面,或一个元素与浏览器的视口的比较方式。 测试示例: // 'frame' is the Quixote test frame. See below for complete examples. var he
吉x德关于Quixote是为提供支持的搜索服务, 是一个网络应用程序,可使通过本地和独立书商快速便捷地搜索书籍。API端点所有请求/响应的Content-Type是application / JSON。 方法小路回复得到/ books /?field = value...
使用了单核AMD Athlon 64处理器,1G内存,两个160GB的SATA磁盘,运行MySQL 5,采用Python开发框架Quixote,并使用Lighttpd作为Web服务器,以及SCGI(Simple Common Gateway Interface)技术进行请求分发。...
python常见面试题集全文共7页,当前为第1页。python常见面试题集全文共7页,当前为...1:Django 2:Tornado 3:Bottle 4:web.py 5:web2py 6:Quixote(豆瓣网就是基于该框架开发的) 4、python几种流行框架的比较 htt
3. Tornado:Tornado是一个Web服务器框架及微框架,它以非阻塞的方式提供事件驱动的网络处理,适用于需要高并发的应用场景。 4. Karrigell:这是一个简单的Web框架,自带Web服务和脚本引擎,支持纯Python数据库...
5. **2/3D 图形处理及游戏开发:** PIL 和 pyGame 等库可用于图形处理和游戏开发。 6. **文档处理与科学计算:** moinmoin 和 numpy 等工具用于文档管理和科学计算。 7. **Web 应用开发:** Django、ZOPE、web.py 和...