`
shonelau
  • 浏览: 17026 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

quixote 学习笔记之一: apache2 及 scgi的配置

阅读更多

根据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应用了,待续...

 

 

 

0
0
分享到:
评论

相关推荐

    Quixote

    "Quixote"这个名字源于西班牙文学巨匠塞万提斯的经典小说《堂吉诃德》(Don Quixote),在IT领域中,它可能是指一个特定的项目、工具或者技术。不过,由于提供的信息有限,无法确定具体是哪个IT相关的"Quixote"。...

    前端项目-quixote.zip

    作为"前端项目"的标签,我们可以推测这是一个完整的Web应用程序开发实例,包括了项目结构、配置文件、源代码、测试用例等。良好的前端项目管理应该遵循模块化、可扩展性和可维护性的原则,使用版本控制工具(如Git)...

    miguel-de-cervantes-saavedra_don-quixote_john-ormsby:Miguel de Cervantes撰写的Don Quixote标准电子书版本的Epub来源。 约翰·奥姆斯比(John Ormsby)翻译

    《堂吉诃德》是西班牙作家米格尔·德·塞万提斯·萨阿韦德拉的代表作,被誉为现代小说的奠基之作。这部作品通过主人公堂吉诃德的冒险经历,对骑士道精神进行了讽刺与批判,同时也展示了当时社会的各种风貌。约翰·...

    PyPI 官网下载 | Quixote-3.1a1.tar.gz

    总的来说,Quixote是一个Python库,专注于分布式系统和云原生环境,它可能提供了与Apache ZooKeeper集成的接口和工具,使得在Python中处理分布式协调变得更加简单。通过下载并使用Quixote,开发者能够利用其提供的...

    python 的django,quixote,uliweb三个web框架

    首先,Django是Python中最广泛使用的Web框架之一,被誉为“ batteries included ”的框架,因为它包含了处理Web开发所需的各种功能,如ORM(对象关系映射)、模板系统、内置的管理界面以及强大的表单处理。...

    豆瓣的成长路线.pdf

    - **数据库**:MySQL 5,全球最流行的开源数据库之一,能够适应不同的读写需求。 - **Web框架**:Quixote,一种简单轻量的Python Web框架。 - **Web服务器**:Lighttpd + SCGI,用于处理静态和动态内容。 - **缓存...

    PyPI 官网下载 | etna_quixote-1.0.8-py3-none-any.whl

    《PyPI官网下载 | etna_quixote-1.0.8-py3-none-any.whl》 在Python的世界中,PyPI(Python Package Index)是官方的第三方库仓库,它为开发者提供了一个集中地发布和获取Python软件包的平台。资源“etna_quixote-...

    quixote:CSS单元和集成测试

    Quixote-CSS单元和集成测试 ... 例如,您可以测试一个元素是否在另一个元素下面,或一个元素与浏览器的视口的比较方式。 测试示例: // 'frame' is the Quixote test frame. See below for complete examples. var he

    quixote:为CityShelf提供支持的搜索服务

    吉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常见面试题集.docx

    python常见面试题集全文共7页,当前为第1页。python常见面试题集全文共7页,当前为...1:Django 2:Tornado 3:Bottle 4:web.py 5:web2py 6:Quixote(豆瓣网就是基于该框架开发的) 4、python几种流行框架的比较 htt

    python常用框架及第三方库

    3. Tornado:Tornado是一个Web服务器框架及微框架,它以非阻塞的方式提供事件驱动的网络处理,适用于需要高并发的应用场景。 4. Karrigell:这是一个简单的Web框架,自带Web服务和脚本引擎,支持纯Python数据库...

    python基础归纳

    5. **2/3D 图形处理及游戏开发:** PIL 和 pyGame 等库可用于图形处理和游戏开发。 6. **文档处理与科学计算:** moinmoin 和 numpy 等工具用于文档管理和科学计算。 7. **Web 应用开发:** Django、ZOPE、web.py 和...

Global site tag (gtag.js) - Google Analytics