创建网站和配置

E2EE的开发主要遵循配置和约定。

E2EE同时支持 中文英文 两种风格的网站搭建。

注意中文和英文风格只能二选一,确定使用中文还是英文主要看您的 配置文件名称 。 中文 时配置文件名称为 配置.conf,表示中文命名风格,所有的默认目录和配置内容将以中文为主。同理 英文 配置文件名则为 config.conf


使用E2EE建站首先得创建约定的基础目录和扩展目录,然后在网站配置文件中做对应的配置。这样您就可以直接使用E2EE了。

为了省去您手动创建目录和配置的过程,这里为您提供了空网站模板的下载:

本章节索引:

  1. 创建目录
  2. 网站配置文件说明
  3. 具体配置项说明

接下来咱们看看正常的网站创建过程吧。


1. 创建目录

以下出现[英]标注的均为英文名称。目录名称在配置文件中既为配置名称。

1.1 创建基础目录


在您的新网站目录下,至少需要创建以下几个基础目录:

[网页]

[英] web

存放静态网页和图片等。当客户请求进入后没有匹配到路径处理函数,就会在当前目录中寻找对应路径的文件返回给客户浏览器。

[模板]

[英] tpl

存放网页渲染用到的模板文件。

[日志]

[英] log

服务器产生的启动日志,错误日志等都会存放在这里。

服务器运行时会产生三个日志文件,分别为:

1.2 创建扩展目录


扩展目录可根据您的需要创建。

[临时]

[英] temp

存储 用户上传的文件 和 用户Session信息 等。

当前临时文件主要有两类:

[模块]

[英] module

存放模块容器服务器网站目录。

当您的网站采用模块化开发时或者调用第三方网站容器作为模块时,请将对应网站根目录放到当前目录下。

例如:

将示例项目 留言本 功能,挂接到您的主服务器下作为服务器的容器运行时。

需要将“留言本”目录整个网站拷贝到模块目录下,然后在程序中通过 主服务器.加载模块 (留言本服务器 (), “留言本”, “/guestbook/”) 注册,其中“留言本”参数就为功能在当前目录下的目录名。

[配置]

[英] conf

存储 SSL证书、自定义MIMEMAP和您的自定义配置文件 等。

您也可以将您的数据库配置,功能参数等 存放在此目录下。通过网站配置文件中的“包含文件”项自动加载到服务器配置中,您可以通过 服务器.取配置项() 直接取到对应的值。

2. 网站配置文件说明

中文配置文件名为:配置.conf

英文风格文件名为:config.conf

配置文件存放在网站根目录下,允许使用ASCII和UTF8等编码格式。

注意:配置项的名称 和 默认目录名 使用中文还是英文,完全由配置文件名来决定。

2.1 配置文件的格式


配置文件格式非常简单:

[配置项名称]:    [值]

配置项名称和值之间,可以包含 空格 或 制表符,用以对齐配置内容,让配置文件更适合阅读。您也可以在配置项前一行附加说明信息,说明信息以一个“#”开头,内容格式随意,但必须占用单独的一行。

实际配置格式内容可以看下面这段例子:

## 服务器IP和端口绑定 ##
IP:         *
端口:     8080

2.2 配置约定


配置项名称 和 几种类型的文件存储位置 之间有一层默认约定,这个约定非常重要。主要如下:

2.3 配置类型


配置项的值主要有以下几种类型:

例如以下示例的配置分别对应这几种类型:

编码:         UTF-8
超时时间:       50
上传:         真

2.4 配置值自定义路径


配置值支持路径定义,您可以在自定义配置文件中或者自定义配置项中使用以下格式:

[配置项名称]: {{> [文件相对路径] }}

文件相对路径 为相对于网站或者当前所在模块根目录的路径。

例如您的网站根目录为 C:/www/,使用如下配置:

数据库路径: {{ /配置/SQLite.db }}

最终您取到的配置项结果为: C:/www/配置/SQLite.db

同理在模块中也是如此。如果您的模块所在位置为 C:/www/模块/留言本/

使用上面配置最终取到的配置结果为: C:/www/模块/留言本/配置/SQLite.db

2.5 配置文件使用说明


所有配置项在服务端内部均已经存在默认值。

如果使用配置项默认值,您可以省去在配置文件中做配置。

基于这点也就意味着服务端可以在无任何配置文件的环境中直接运行。

3. 具体配置项说明

具体的配置项分为 基础配置项 和 不同功能的配置项 。

以下出现[英]标注后边均为英文风格的名称。[文本型/整数型/逻辑型]代表对应的内容类型。

3.1 基础配置项


[网站名称]

[文本型] [] website-name

网站的名称。

默认:<空>

[IP]

[文本型] [] ip

服务器绑定的IP。如果为“*”或者“0.0.0.0”则绑定所有的网卡IP。

默认:*

[端口]

[整数型] [] port

服务器端口。

默认:80

默认的网站端口主要有两个:

如果为默认端口,则客户浏览器访问的时候不需要携带端口信息。

例如以下网址分别请求时对应80和443端口:

http://127.0.0.1/
https://127.0.0.1/

如果设置的不是默认端口,则客户访问必须携带端口信息。例如以下网址会分别访问8080和8081端口:

http://127.0.0.1:8080/
https://127.0.0.1:8081/

[名称]

[文本型] [] name

服务器名称。

默认:StoneEE Server 1.0

SSL密码文本,为空则表示无密码。

[编码]

[文本型] [] encode

网站编码格式。

默认:UTF-8

[超时时间]

[整数型] [] timeout

请求超时时间(秒)。0为不设置超时。

默认:0

[上传]

[逻辑型] [] upload

是否开启上传。

默认:真

[上传尺寸]

[整数型] [] upload-maxsize

上传文件尺寸限制。0为不设置。

默认:0

[上传类型]

[文本型] [] upload-type

上传文件允许文件类型(文件后缀-不带“.”)。

默认:jpg;png;gif;txt;xls;xlsx;doc;docx;ppt;pptx

[上传失败跳转]

[文本型] [] upload-redirect

上传文件失败后跳转的URL相对路径(相对“网页”目录)。

默认:/404.html

[GZIP]

[逻辑型] [] gzip

是否开启GZip压缩的支持。如果开启则小于128K的文件会被自动进行GZip压缩传输。

默认:真

[GZIP忽略类型]

[文本型] [] gzip-skip-type

不进行GZip的文件类型(文件后缀-不带“.”)。由于有些文件已经做过压缩,所以不需要再次进行GZip压缩。

默认:jpg;jpeg;jpe;png;zip;7z;rar;gz;tar

[HTTP2]

[逻辑型] [] http2

暂未支持

[SPDY]

[逻辑型] [] spdy

暂未支持

[MIMEMAP]

[文本型] [] mimemap

自定义的MIMEMAP配置文件路径(相对于“配置”目录)。服务器已经内置了大部分常用 MIME 信息,如果是自定义文件,可以考虑增加对应的MIMEMAP文件。具体的MIMEMAP格式跟当前配置格式一样,配置项和值分别为:[带“.”的文件后缀名]:[MIME名称]。

默认:MIMEMAP.conf([英]mimemap.conf)

想了解MIME是什么可以点击这里

[SESSION名称]

[文本型] [] session-name

Session的名称。用于作为临时Cookie的名称传递给用户时使用。

默认:JSTEESESSID

想了解Session是什么点击这里

想了解Cookie是什么点击这里

[SESSION时间]

[整数型] [] session-time

Session的过期时间(秒)。

默认:1440

3.2 HTTPS配置(SSL)

[SSL]

[逻辑型] [] ssl

是否开启SSL功能。

默认:假

[SSL密匙]

[文本型] [] ssl-key

SSL密匙路径(相对配置目录)。

默认:SSL密匙.key([英]ssl-key.key)

文件后缀:.key

常用文件名: privkey.pem / server.key

[SSL证书]

[文本型] [] ssl-cert

SSL证书路径(相对配置目录)。

默认:SSL证书.cer([英]ssl-cert.cer)

文件后缀:.cer

常用文件名: cert.pem / server.cer

[SSL签名]

[文本型] [] ssl-verify

SSL签名文件。由CA颁发。可以为空。

默认:SSL签名.crt([英]ssl-verify.crt)

文件后缀:.crt

常用文件名: chain.pem / ca.crt

[SSL密码]

[文本型] [] ssl-password

如果证书被加密了,此处为对应的密码。

3.3 目录路径配置


目录路径可以通过以下配置重写。支持相对路径和绝对路径。相对路径时是相对网站根目录的所在路径。

[模板]

[文本型] [] tpl

模板目录位置。

默认:./模板 ([英]./tpl)

[网页]

[文本型] [] web

网页目录位置。

默认:./网页 ([英]./web)

[临时]

[文本型] [] temp

临时目录位置。

默认:./临时 ([英]./temp)

[配置]

[文本型] [] conf

配置目录位置。

默认:./配置 ([英]./conf)

[日志]

[文本型] [] log

日志目录位置。

默认:./日志 ([英]./log)

[模块]

[文本型] [] module

模块目录位置。

默认:./模块 ([英]./module)

3.4 模板和渲染配置


[渲染-默认文档类型]

[文本型] [] render-content-type

默认渲染器渲染网页的输出文档格式(MIME)。

默认:text/html

[渲染-模板更新周期]

[整数型] [] tpl-update-time

模板文件更新检测时间(秒)。客户访问对应的网页时会触发模板是否更新的检测,如果上次检测时间到更新检测时间超过当前设定,则执行模板更新检测,只有模板被改动过才会重新编译模板数据。

默认:3

[模板-默认引擎-后缀]

[文本型] [] tpl-ext

默认模板引擎的文件后缀。如果未来添加了新的模板渲染引擎,将会根据这里的后缀来区分渲染引擎。

默认:.esp

[模板-文件列表页]

[文本型] [] tpl-file-list

显示文件列表的时候的模板文件。“文件列表”的概念请看下面的“文件-开启文件列表”说明。

默认:/tplfilelist.esp

3.5 其他配置


[全局-统一错误页]

[逻辑型] [] global-404

是否使用统一的404页面。如果开启,则模块中出现了404错误将会自动重定向到主服务器的404路径下。

默认:真

[文件-过期检测时间]

[整数型] [] static-file-age

静态文件发送给浏览器的更新周期(秒)。设置后,客户浏览器取到静态文件后,在这个时间范围内刷新页面将不会再次向服务器发起请求,而是使用浏览器缓存的文件数据。

默认:180

[文件-开启文件列表]

[逻辑型] [] access-file-list

是否开启文件列表功能。只有当你的网站做为文件资源服务器的时候,可以开启。开启后,客户访问到 网页 里的目录时,如果不存在首页,则会显示对应目录下的文件列表。

默认:真

[日志-保留天数]

[整数型] [] log-store-days

服务器日志的保留天数。当服务器运行时,超过当前时间之前对应的天数,将会自动删除旧的过期日志文件。如果您要手动维护,只需要将此参数设置为0,这样将不会删除任何日志文件。

默认:15

[日志-保留空日志]

[逻辑型] [] log-store-empty-file

是否保留空的日志文件。当日期变动时,如果日志文件没有任何内容,将不会被保留到历史日志中。

默认:真

[日志-保留系统日志]

[逻辑型] [] log-store-windows-log

是否保留日志到Windows系统日志中。如果开启,则“常规日志”的内容会被推送到Windows系统日志里去,您可以通过系统日志的相关功能查看日志信息。被发送到系统日志中的数据,将不会被上面的“保留天数”配置影响,而是由系统自动做管理。

默认:真

[日志-系统日志名称]

[文本型] [] log-windows-log-name

保留到Windows系统日志的时候,使用的“应用名称”,查看日志时可以根据名称确定是否是当前服务器的日志内容。

默认:E2EE

3.6 页面


页面配置中的文件根目录均为“网页”目录

[网页-首页名称]

[文本型] [] page-default

默认首页的名称。用户请求路径结尾为“/”时,则自动在“网页”目录对应的目录下查找此配置项的名称网页文件做为首页。优先级为从前往后,可以使用“;”来设置多个首页网页名称。

默认:index.htm;index.html;默认.htm;默认.html

[网页-404]

[文本型] [] page-404

404页面的路径(相对“网页”目录)。

默认:/404.html ([英]/404.html)

3.7 附加包含的配置文件


附加包含配置文件,配置文件内容会被服务器自动加入到服务器配置中。

注意:附加配置文件所在的根目录为“配置”目录。

多文件请用“;”分号进行分割,对应的配置文件请放在[配置([英]conf)]目录下,凡是检测存在的文件都会被自动加载。

如果附加的配置文件中存在当前配置文件中存在的配置项,则当前配置中对应值会附加配置替换。

[包含文件]

[文本型] [] include-files

默认: <空>

示例:

包含文件:       数据库.conf;全局配置.conf

3.8 缓存配置

[缓存-启用]

[逻辑型] [] cache-enabled

是否启用页面缓存系统。缓存系统通过缓存策略对指定的订阅函数请求做缓存处理,提高服务器响应能力。

默认: 假

[缓存-类型]

[整数型] [] cache-type

缓存更新策略。

默认: 0

[缓存-默认过期时间]

[整数型] [] cache-expire

缓存的默认过期时间(单位:秒)。

默认: 5

[缓存-最大尺寸]

[整数型] [] cache-max-size

缓存占用内存的最大尺寸(单位:字节)。这里的尺寸并非绝对尺寸,通常实际占用尺寸会比设定最大内存大0.1~0.5倍。多余的空间主要是用来减少内存更新交换次数,提高缓存并发效率。

默认(100MB): 104857600

[缓存-服务器]

[文本型] [] cache-servers

[目前不支持] 缓存服务器地址列表。主要针对 Memcached 或者 Redis 等类型的缓存方案。

默认: <空>