问题描述
- 求大神解答一下linux中boa移植时候出现的问题,谢谢!!
-
我已经按步骤成功安装好boa并且已经成功启动了boa,但是当我用一个网页作为测试(所需要的东西都已经放在了/home/lstadning/boa中了)的时候,在浏览器中输入我linux机的ip地址后,却连不上我设置的index.html这个网页
但是我的设置应该是没错的,错误日志error_log里面出现了这样的一段话:
[08/Oct/2015:11:17:39 +0000] boa: server version Boa/0.94.13 [08/Oct/2015:11:17:39 +0000] boa: server built Oct 8 2015 at 16:55:48. [08/Oct/2015:11:17:39 +0000] boa: starting server pid=8046, port 80 [08/Oct/2015:11:17:42 +0000] request from 192.168.199.193 "GET /favicon.ico HTTP/1.1" ("/home/lstadning/boa/www/favicon.ico"): document open: No such file or directory [08/Oct/2015:11:17:56 +0000] request from 192.168.199.193 "GET / HTTP/1.1" ("/home/lstadning/boa/www/"): document open: No such file or directory [08/Oct/2015:11:17:56 +0000] request from 192.168.199.193 "(null)" ("(null)"): header read: Connection reset by peer
查阅了网上很多资料,有的说要新建favicon.ico这个,我也按照步骤设置了,但是还是出现这个问题。
/www里面有这些文件:下面是我boa.config的设置:
Port 80 User 0 Group 0 ErrorLog /home/lstanding/boa/error_log AccessLog /home/lstanding/boa/access_log ServerName www.your.org.here DocumentRoot /home/lstadning/boa/www UserDir public_html DirectoryIndex index.html DirectoryMaker /usr/lib/boa/boa_indexer KeepAliveMax 1000 KeepAliveTimeout 10 MimeTypes /etc/mime.types DefaultType text/plain CGIPath /bin:/usr/bin:/usr/local/bin Alias /doc /usr/doc ScriptAlias /cgi-bin/ /home/lstanding/cgi-bin/
我的boa弄了一个下午都没有成功在主机上实现,更不要说移植到开发板里面了,希望各路大神能出手相助!!
无限感激!!感谢cjj717938588的指点,修改后boa.conf的具体配置如下:
但是用浏览器输入ip地址还是显示无法打开网页
解决方案
Boa v0.94 configuration file
File format has not changed from 0.93
File format has changed little from 0.92
version changes are noted in the comments
#
The Boa configuration file is parsed with a lex/yacc or flex/bison
generated parser. If it reports an error, the line number will be
provided; it should be easy to spot. The syntax of each of these
rules is very simple, and they can occur in any order. Where possible
these directives mimic those of NCSA httpd 1.3; I saw no reason to
introduce gratuitous differences.
$Id: boa.conf,v 1.25 2002/03/22 04:33:09 jnelson Exp $
The "ServerRoot" is not in this configuration file. It can be compiled
into the server (see defines.h) or specified on the command line with
the -c option, for example:
#
boa -c /usr/local/boa
Port: The port Boa runs on. The default port for http servers is 80.
If it is less than 1024, the server must be started as root.
Port 80
Listen: the Internet address to bind(2) to. If you leave it out,
it takes the behavior before 0.93.17.2, which is to bind to all
addresses (INADDR_ANY). You only get one "Listen" directive,
if you want service on multiple IP addresses, you have three choices:
1. Run boa without a "Listen" directive
a. All addresses are treated the same; makes sense if the addresses
are localhost, ppp, and eth0.
b. Use the VirtualHost directive below to point requests to different
files. Should be good for a very large number of addresses (web
hosting clients).
2. Run one copy of boa per IP address, each has its own configuration
with a "Listen" directive. No big deal up to a few tens of addresses.
Nice separation between clients.
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.
#Listen 192.68.0.5
User: The name or UID the server should run as.
Group: The group name or GID the server should run as.
User root
#Group nogroup
ServerAdmin: The email address where server problems should be sent.
Note: this is not currently used, except as an environment variable
for CGIs.
#ServerAdmin root@localhost
ErrorLog: The location of the error log file. If this does not start
with /, it is considered relative to the server root.
Set to /dev/null if you don't want errors logged.
If unset, defaults to /dev/stderr
#ErrorLog /var/log/boa/error_log
Please NOTE: Sending the logs to a pipe ('|'), as shown below,
is somewhat experimental and might fail under heavy load.
"Usual libc implementations of printf will stall the whole
process if the receiving end of a pipe stops reading."
#ErrorLog "|/usr/sbin/cronolog --symlink=/var/log/boa/error_log /var/log/boa/error-%Y%m%d.log"
AccessLog: The location of the access log file. If this does not
start with /, it is considered relative to the server root.
Comment out or set to /dev/null (less effective) to disable
Access logging.
#AccessLog /var/log/boa/access_log
Please NOTE: Sending the logs to a pipe ('|'), as shown below,
is somewhat experimental and might fail under heavy load.
"Usual libc implementations of printf will stall the whole
process if the receiving end of a pipe stops reading."
#AccessLog "|/usr/sbin/cronolog --symlink=/var/log/boa/access_log /var/log/boa/access-%Y%m%d.log"
UseLocaltime: Logical switch. Uncomment to use localtime
instead of UTC time
#UseLocaltime
VerboseCGILogs: this is just a logical switch.
It simply notes the start and stop times of cgis in the error log
Comment out to disable.
#VerboseCGILogs
ServerName: the name of this server that should be sent back to
clients if different than that returned by gethostname + gethostbyname
#ServerName www.your.org.here
ServerName www.black.com
VirtualHost: a logical switch.
Comment out to disable.
Given DocumentRoot /var/www, requests on interface 'A' or IP 'IP-A'
become /var/www/IP-A.
Example: http://localhost/ becomes /var/www/127.0.0.1
#
Not used until version 0.93.17.2. This "feature" also breaks commonlog
output rules, it prepends the interface number to each access_log line.
You are expected to fix that problem with a postprocessing script.
#VirtualHost
DocumentRoot: The root directory of the HTML documents.
Comment out to disable server non user files.
DocumentRoot /mnt/web/html
UserDir: The name of the directory which is appended onto a user's home
directory if a ~user request is recieved.
#UserDir public_html
DirectoryIndex: Name of the file to use as a pre-written HTML
directory index. Please MAKE AND USE THESE FILES. On the
fly creation of directory indexes can be slow.
Comment out to always use DirectoryMaker
DirectoryIndex /mnt/web/html/index.html
DirectoryMaker: Name of program used to create a directory listing.
Comment out to disable directory listings. If both this and
DirectoryIndex are commented out, accessing a directory will give
an error (though accessing files in the directory are still ok).
#DirectoryMaker /usr/lib/boa/boa_indexer
DirectoryCache: If DirectoryIndex doesn't exist, and DirectoryMaker
has been commented out, the the on-the-fly indexing of Boa can be used
to generate indexes of directories. Be warned that the output is
extremely minimal and can cause delays when slow disks are used.
Note: The DirectoryCache must be writable by the same user/group that
Boa runs as.
DirectoryCache /var/spool/boa/dircache
KeepAliveMax: Number of KeepAlive requests to allow per connection
Comment out, or set to 0 to disable keepalive processing
KeepAliveMax 1000
KeepAliveTimeout: seconds to wait before keepalive connection times out
KeepAliveTimeout 10
MimeTypes: This is the file that is used to generate mime type pairs
and Content-Type fields for boa.
Set to /dev/null if you do not want to load a mime types file.
Do not comment out (better use AddType!)
MimeTypes /etc/mime.types
DefaultType: MIME type used if the file extension is unknown, or there
is no file extension.
DefaultType text/plain
CGIPath: The value of the $PATH environment variable given to CGI progs.
CGIPath /mnt/web/cgi-bin/
SinglePostLimit: The maximum allowable number of bytes in
a single POST. Default is normally 1MB.
AddType: adds types without editing mime.types
Example: AddType type extension [extension ...]
Uncomment the next line if you want .cgi files to execute from anywhere
#AddType application/x-httpd-cgi cgi
Redirect, Alias, and ScriptAlias all have the same semantics -- they
match the beginning of a request and take appropriate action. Use
Redirect for other servers, Alias for the same server, and ScriptAlias
to enable directories for script execution.
Redirect allows you to tell clients about documents which used to exist in
your server's namespace, but do not anymore. This allows you to tell the
clients where to look for the relocated document.
Example: Redirect /bar http://elsewhere/feh/bar
Aliases: Aliases one path to another.
Example: Alias /path1/bar /path2/foo
#Alias /doc /usr/doc
ScriptAlias: Maps a virtual path to a directory for serving scripts
Example: ScriptAlias /htbin/ /www/htbin/
ScriptAlias /cgi-bin/ /mnt/web/cgi-bin/
上面这些是我做的配置:
访问地址是:http://172.168.0.101:8080/snap.html(/mnt/web/html/目录里有文件snap.html)
你按我做的配置试试看吧
解决方案二:
DirectoryIndex 应该指明index.html的绝对路径 例如:/usr/html/index.html
DocumentRoot 指明html文件的存放路径: 例如:/usr/html/
解决方案三:
Boa v0.94 configuration file
File format has not changed from 0.93
File format has changed little from 0.92
version changes are noted in the comments
#
The Boa configuration file is parsed with a lex/yacc or flex/bison
generated parser. If it reports an error, the line number will be
provided; it should be easy to spot. The syntax of each of these
rules is very simple, and they can occur in any order. Where possible
these directives mimic those of NCSA httpd 1.3; I saw no reason to
introduce gratuitous differences.
$Id: boa.conf,v 1.25 2002/03/22 04:33:09 jnelson Exp $
The "ServerRoot" is not in this configuration file. It can be compiled
into the server (see defines.h) or specified on the command line with
the -c option, for example:
#
boa -c /usr/local/boa
Port: The port Boa runs on. The default port for http servers is 80.
If it is less than 1024, the server must be started as root.
Port 80
Listen: the Internet address to bind(2) to. If you leave it out,
it takes the behavior before 0.93.17.2, which is to bind to all
addresses (INADDR_ANY). You only get one "Listen" directive,
if you want service on multiple IP addresses, you have three choices:
1. Run boa without a "Listen" directive
a. All addresses are treated the same; makes sense if the addresses
are localhost, ppp, and eth0.
b. Use the VirtualHost directive below to point requests to different
files. Should be good for a very large number of addresses (web
hosting clients).
2. Run one copy of boa per IP address, each has its own configuration
with a "Listen" directive. No big deal up to a few tens of addresses.
Nice separation between clients.
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.
#Listen 192.68.0.5
User: The name or UID the server should run as.
Group: The group name or GID the server should run as.
User 0
Group 0
ServerAdmin: The email address where server problems should be sent.
Note: this is not currently used, except as an environment variable
for CGIs.
#ServerAdmin root@localhost
ErrorLog: The location of the error log file. If this does not start
with /, it is considered relative to the server root.
Set to /dev/null if you don't want errors logged.
If unset, defaults to /dev/stderr
ErrorLog /home/lstanding/boa/log/error_log
Please NOTE: Sending the logs to a pipe ('|'), as shown below,
is somewhat experimental and might fail under heavy load.
"Usual libc implementations of printf will stall the whole
process if the receiving end of a pipe stops reading."
#ErrorLog "|/usr/sbin/cronolog --symlink=/var/log/boa/error_log /var/log/boa/error-%Y%m%d.log"
AccessLog: The location of the access log file. If this does not
start with /, it is considered relative to the server root.
Comment out or set to /dev/null (less effective) to disable
Access logging.
AccessLog /home/lstanding/boa/log/access_log
Please NOTE: Sending the logs to a pipe ('|'), as shown below,
is somewhat experimental and might fail under heavy load.
"Usual libc implementations of printf will stall the whole
process if the receiving end of a pipe stops reading."
#AccessLog "|/usr/sbin/cronolog --symlink=/var/log/boa/access_log /var/log/boa/access-%Y%m%d.log"
UseLocaltime: Logical switch. Uncomment to use localtime
instead of UTC time
#UseLocaltime
VerboseCGILogs: this is just a logical switch.
It simply notes the start and stop times of cgis in the error log
Comment out to disable.
#VerboseCGILogs
ServerName: the name of this server that should be sent back to
clients if different than that returned by gethostname + gethostbyname
ServerName www.your.org.here
VirtualHost: a logical switch.
Comment out to disable.
Given DocumentRoot /var/www, requests on interface 'A' or IP 'IP-A'
become /var/www/IP-A.
Example: http://localhost/ becomes /var/www/127.0.0.1
#
Not used until version 0.93.17.2. This "feature" also breaks commonlog
output rules, it prepends the interface number to each access_log line.
You are expected to fix that problem with a postprocessing script.
#VirtualHost
DocumentRoot: The root directory of the HTML documents.
Comment out to disable server non user files.
DocumentRoot /home/lstadning/boa/www/
UserDir: The name of the directory which is appended onto a user's home
directory if a ~user request is recieved.
UserDir public_html
DirectoryIndex: Name of the file to use as a pre-written HTML
directory index. Please MAKE AND USE THESE FILES. On the
fly creation of directory indexes can be slow.
Comment out to always use DirectoryMaker
DirectoryIndex /home/lstanding/boa/www/index.html
DirectoryMaker: Name of program used to create a directory listing.
Comment out to disable directory listings. If both this and
DirectoryIndex are commented out, accessing a directory will give
an error (though accessing files in the directory are still ok).
DirectoryMaker /usr/lib/boa/boa_indexer
DirectoryCache: If DirectoryIndex doesn't exist, and DirectoryMaker
has been commented out, the the on-the-fly indexing of Boa can be used
to generate indexes of directories. Be warned that the output is
extremely minimal and can cause delays when slow disks are used.
Note: The DirectoryCache must be writable by the same user/group that
Boa runs as.
DirectoryCache /var/spool/boa/dircache
KeepAliveMax: Number of KeepAlive requests to allow per connection
Comment out, or set to 0 to disable keepalive processing
KeepAliveMax 1000
KeepAliveTimeout: seconds to wait before keepalive connection times out
KeepAliveTimeout 10
MimeTypes: This is the file that is used to generate mime type pairs
and Content-Type fields for boa.
Set to /dev/null if you do not want to load a mime types file.
Do not comment out (better use AddType!)
MimeTypes /etc/mime.types
DefaultType: MIME type used if the file extension is unknown, or there
is no file extension.
DefaultType text/plain
CGIPath: The value of the $PATH environment variable given to CGI progs.
CGIPath /bin:/usr/bin:/usr/local/bin
SinglePostLimit: The maximum allowable number of bytes in
a single POST. Default is normally 1MB.
AddType: adds types without editing mime.types
Example: AddType type extension [extension ...]
Uncomment the next line if you want .cgi files to execute from anywhere
#AddType application/x-httpd-cgi cgi
Redirect, Alias, and ScriptAlias all have the same semantics -- they
match the beginning of a request and take appropriate action. Use
Redirect for other servers, Alias for the same server, and ScriptAlias
to enable directories for script execution.
Redirect allows you to tell clients about documents which used to exist in
your server's namespace, but do not anymore. This allows you to tell the
clients where to look for the relocated document.
Example: Redirect /bar http://elsewhere/feh/bar
Aliases: Aliases one path to another.
Example: Alias /path1/bar /path2/foo
Alias /doc /usr/doc
ScriptAlias: Maps a virtual path to a directory for serving scripts
Example: ScriptAlias /htbin/ /www/htbin/
ScriptAlias /cgi-bin/ /home/lstanding/boa/cgi-bin/
解决方案四:
你输入这个地址试试看:192.168.199.142/index.html