- 本书赞誉
- 前言
- 第一部分 基础篇
- 第1章 系统基础信息模块详解
- 第2章 业务服务监控详解
- 第3章 定制业务质量报表详解
- 第4章 Python 与系统安全
- 第二部分 高级篇
- 第5章 系统批量运维管理器 pexpect 详解
- 第6章 系统批量运维管理器 paramiko 详解
- 第7章 系统批量运维管理器Fabric详解
- 第8章 从零开发一个轻量级 WebServer
- 第9章 集中化管理平台 Ansible 详解
- 第10章 集中化管理平台 Saltstack 详解
- 第11章 统一网络控制器 Func 详解
- 第12章 Python 大数据应用详解
- 第三部分 案例篇
- 第13章 从零开始打造 B/S 自动化运维平台
- 第14章 打造 Linux 系统安全审计功能
- 第15章 构建分布式质量监控平台
- 第16章 构建桌面版 C/S 自动化运维平台
8.1 Yorserver 介绍
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论