求大神解答一下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的具体配置如下:
1
2
3
4
5
6
7
但是用浏览器输入ip地址还是显示无法打开网页

4个回答

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)

你按我做的配置试试看吧

MrQkeil
MrQkeil 前辈们,借楼问个问题 boa服务器启动时出现:[27/May/2018:00:52:44 +0000] boa.c:194 - unable to bind: Address already in use > > * * * * * *1. 这怎么解决啊?看了下boa源码,有个函数是关于地址绑定的,但是我没找到那个函数!求大佬们给个解决方法,谢谢谢谢。。。。。。!
2 年多之前 回复
cjj717938588
c风子 回复L-Standing: 不客气 没帮上忙
接近 5 年之前 回复
sinat_18304401
L-Standing 感谢你的帮助,但是还是出现网页无法显示的问题。应该是我一些别的设置错了或者是哪个步骤不对,我会再重新找出我的问题的。谢谢你!
接近 5 年之前 回复

DirectoryIndex 应该指明index.html的绝对路径 例如:/usr/html/index.html
DocumentRoot 指明html文件的存放路径: 例如:/usr/html/

qq_30103483
小师life 回复L-Standing: 前辈,我刚刚使用IE,然后把IE调成兼容性视图然后就出来了,谢谢前辈您发的问题贴
4 年多之前 回复
qq_30103483
小师life 回复L-Standing: 您有将这个问题解决了吗?
4 年多之前 回复
sinat_18304401
L-Standing 回复cjj717938588: 配置已经更新到提问里面了,麻烦您指点
接近 5 年之前 回复
cjj717938588
c风子 回复L-Standing: 你的配置发给我看看
接近 5 年之前 回复
sinat_18304401
L-Standing 改了之后,浏览器上输入ip地址192.168.199.142后还是无法显示网页o.O
接近 5 年之前 回复

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

sinat_18304401
L-Standing 还是不能显示
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐