返回介绍

8.1 Yorserver 介绍

发布于 2024-01-29 22:54:23 字数 3046 浏览 0 评论 0 收藏 0

8.1.1 功能特点

Yorserver是基于Python实现的轻量级WebServer,具备一般WebServer的基本功能,支持Linux i386与x86系统。Yorserver安装、配置都非常简单,其最新版本为1.0.1,具备以下功能特点:

支持自定义response服务及协议版本;

支持Expires及max-age功能;

支持多进程或线程开启;

支持错误页及默认页配置;

支持access_log及error_log配置;

支持gzip压缩配置;

支持安全套连接服务HTTPS;

支持HTTP MIME自定义配置;

支持PHP、Perl、Python脚本cgi访问;

支持配置文件。

Yorserver程序目录结构及功能说明如图8-1所示,“可更改”表示支持配置文件定义,另外需要确保cgi-bin中的CGI文件具备可执行权限,具体操作命令:chmod+x index.pl。

图8-1 Yorserver目录结构

运行:sbin/server.sh start,启动Yorserver服务。

8.1.2 配置文件

Yorserver采用ConfigObj读取配置文件,ConfigObj是一个简单且功能强大的用于读写配置文件的Python应用接口。提供一个简单的编程接口和一个简单的语法配置文件。Yorserver完整的配置文件内容如下:

【/usr/local/yorserver/conf/yorserver.conf】

# server_version: Add response HTTP header server version information.
server_version = "YorServer1.0"
# bind_ip: Allows you to bind yorserver to specific IP addresses.
bind_ip="0.0.0.0"
# port: Allows you to bind yorserver's port, http default 80 and Https 443.
port=80
# sys_version: Add response HTTP header python version information.
sys_version = ""
# protocol_version: Add response HTTP header protocol version.
protocol_version = "HTTP/1.0"
# Expires: Add response HTTP header Expires and Max-age version. format:d/h/m).
Expires="7d"
# Multiprocess: configure yorserver Multi process support(on/off).
Multiprocess="off"
# Multithreading: configure yorserver Multi threading support(on/off).
Multithreading="on"
# DocumentRoot: configure web server document root.
DocumentRoot="/usr/local/yorserver/www"
# page404: configure web server deafult 404 page.
page404="/404.html"
# Indexes: directory list (on/off).
Indexes="off"
# indexpage: configure web server deafult index page.
indexpage="/index.html"
# Logfile: configure web server log file path,disable logs Logfile="".
Logfile="/usr/local/yorserver/logs/access.log"
# errorfile: configure web server error file path.
errorfile="/usr/local/yorserver/logs/error.log"
[gzip]
# gzip: Enable(on) or Disable(off) gzip options.
gzip="on"
# configure compress level(1~9)
compresslevel=1
[ssl]
# ssl: Enable(on) or Disable(off) HTTPS options,port options must configure "443".
ssl="off"
# configure privatekey and certificate pem.
privatekey="/usr/local/yorserver/key/server.key"
certificate="/usr/local/yorserver/key/server.crt"
[cgim]
# cgi_moudle: Enable(on) or Disable(off) cgi support.
cgi_moudle="on"
# cgi_path: configure cgi path,multiple cgi path use ',' delimited,cgi_path in bin directory.
cgi_path='/cgi-bin',
# cgi_extensions: configure cgi file extension.
cgi_extensions="('.cgi','.py','.pl','.php')"
# contentTypes: configure file mime support.
[contentTypes]
css="text/css"
doc="application/msword"
gif="image/gif"
gz="application/x-gzip"
… …

了解Nginx或Apahce配置的人对Yorserver的配置并不会陌生,读者可以尝试通过修改不同参数值,来观察Web服务器与客户端表现出的差异,客户端可以使用HttpWatch工具来跟踪。下面介绍Yorserver各个功能点具体的实现原理及方法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文