一、什么是thttpd
thttpd是一款高性能、轻量级的Web服务器,它的代码量很小,但是性能却非常强劲。thttpd的特点是占用资源少,支持CGI/1.1、FastCGI以及SSL,可在较小的系统上运行,这使得它成为大量嵌入式和嵌入式Linux系统的首要选择。
二、安装和配置thttpd
1、安装:thttpd可以从官网https://acme.com/software/thttpd/下载。
下面是源代码安装过程:
//下载源代码 $ wget https://acme.com/software/thttpd/thttpd-2.29.tar.gz //解压缩 $ tar -zxvf thttpd-2.29.tar.gz //进入目录 $ cd thttpd-2.29 //配置、编译并安装 $ ./configure && make && make install
2、配置:thttpd的配置非常简单,只需修改一个名为thttpd.conf的文件,该文件位于thttpd的安装目录下。下面是一份简单的thttpd.conf配置文件:
dir=/usr/local/www port=80 host=127.0.0.1 user=www-data logfile=/var/log/thttpd.log pidfile=/var/run/thttpd.pid mime_types=( ".html" "text/html" ".txt" "text/plain" ".jpg" "image/jpeg" ".gif" "image/gif" ".png" "image/png" ) cgi_extensions=( ".cgi" ".pl" ".rb" ".py" ) default_type="text/plain" index_files=("index.html" "index.htm") verbose=0
三、使用thttpd
1、静态文件-serving
thttpd的主要目的是为Web浏览器提供静态文件-serving的服务。为此,thttpd通过HTTP协议处理不断到达的请求并将它们用响应发送回请求该服务的浏览器。如果请求的文件存在且可读,则在响应中将包含该文件的内容(静态文件-serving)。同样,如果请求的文件不存在或不可读,则thttpd将返回“404 Not Found”HTTP响应代码。
2、CGI编程
CGI是一种用于Web服务器的协议,用于与基于Web的脚本语言交互。thttpd可使用CGI在Web服务器和一个脚本语言之间传递数据。只需将脚本防止在特定的文件夹中,让thttpd知晓该目录,thttpd就可以访问它并将参数送到脚本中进行处理。下面是一个简单的Perl脚本示例,该脚本位于thttpd的cgi-bin文件夹中:
#!/usr/bin/perl print <<"EOF"; Content-type: text/html\n\nMy CGI Script My CGI Script
Hello, World!
EOF
3、FastCGI编程
FastCGI可用于将CGI脚本运行的时间短化为几毫秒。使用FastCGI可将CGI执行分离为单独的进程,使Web服务器能够增加对多个并发请求的支持,而不用不断地开启和关闭进程。thttpd包含一个可以用于FastCGI脚本的模块,可以使用基于C、C ++、Perl、Ruby等的脚本语言编写FastCGI脚本。
4、SSL加密/解密
SSL是用于对客户端和Web服务器之间进行加密/解密通信的协议。thttpd可使用OpenSSL库(由于一些法律原因,OpenSSL库的一部分“Strong Crypto”代码可能在您所在的国家不可用)来启用加密通信。只需将thttpd.conf文件中的secure进行修改即可。
dir=/usr/local/www port=443 host=127.0.0.1 ssl_cert_file=/path/to/cert.pem ssl_key_file=/path/to/key.pem ssl_enabled=1
四、结语
thttpd虽然看起来非常简单,但却非常强大。实际上,它的强大在于其高度优化的Web服务器代码和每个功能的设计。thttpd已在具有非常高性能要求的许多Web应用程序中使用,如Google搜索引擎、Yahoo!、Red Hat以及其他一些公司,足以说明它的能力以及代表其种类的Web服务器如何促进今天全球性的Web应用程序。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/190865.html