aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books/handbook/network-servers
diff options
context:
space:
mode:
authorFukang Chen <loader@FreeBSD.org>2008-04-02 16:28:58 +0000
committerFukang Chen <loader@FreeBSD.org>2008-04-02 16:28:58 +0000
commit705126934b412c3cf588f2167fd1a10479072029 (patch)
tree65d7b57894ae6e17e6119a33161fbb5d39513004 /zh_CN.GB2312/books/handbook/network-servers
parentdebb7a129856fe6ef89b5ec79429fd3ed3e2a678 (diff)
Notes
Diffstat (limited to 'zh_CN.GB2312/books/handbook/network-servers')
-rw-r--r--zh_CN.GB2312/books/handbook/network-servers/chapter.sgml105
1 files changed, 89 insertions, 16 deletions
diff --git a/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml b/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml
index e1ded3fe92..df583e762d 100644
--- a/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
- Original Revision: 1.102
+ Original Revision: 1.103
$FreeBSD$
-->
@@ -3641,17 +3641,91 @@ DocumentRoot /www/someotherdomain.tld
</sect3>
<sect3>
- <title>使用 Perl &amp; PHP 的动态网站</title>
- <para>在过去几年中, 越来越多的企业开始通过
- Internet 以期扩大它们的收入和影响。 这也为交互式
- web 内容提出了更多的要求。 尽管一些公司, 如 &microsoft;,
- 提供了基于它们专有产品的解决方案,
- 但开源社区也给出了自己的答案。 目前, 最为常用的动态 web
- 内容实现两种方法是
- <application>mod_perl</application> &amp;
- <application>mod_php</application>。</para>
+ <title>语言绑定</title>
+
+ <para>Apache对于一些主要的脚本语言都有相应的模块。
+ 这些模块使得完全使用某种脚本语言来写
+ <application>Apache</application> 模块成为可能。
+ 他们通常也被嵌入到服务器作为一个常驻内存的解释器,
+ 以避免启动一个外部解释器对于下一节将描述的动态网站所需时间和资源上的开销。
+ </para>
+ </sect3>
+ </sect2>
- <sect4>
+ <sect2>
+ <title>动态网站</title>
+
+ <indexterm><primary>web servers</primary>
+ <secondary>dynamic</secondary></indexterm>
+
+ <para>在过去的十年里,越来越多的企业为了增加收益和暴光率而转向了互联网。
+ 这也同时增进了对于互动网页内容的需求。有些公司,比如 &microsoft;
+ 推出了基于他们专有产品的解决方案,开源社区也做出了积极的回应。
+ 比较时尚的选择包括 Django,Ruby on Rails,
+ <application>mod_perl</application>, and
+ <application>mod_php</application>.</para>
+
+ <sect3>
+ <title>Django</title>
+
+ <indexterm><primary>Python</primary></indexterm>
+ <indexterm><primary>Django</primary></indexterm>
+
+ <para>Django 是一个以 BSD 许可证发布的 framework,
+ 能让开发者快速写出高性能高品质的 web 应用程序。
+ 它提供给一个对象关系映射组件,数据类型可以被当 Python
+ 中的对象,和一组丰富的动态数据库访问 API,
+ 使开发者避免了写 SQL 语句。它同时还提供了可扩展的模板系统,
+ 让应用程序的逻辑部分与 HTML 的表现层分离。</para>
+
+ <para>Django 依赖与 <application>mod_python</application>,
+ <application>Apache</application>, and 一个可选的 SQL
+ 数据库引擎。 在设置了一些恰当的标志后,FreeBSD 的 Port
+ 系统将会帮助你安装这些必需的依赖库。</para>
+
+ <example id="network-www-django-install">
+ <title>安装 Django,Apache2, mod_python3,和 PostgreSQL</title>
+
+ <screen>&prompt.root; <userinput>cd /usr/ports/www/py-django; make all install clean -DWITH_MOD_PYTHON3 -DWITH_POSTGRESQL</userinput></screen>
+ </example>
+
+ <para>在安装了 Django 和那些依赖的软件之后,
+ 你需要创建一个 Django 项目的目录,然后配置
+ Apache,当有对于你网站上应用程序的某些指定的 URL
+ 时调用内嵌的 Python 解释器。</para>
+
+ <example id="network-www-django-apache-config">
+ <title>Django/mod_python 有关 Apache 部分的配置</title>
+
+ <para>你需要在 Apache 的配置文件
+ <filename>httpd.conf</filename> 加入以下这几行,
+ 把对某些 URL 的请求传给你的 web 应用程序:</para>
+
+ <screen>&lt;Location "/"&gt;
+ SetHandler python-program
+ PythonPath "['/dir/to/your/django/packages/'] + sys.path"
+ PythonHandler django.core.handlers.modpython
+ SetEnv DJANGO_SETTINGS_MODULE mysite.settings
+ PythonAutoReload On
+ PythonDebug On
+&lt;/Location&gt;</screen>
+ </example>
+ </sect3>
+
+ <sect3>
+ <title>Ruby on Rails</title>
+
+ <indexterm><primary>Ruby on Rails</primary></indexterm>
+
+ <para>Ruby on Rails 是另外一个开源的 web framework,
+ 提供了一个全面的开发框架,能帮助 web
+ 开发者工作更有成效和快速写出强大的应用。
+ 它能非常容易的从 posts 系统安装。</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/ports/www/rubygem-rails; make all install clean</userinput></screen>
+ </sect3>
+
+ <sect3>
<title>mod_perl</title>
<indexterm>
@@ -3680,10 +3754,10 @@ DocumentRoot /www/someotherdomain.tld
来安装。
<application>mod_perl</application> 2.0 则可以通过
<filename role="package">www/mod_perl2</filename> 安装。</para>
- </sect4>
+ </sect3>
- <sect4>
- <sect4info>
+ <sect3>
+ <sect3info>
<authorgroup>
<author>
<firstname>Tom</firstname>
@@ -3691,7 +3765,7 @@ DocumentRoot /www/someotherdomain.tld
<contrib>Written by </contrib>
</author>
</authorgroup>
- </sect4info>
+ </sect3info>
<title>mod_php</title>
<indexterm>
@@ -3780,7 +3854,6 @@ DocumentRoot /www/someotherdomain.tld
来令其适应新的配置变更:</para>
<screen>&prompt.root; <userinput>apachectl graceful</userinput></screen>
- </sect4>
</sect3>
</sect2>
</sect1>