⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boa.texi

📁 用于移植到嵌入式linux系统的boa http服务器
💻 TEXI
📖 第 1 页 / 共 3 页
字号:
\input texinfo   @c -*-texinfo-*-@c %**start of header@setfilename boa.info@settitle The Boa HTTP Daemon@set UPDATED Last Updated: 10 Jan 2003@set COPYPHRASE Copyright @copyright{} 1996-2003 Jon Nelson and Larry Doolittle@set VERSION $Revision: 1.5.2.10 $@paragraphindent asis@iftex@parindent 0pt@end iftex@c @setchapternewpage odd@c %**end of header@iftex@titlepage@title The Boa HTTP Daemon@c @sp 2@end iftex@ifinfoThis file documents Boa, an HTTP daemon for UN*X like machines.@end ifinfo@html<h1 align="center">The Boa HTTP Daemon</h1><center><img src="boa_banner.png"></center>@end html@ifinfo@dircategory Networking@direntry* Boa: (boa).           The Boa Webserver@end direntry@end ifinfo@comment node-name,     next,           previous, up@node Top, Introduction, , (dir)Welcome to the documentation for Boa, a high performanceHTTP Server for UN*X-alike computers, covered by the@uref{Gnu_License,GNU General Public License}.The on-line, updated copy of this documentation lives at@uref{http://www.boa.org/,http://www.boa.org/}@sp 1@center @value{COPYPHRASE}@center @value{UPDATED}, @value{VERSION}@iftex@end titlepage@contents@end iftex@menu* Introduction::* Installation and Usage::* Limits and Design Philosophy::* Appendix:: -- Detailed Node Listing --Installation* Files Used by Boa::* Compile-Time and Command-Line Options::* boa.conf Directives::* Security::Limits and Design Philosophy * Limits::* Differences between Boa and other web servers::* Unexpected Behavior::Appendix * License::* Acknowledgments::* Reference Documents::* Other HTTP Servers::* Benchmarks::* Tools::* Authors::@end menu@comment node-name,     next,           previous, up@node    Introduction, Installation and Usage,top,top@chapter IntroductionBoa is a single-tasking HTTP server.  That means that unliketraditional web servers, it does not fork for each incomingconnection, nor does it fork many copies of itself to handle multipleconnections.  It internally multiplexes all of the ongoing HTTPconnections, and forks only for CGI programs (which must be separateprocesses), automatic directory generation, and automatic filegunzipping.  Preliminary tests show Boa is capable ofhandling several thousand hits per second on a 300 MHz Pentium anddozens of hits per second on a lowly 20 MHz 386/SX.The primary design goals of Boa are speed and security.  Security,in the sense of @emph{can't be subverted by a malicious user,} not@emph{fine grained access control and encrypted communications}.Boa is not intended as a feature-packed server; if you want one of those,check out WN (@uref{http://hopf.math.nwu.edu/}) from John Franks.Modifications to Boa that improve its speed, security, robustness, andportability, are eagerly sought.  Other features may be added if theycan be achieved without hurting the primary goals.Boa was created in 1991 by Paul Phillips (@email{psp@@well.com}).It is now being maintained and enhanced by Larry Doolittle(@email{ldoolitt@@boa.org}) and Jon Nelson(@email{jnelson@@boa.org}).Please see the acknowledgment section for furtherdetails.GNU/Linux is the development platform at the moment, other OS's are known to work.If you'd like to contribute to this effort, contact Larry or Jon via e-mail.@comment node-name,     next,           previous, up@node    Installation and Usage, Limits and Design Philosophy, Introduction,top@chapter Installation and UsageBoa is currently being developed and tested on GNU/Linux/i386.The code is straightforward (more so than most other servers),so it should run easily on most modern Unix-alike platforms.  Recentversions of Boa worked fine on FreeBSD, SunOS 4.1.4, GNU/Linux-SPARC,and HP-UX 9.0.  Pre-1.2.0 GNU/Linux kernels may not work because ofdeficient mmap() implementations.@menu* Installation::* Files Used by Boa::* Compile-Time and Command-Line Options::* Security::@end menu@comment node-name,     next,           previous, up@node Installation,Files Used by Boa,,Installation and Usage@section Installation@enumerate @item Unpack @enumerate  @item Choose, and cd into, a convenient directory for the package.  @item @kbd{tar -xvzf boa-0.94.tar.gz}, or for those of you with an archaic(non-GNU) tar; @kbd{gzip -cd boa-0.94.tar.gz | tar -xvf -}  @item Read the documentation.  Really. @end enumerate @item Build  @enumerate   @item (optional) Change the default SERVER_ROOT by setting the #define    at the top of src/defines.h   @item Type @kbd{./configure}   @item If the configure step was successful, type @kbd{make}   @item Report any errors to the maintainers for resolution, or strike    out on your own.  @end enumerate  @item Configure  @enumerate    @item Choose a server root. For a standard installation, /etc/boa    is often used.   @item Locate the sample configuration file in @emph{examples/boa.conf},    and copy it to the server root (/etc/boa/boa.conf)   @item Choose a user and server port under which Boa can run.  The    traditional port is 80, and user @t{nobody} (create if    you need to) is often a good selection for security purposes.    If you don't have (or choose not to use) root privileges, you    can not use port numbers less than 1024, nor can you switch user id.   @item Choose locations for log files, CGI programs (if any), and    the base of your URL tree. Make sure to create any leading directories.    If you use the ones provided by the, make sure to create /var/log/boa/   @item Set the location of the @t{mime.types} file.   @item Edit @emph{boa.conf} according to your    choices above (this file documents itself).  Read through this file    to see what other features you can configure. @end enumerate @item Start  @itemize   @item Start Boa.  If you didn't build the right SERVER_ROOT into the    binary, you can specify it on the command line with the -c option    (command line takes precedence).    @example    Example: ./boa -c /usr/local/boa    @end example  @end itemize   @item Test  @itemize   @item At this point the server should run and serve documents.    If not, check the error_log file for clues.  @end itemize   @item Install  @itemize   @item Copy the binary to a safe place, and put the invocation into    your system startup scripts.  Use the same -c option you used    in your initial tests.  @end itemize@end enumerate@comment node-name,     next,           previous, up@node    Files Used by Boa, Compile-Time and Command-Line Options, Installation,Installation and Usage@section Files Used by Boa@ftable @file@item boa.conf  This file is the sole configuration file for Boa. The directives in this   file are defined in the DIRECTIVES section. @item mime.types  The MimeTypes <filename> defines what Content-Type Boa will   send in an HTTP/1.0 or better transaction.   Set to /dev/null if you do not want to load a mime types file.  Do *not* comment out (better use AddType!)@end ftable@comment node-name,     next,           previous, up@node    Compile-Time and Command-Line Options, boa.conf Directives, Files Used by Boa,Installation and Usage@section Compile-Time and Command-Line Options@table @var@item SERVER_ROOT@itemx -c The default server root as #defined by @var{SERVER_ROOT} in  @file{defines.h} can be overridden on the command line using the  @option{-c} option.  The server root must hold your local copy of the  configuration file @file{boa.conf}. @example  Example: /usr/sbin/boa -c /etc/boa @end example@end table@comment node-name,     next,           previous, up@node    boa.conf Directives, Security, Compile-Time and Command-Line Options, (top)@section boa.conf DirectivesThe Boa configuration file is parsed with a custom parser.  If itreports an error, the line number will be provided; it should be easyto spot. The syntax of each of these rules is very simple, and theycan occur in any order. Where possible, these directives mimic thoseof NCSA httpd 1.3; I (Paul Phillips) saw no reason to introducegratuitous differences.Note: the "ServerRoot" is not in this configuration file. It can be compiled into the server (see @file{defines.h}) or specified on the commandline with the @command{-c} option. The following directives are contained in the @file{boa.conf} file, and most, but not all, are required. @table @option @item Port <Integer>  This is the port that Boa runs on. The default port for http servers is 80.  If it is less than 1024, the server must be started as root.  @item Listen <IP>  The Internet address to bind(2) to, in quadded-octet form (numbers).    If you leave it out, it binds to all addresses (INADDR_ANY).    The name you provide gets run through inet_aton(3), so you have to  use dotted  quad notation.  This configuration is too important to trust some DNS.       You only get one "Listen" directive,  if you want service on multiple  IP addresses, you have three choices:    @enumerate   @item Run boa without a "Listen" directive:    @itemize @bullet    @item All addresses are treated the same; makes sense if the addresses      are localhost, ppp, and eth0.    @item Use the VirtualHost directive below to point requests to different files.     Should be good for a very large number of addresses (web hosting clients).   @end itemize    @item Run one copy of boa per IP address:    @itemize @bullet     @item Each instance has its own configuration with its own     "Listen" directive.  No big deal up to a few tens of addresses. Nice separation     between clients.    @end itemize  @end enumerate  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -