Ubuntu 16的boa web服务器搭建

合集下载

在arm开发板上部署boa服务器

在arm开发板上部署boa服务器

在arm开发板上部署boa服务器2009-08-20 14:22:12| 分类:编程笔记|字号订阅里面所有的步骤都确定完成过,但是可能遗漏了一些步骤,有待重部署一次来验证,补充,--------------------------------------一,下载/二,解压# tar xzf boa-0.94.13.tar.gz三,编译# cd boa-0.94.13/src# ./configure生成了makefile文件,修改makefile文件,把其中的CC CPP改为:CC = arm-linux-gccCPP = arm-linux-g++然后make# make删除调试信息(可以不做,目的是减小文件大小):# arm-linux-strip boa四,修改配置从boa根目录找到boa.conf文件,修改如下项目:User nobody (可以不修改)Group nogroup 改为:Group 0ErrorLog /var/log/boa/error_log (错误日志文件)AccessLog /var/log/boa/access_log (访问日志文件,可以用#注释掉这行,表示不要这个日志)ServerName (服务器地址)DocumentRoot /var/www (html文件主路径)MimeTypes /etc/mime.types (mime.types文件)更多配置,可以参见:/u1/34076/showart_268366.html五,配置开发板1,复制boa的可执行文件到开发板,(如/usr/local/bin/ 目录)2,在开发板上建文件夹# mkdir /var/www/ ,并放一个简单的index.html 测试文件进去# mkdir /var/log/boa ,用来存放access_log error_log3,复制之前修改好的boa.conf文件到/etc/boa/boa.conf4,复制自己pc(我的是ubuntu)上的mime.types文件,到/etc/mime.types上六,运行boa# boa-----------------------------------------------------------------------------------------------------------------更多说明:一,运行正确以上6步后,应该能通过其它电脑的浏览器,访问到/var/www/index.html页面二,如果执行时候有错误:# ./boa[27/Nov/1990:13:22:25 + 0000]boa.c:266.icky Linux kernel bug!:No such fileBae将User 0修改成User nobodyBae三,在板子上方放的cgi程序,html文件,一定要把权限修改对,修改成755四,一个简单的cgi测试程序:(来自:/viewthread.php?tid=83&highlight=cgi)1,html文件:-------------------------------------<html><head><title>CGI Testing</title></head><body><table width="200" height="180" border="0" style="font-size:12px"><tr><td><div style="font-weight:bold; font-size:15px">Method: GET</div><div>lease input two number:<div><form method="get" action="./cgi-bin/get"><input type="txt" size="3" name="a">+<input type="txt" size="3" name="b">=<input type="submit" value="sum"></form></td></tr><tr><td><div style="font-weight:bold; font-size:15px">Method: POST</div><div>lease input two number:<div><form method="post" action="./cgi-bin/post"><input type="txt" size="3" name="m">*<input type="txt" size="3" name="n">=<input type="submit" value="resu"></form></td></tr><tr><td><inputtype="button" value="BackHome"onclick='javascript:window.location="./index.html"'></td></tr></table></body></html>------------------------------2,get.c :------------------------------#include <stdio.h>#include <stdlib.h>int main(void){char *data;char a[10],b[10];printf("Content-Type:text/html\n\n");printf("<HTML>\n");printf("<HEAD>\n<TITLE >Get Method</TITLE>\n</HEAD>\n");printf("<BODY>\n");printf("<div style=\"font-size:12px\">\n");data = getenv("QUERY_STRING");if(sscanf(data,"a=%[^&]&b=%s",a,b)!=2){printf("<DIV STYLE=\"COLOR:RED\">Errorarameters should be entered!</DIV>\n"); }else{printf("<DIV STYLE=\"COLOR:GREEN; font-size:15px;font-weight:bold\">a + b= %d</DIV>\n",atoi(a)+atoi(b));}printf("<HR COLOR=\"blue\" align=\"left\" width=\"100\">");printf("<input type=\"button\" value=\"Back CGI\"onclick=\"javascript:window.location='../cgi.html'\">");printf("</div>\n");printf("</BODY>\n");printf("</HTML>\n");return 0;}------------------------------3,post.c:------------------------------#include <stdio.h>#include <stdlib.h>int main(void){int len;char *lenstr,poststr[20];char m[10],n[10];printf("Content-Type:text/html\n\n");printf("<HTML>\n");printf("<HEAD>\n<TITLE >ost Method</TITLE>\n</HEAD>\n");printf("<BODY>\n");printf("<div style=\"font-size:12px\">\n");lenstr=getenv("CONTENT_LENGTH");if(lenstr == NULL){printf("<DIV STYLE=\"COLOR:RED\">Errorarameters should be entered!</DIV>\n"); }else{len=atoi(lenstr);fgets(poststr,len+1,stdin);if(sscanf(poststr,"m=%[^&]&n=%s",m,n)!=2){printf("<DIV STYLE=\"COLOR:RED\">Error: Parameters are not right!</DIV>\n");}else{printf("<DIV STYLE=\"COLOR:GREEN; font-size:15px;font-weight:bold\">m * n = %d</DIV>\n",atoi(m)*atoi(n));}}printf("<HR COLOR=\"blue\" align=\"left\" width=\"100\">");printf("<input type=\"button\" value=\"Back CGI\"onclick=\"javascript:window.location='../cgi.html'\">");printf("</div>\n");printf("</BODY>\n");printf("</HTML>\n");fflush(stdout);return 0;}------------------------------4,把两个c程序编译完成,复制到开发搬上,通过其它pc访问测试html页面,调用这两个cgi,其中如果出现:502 Bad Gateway The CGI was not CGI/1.1 compliant.错误,有可能是如下原因:(1)将.cgi文件拷贝至目标板上后,必须改变其权限chmod 755 *(2)测试程序中“//“的问题。

Ubuntu怎样安装和配置Webalizer

Ubuntu怎样安装和配置Webalizer

Ubuntu怎样安装和配置Webalizerwebalizer是一个web服务器日志分析程序,那么Ubuntu怎样安装和配置Webalizer呢?下文店铺就分享了Ubuntu安装和配置Webalizer的方法,希望对大家有所帮助。

Ubuntu安装和配置Webalizer方法Webalizer需要Apache网站服务器软件安装在Linux系统上,因为它要读取和解析Apache错误日志,从而分析流量。

如果Apache之前没有安装在你的系统上,你试图看一看webalizer是如何工作的,那么启动终端,运行下面这个命令,即可将Apache安装在你的Ubuntu上:sudo apt-get install apache一旦Apache安装完毕,运行下面这个命令来启动它。

sudo /etc/init.d/apache2 start现在启动你的浏览器,装入http://localhost,核实http在正常运行,它应该会显示诸如此类的页面:Apache默认页面注意:默认情况下,Apache的文档根目录是/var/www/html/,所以你需要把脚本放在这个位置,那样Apache网站服务器就能提供这些脚本。

由于Apache已安装在我们的Ubuntu系统上并运行起来,现在运行下面这个命令,安装webalizer。

sudo apt-get install webalizer恭喜你,webalizer已安装完毕。

现在我们需要配置它。

配置webalizer你可能也注意到,在安装过程中,webalizer目录已经创建在/var/www/路径上,我们需要把它移到/var/www/html,那样Apache才能顺利该目录。

在终端上运行下面这个命令来完成这项任务。

sudo mv /var/www/webalizer /var/www/html/现在编辑Webalizer配置文件,为那里的Apache访问日志纠正路径。

运行下面这个命令,即可使用Gedit编辑工具来编辑其配置文件。

Ubuntu使用nginx搭建webdav文件服务器的详细过程

Ubuntu使用nginx搭建webdav文件服务器的详细过程

Ubuntu使⽤nginx搭建webdav⽂件服务器的详细过程安装nginx注意必须安装nginx-full, 默认的nginx⾥⾯并不包含webdav模块$ sudo apt install -y nginx-full创建相关⽂件夹# ⽤来保存共享⽂件的位置$ sudo mkdir -p /home/dav$ sudo chown -R www-data:www-data /home/dav配置$ sudo vim /etc/nginx/sites-enabled/webdav.conf内容如下:server {listen 80;server_name localhost;# 设置使⽤utf-8编码,防⽌中⽂⽂件名乱码charset utf-8;# 默认存放⽂件的路径root /home/dav;auth_basic realm_name;# ⽤户密码⽂件存放位置auth_basic_user_file /etc/nginx/.passwords.list;# dav 允许的操作dav_methods PUT DELETE MKCOL COPY MOVE;dav_ext_methods PROPFIND OPTIONS;# 创建⽂件的默认权限dav_access user:rw group:rw all:r;# 临时⽂件位置client_body_temp_path /tmp;# 最⼤上传⽂件限制, 0表⽰⽆限制client_max_body_size 0;# 允许⾃动创建⽂件夹(如果有需要的话)create_full_put_path on;}⽣成密码$ echo -n 'lpwm:' | sudo tee /etc/nginx/.passwords.list$ openssl passwd -apr1 | sudo tee -a /etc/nginx/.passwords.list# 确认密码后重启nginx$ sudo nginx -s reloadWindows客户端可以先使⽤浏览器直接访问服务器IP进⾏查看尝试了直接在Windows的⽂件资源管理器中映射⽹络驱动器,结果死活就是不⾏! 直接上第三⽅客户端: RaiDrive, 挺良⼼的, 标准版免费,最多⽀持挂载8个驱动器, 显然够⽤了!装完后需要添加服务器配置:注意取消勾选Address才可以使⽤http协议, 否则默认只能⽤https添加完成后会⾃动打开⽂件资源管理器中映射好的驱动器Nice!以上就是Ubuntu使⽤nginx搭建webdav⽂件服务器的详细内容,更多关于nginx搭建webdav⽂件服务器的资料请关注其它相关⽂章!。

Ubuntu 配置 boa 服务器

Ubuntu 配置 boa 服务器

Ubuntu 配置boa 服务器Ubuntu上编译用法boa服务器的教程文章,已经有无数了,博客上也有无数人写了,我就不赘述了,在这里贴出几处初次用法boa的伴侣可能碰到的问题执行 boa 检查 error_log 里面的内容,有如下错误:boa.c:194 - unable to bind: Aress already in use 由于是在pc 机上,默认的boa.conf 里面Port的端口设置为 80,因此运行 boa 时会有如上错误,可以在 error_log文件里面查看到解决方法:修改boa.conf 里面的 port 值为 8080(可指定其它未被用法的)保存即可。

再次尝试,扫瞄器地址栏里输入:192.168.1.111:8080后,www 名目下的 ind.html 拜访正常接下来测试cgi程序:扫瞄器地址栏里输入:192.168.1.111:8080/cgi-bin/test.cgi 有可能碰到 bad gateway 的错误,或者在error_log里面提醒: request from192.168.1.119 "GET /favicon.ico HTTP/1.1"("/var/www/favicon.ico"): document open: No ch or directory [01/Aug/2011:10:04:37 +0000] request from 192.168.1.119 "(null)" ("(null)"): header read: Connection -9 p(boa)重新启动boa,再次通过扫瞄器拜访cgi,拜访胜利!注:做嵌入式开发板上的boa移植时,这里的确如无数博友写的,修改 User 及 Group 后面的参数为 0,可是初次在Ubuntu里面用法boa的伴侣可能就忽视了这个。

BOA服务器的配置

BOA服务器的配置

#避免使用mime.types文件,此时需要用AddType在本文件里指明
MimeTypes /etc/mime.types
#文件扩展名没有或未知的话,使用的缺省MIME类型
DefaultType text/plain
5.#将文件扩展名和MIME类型关联起来,和mime.types文件作用一样。如果用mime.types
/
, 或者

最新发行版本: 0.94.13
下载 boa-0.94.13.tar.gz,注意:从boa上下载的是boa-0.94.13.tar.tar,解压方式一样
2、ScriptAlias的修改 修改 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
为 ScriptAlias /cgi-bin/ /var/www/cgi-bin/
3、ServerName的设置修改 ServerName
.here
第二步 Boa的配置 Boa需要在/etc目录下建立一个boa目录,里面放入Boa的主要配置文件boa.conf。在Boa源码目录下已有一个示例boa.conf,可以在其基础上进行修改。
1、Group的修改 修改 Group nogroup
为 Group 0
由于在/etc/group文件中没有nogroup组,所以设成0。另外在/etc/passwd中有nobody用户,所以User nobody不用修改。
b、 修改 CPP = gcc - E
为 CPP = /usr/local/arm/2.95.3/bin/arm-linux-gcc -E
4、编译 # make
# /usr/local/arm/2.95.3/bin/arm-linux-strip boa

boa移植笔记

boa移植笔记

boa移植笔记作者:冯建,华清远见嵌入式学院讲师。

Boa是一个非常小巧的Web服务器,其可执行代码只有60K左右。

它是一个单任务的Web服务器,只能依次完成用户的请求,而不会fork出新的进程处理并发连接请求。

但boa支持cgi,能够为cgi 程序fork出一个进程来执行。

Boa的设计目标是速度和安全,在其站点公布的性能测试中,boa的性能要好于apache 服务器。

随着网络技术的迅猛发展,在嵌入式设备的管理和交互中,基于Web方式的应用成为目前的主流,用户可以直接通过远程登录的方式对设备进行管理和维护,大大方便了使用性。

下面就为大家讲解一下boa服务器在嵌入式Linux系统中的移植过程。

一、BOA服务器移植工具链:gcc version 4.3.2 (crosstool-NG-1.8.1-none)平台:处理器:s3c2410 内核:linux-2.6.351.解压源码tar xvf boa-0.94.13.tar.tarcd boa-0.94.132.进入src/./configure 生成Makefile修改Makefile修改CC =gcc 为CC =arm-none-linux-gnueabi-gcc修改CPP =gcc -E 为CPP =arm-none-linux-gnueabi-gcc -E3.make编译编译一个linux下的c系统,包含词法和语法分析模块,Linux上用bison和flex。

yacc是一个文法分析器的生成器,bison即是yacc的GNU版本.Lex和YACC是用于构造词法分析机和语法解释器的工具,利用Lex 和YACC你可以轻松的构造一个语法解释器。

Apt-get install bison flex执行make然后给boa瘦身Arm-none-linux-gnueabi-strip boa二、Boa服务器配置1、创建目录mkdir /source/rootfs/etc/boa2、将boa源码目录下的boa.conf拷贝到/source/rootfs/etc/boa目录下cp boa.conf /source/rootfs/etc/boa3、修改配置文件boa.confvim /source/rootfs/etc/boa(1)Group的修改修改Group nogroup为Group 0(2)user的修改修改User nobody为User 0(3)ScriptAlias的修改修改ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/为ScriptAlias /cgi-bin/ /www/cgi-bin/(5)DocumentRoot的修改修改DocumentRoot /var/www为DocumentRoot /www(6)ServerName的设置修改#ServerName /doc/2b7299414.html,.here为ServerName /doc/2b7299414.html,.here 否则会出现错误“gethostbyname::No such file or directory”(7)AccessLog修改修改AccessLog /var/log/boa/access_log为#AccessLog /var/log/boa/access_log(8)以下配置和boa.conf的配置有关,都是在ARM根文件系统中创建以下步骤在开发板上进行:创建HTML文档的主目录/wwwmkdir /www创建CGI脚本所在录/www/cgi-binmkdir /www/cgi-bin当不能使用cgi 时将#AddType application/x-httpd-cgi cgi改为AddType application/x-httpd-cgi cgi boa器测试将boa拷贝到开发板根文件系统的/etc/boa下#cp src/boa /source/rootfs/etc/boa将ubuntu下/etc/mime.types拷贝到开发板根文件系统的/etc下#cp /etc/mime.types /source/rootfs/etc将你的主页index.html拷贝到www目录下运行boa,然后在主机游览器输入开发板网址[root@farsight boa]# ./boa[30/10/2011:19:10:36 +0000] [root@farsight boa]# boa: server version Boa/0.94.13[30/10/2011:19:10:36 +0000] boa: server built 10 30 2011 at 19:10:36[30/10/2011:19:10:36 +0000] boa: starting server pid=968, port 80附1):boa配置文件参数说明boa的配置文件是/etc/boa/boa.conf。

在嵌入式linux下搭建Boa Webserver

在嵌入式linux下搭建Boa Webserver

在嵌入式linux下搭建Boa Webserver1、嵌入式Web的应用。

在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的C/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web 浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。

2、嵌入式服务器的选择。

由于嵌入式设备资源一般都比较有限,并且也不需要能同时处理很多用户的请求,因此不会使用Linux下最常用的如Apache等服务器,而需要使用一些专门为嵌入式设备设计的Web服务器,这些Web服务器在存贮空间和运行时所占有的内存空间上都会非常适合于嵌入式应用场合。

常见的嵌入式Web服务器主要有:lighttpd、thttpd、shttpd和BOA等。

3、Boa是一个非常小巧的web服务器,其可执行代码只有约60Kb,它是一个单任务的服务器,只能依次完成用户的请求,而不会fork出新的进程处理并发的连接请求。

但Boa 支持CGI,能够为CGI程序fork出一个进程来执行,Boa设计目标是速度与安全。

硬件环境:SBC-S2416单板机软件环境:1、PC端:win7下VirtualBox虚拟机+xubuntu系统。

具备基本的GCC编译环境,能够执行configure产生Makefile;系统中已搭建好交叉编译环境。

相比于普通的PC机,嵌入式的硬件资源相当的有限,不可能进行本地的开发。

因而,嵌入式的软件开发和调试过程通常是在PC机上实现的。

这样就形成了一套在PC机上交叉编译,然后生成目标机平台的格式,最后在目标机上执行的开发流程,也就是所谓的交叉编译环境。

2、移植嵌入式Linux系统到开发板上。

Boa搭建过程:1、下载boa-0.94.13.tar,执行tar解压命令。

Ubuntu16.04安装qbittorrentwebui

Ubuntu16.04安装qbittorrentwebui

Ubuntu16.04安装qbittorrentwebui添加qBittorrent 仓库# apt install software-properties-commonadd-apt-repository ppa:qbittorrent-team/qbittorrent-stable安装qBittorrent Webuiapt-get updateapt-get install qbittorrent-nox如果想需要图形界⾯的qBittorent软件,命令和 qbittorrent-box⼀起apt-get updatesudo apt-get install qbittorrent qbittorrent-nox启动 qbittorrent如果你安装了图形界⾯的qBittorrent,可以从启动菜单中进⾏启动。

如果你禁⽤了GUI或者你只安装了qBittorrent webui,接下来你可以以下的命令进⾏启动#qbittorrent-noxvagrant@localhost:/home/vagrant# sudo qbittorrent-nox*** Legal Notice ***qBittorrent is a file sharing program. When you run a torrent, its data will be made available to others by means of upload. Any content you share is your sole responsibility. No further notices will be issued.Press 'y' key to accept and continue...y******** Information ********To control qBittorrent, access the Web UI at http://localhost:8080The Web UI administrator user name is: adminThe Web UI administrator password is still the default one: adminadminThis is a security risk, please consider changing your password from program preferences.在你安装了qBittorrent webui,你可以通过浏览器访问(8080端⼝是默认监听端⼝)http://localhost:8080如果你的 qBittorrent 是在你的局域⽹并且没有屏蔽掉8080端⼝,当然你可以通过⽹络ip进⾏访问(案例如下):http://192.168.xxx.xxx:8080如果你有端⼝衍射在你的路由器上并且你有⼀个域名指向你运⾏qBittorrent webui的服务器,你或许也可以通过在浏览器输⼊你的域名来访问qBittorrent web ui,如:8080选择你能接受的访问⽅式,默认的⽤户名和密码:username: adminpassword: adminadminqbittorrent webui我推荐你在安装完qBittorrent webui做的第⼀件事情就是修改默认提供的⽤户名和密码。

Ubuntu16的boaweb服务器搭建

Ubuntu16的boaweb服务器搭建

Ubuntu16的boaweb服务器搭建在VMware上利用Ubuntu 16.04.LTS搭建Boa web服务器作为一个初学的菜鸟,第一次搭建web服务器,搭的还是最为简单的boa服务器,在网上是各种找资料啊,参考了如CSDN博客、Linux公社、博客园等诸多有名的网站,用了小半周才勉强弄出来,许多地方其实还是不太理解,只是用网上的方法搭建出来,结合自己搭建的过程,写了这么一篇文档,还希望各位大神老师批评指正,下面就是我自己的一个搭建过程。

一、在虚拟机上安装Ubuntu16Ubuntu16的百度云连接https:///s/1o87P78Q 运行VMware,点击创建新的虚拟机,选择“典型”,点击“下一步”选择“稍后安装操作系统”,点击“下一步”客户机操作系统选择“Linux”,版本选择“Ubuntu 64位”,点击“下一步”填写虚拟机名称,选择保存位置,点击“下一步”点击“下一步”,点击“完成”此时会出现一个新的页面,页面名称就是虚拟机名称点击“编辑虚拟机设备”开始对虚拟机硬件设备进行更改,修改网络配适器,选择自定义(u):特定虚拟网络,下面选择VMnet8(NAT模式),点击“确定”在CD/DVD选项中选择“使用ISO映像文件”,通过储存好的路径打开ISO映像文件,点击“确定”点击开启此虚拟机,此时可能会出现对话框说虚拟机版本不兼容,这时需要重新启动电脑,比如我的电脑本身装的为windows7 则应该重新启动windows7,按esc,然后按F10进入BIOS 系统选择“系统设置” 用左右键选择“处理器虚拟化技术”按回车键选择“启用”,按回车键,按F10保存并退出。

(每个人电脑不一样,依据自己的电脑进行改变)运行VMware,点击开启此虚拟机,语言改为中文简体,点击安装Ubuntu直接点击Continue,不进行选择选择Erase disk and install Ubuntu 使用Ubuntu默认的分区,自己不进行分区,点击Install Now,点击Continue选择你的所在地,选择键盘语言,填写用户名,主机名和密码Ubuntu开始安装,时间大约为2~3个小时,请耐心等待,完成后会提示重启,点击“Restart Now”关机,然后点击“编辑虚拟机设备”,在CD/DVD选项中选择“使用物理驱动器”,点击确定,然后关机然后重新进入Ubuntu16此时的Ubuntu16的屏幕非常小,打开终端,输入xrandr结果为然后输入xrandr -s 1280x768注意中间那个是字母x但是这个只是修改当前一次的,如果想一直修改,需要修改其配置文件/home/namo/.profile,利用gedit /home/namo/.profile打开文件,在文件末尾输入Sudo xrandr --newmode “1280x768_60.00”173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsyncSudo xrandr --addmode Virtual1 “1280x768_60.00”保存并退出此时如果进行su操作的话,会发现认证失败,需要重新更改密码,在终端输入sudo passwd 然后输入当前密码,此时终端会让我们输入新的密码并再次确认,新的密码可以和上一个密码相同,也可以不同,这样密码就更改完了。

Ubuntu服务器版安装教程

Ubuntu服务器版安装教程

Ubuntu服务器并不需要图形接口或像 这些佔用大量资源的软件,所以硬件需求比桌面版低很多。

Ubuntu 官方建议最少需要64MB 的内存和800MB 的硬盘空间 (正常安装佔用七百多 MB),更适合配置的BT机。

安装启动将您计算机的 BIOS 设定成用 CD-ROM 开机,并将 Ubuntu 服务器(Server) 光盘放入光驱起动。

如无意外,您可以看到以下的 Ubuntu 开机画面:这时,您可以先选择接口语言。

(建议服务器使用英语 English)选择好后,自然会看到以下的 Ubuntu 开机画面:在 Ubuntu 的标志()下,有五个项目:•安装 Ubuntu 服务器 (Install Ubuntu Server) - 安装 Ubuntu 服务器系统到硬盘中。

•安装 Ubuntu 企业云端 (Install Ubuntu Enterprise Cloud) - 安装Ubuntu 企业云端系统。

•检查 CD 是否有缺损 (Check CD for defects) - 检查安装光盘是否有任何缺损。

•内存测试 (Test memory) - 检查计算机的内存有没有问题。

•从第一个硬盘开机 (Boot from first hard disk) - 启动硬盘中的操作系统。

•救援已损坏的系统 (Rescue a broken system)另外底部亦显示了六个功能键的功能:•F1 求助 (Help)•F2 语言(Language)- 选择接口语言。

这个会影响安装出来系统的接口语言。

•F3 键盘对应表 (Keymap) - 设定键盘排列。

一般中港台澳新的使用者都不用改变此设定。

•F4 模式 (Mode) - 设定启动模式,可以选择下列模式:o正式模式 (Normal)o安装最小型系统 (Install a minimal system)o安装最小型虚拟机器 (Install a minimal virtual machine)•F5 无障碍辅助 (Accessibility)- 选择开启一些无障碍辅助,方便伤健人仕使用安装系统。

HI3512开发板移植web server(boa 0.94.13)

HI3512开发板移植web server(boa 0.94.13)
src#: make clean 然后重新 make 生成 boa 可执行文件。 交叉编译中常见的问题和解决方法可以参看参看《Boa 在 PC 平台上 开发环境的搭建.pdf》和《boa 0.94.13 在嵌入式平台的安装与配 置.pdf》两个文档。Boa 的缺点和改进可以参考《boa 流程分析与改 进.pdf》和《Boa Web Server 缺陷报告及其修正方法.pdf》交叉编译 之前请根据需要修改源码。 5、去除调试信息,减少体积(这步可选)。 src#: arm-hismall-linux-strip boa
6、将编译好的程序放入根文件系统的/bin 目录下。 #: cp boa /bin 7、修改配置文件 boa.conf(配置的时候,配置文件的目录可以根据 自己的情况设置路径,主要考虑到可写问题)。boa.conf 文件具体参 数的详细介绍看《嵌入式 WEB 服务器 BOA 和 CGI.pdf》中的相关 介绍。boa.conf 存放目录是在 boa 源代码的 define.h 中指定的,可以 在编译 boa 之前修改 define.h。其他配置相关目录由 boa.conf 配置指 定。 A、在/etc 目录下建立一个 boa 目录,cp boa.conf 到该文件夹。 etc#: mkdir boa etc#: chmod 777 boa/ etc#: cd boa boa#: cp boa.conf /etc/boa B、修改访问权限:修改 User nobody 为 User 0;修改 Group nogroup 为 Group 0 C、设定日志目录:boa 日志有两部分,Errorlog 和 Accesslog 一般情 况下为/var/log/boa/error_log 和/var/log/boa/access_log 两个文件。根据 自己的情况设置日志目录: ErrorLog /var/log/boa/error_log AccessLog /var/log/boa/access_log (注意:/var/log/boa 目录必须为可写,否则会出现错误:log.c:73 – Unable to dup2 the error log: Bad file r.)

嵌入式linuxweb服务器boa的移植方法arm开发板linux嵌入式web服务器boa

嵌入式linuxweb服务器boa的移植方法arm开发板linux嵌入式web服务器boa

嵌入式linux web服务器boa的移植方法/arm开发板linux嵌入式web服务器boa今天自己在开发板上移植了boa服务器。

参考资料是李驹光、郑耿大侠在恒颐论坛上的帖子。

李大侠写的好,我没有费什么力气就搞定了,:-)。

步骤如下:1.从bbb:///下载Boa源码,将其解压并进入源码目录的src子目录# tar -zxvf boa-0.94.13.tar.gz# cd boa-0.94.13/src2.生成Makefile文件# ./configure修改Makefile文件,a.找到CC=gcc,将其改成CC = arm-linux-gcc,b.找到CPP = gcc –E,将其改成CPP = arm-linux-gcc –E,保存退出。

3.运行make进行编译,得到的可执行程序为boa,并将调试信息剥去# make# arm-linux-strip boa4.编写boa.conf5.cp boa 到开发板的/bin目录下,在开发板/etc目录下建boa目录,cp boa.conf 到板子的/etc/boa目录。

6.创建日志文件所在目录/var/log/boa,创建HTML文档的主目录/var/www,创建CGI脚本所在目录/var/www/cgi-bin/,在/var/www中放置一个index.html 文件7.cp mime.types文件到开发板/etc目录8.vi passwd,添加nouser用户,vi group 添加nogroup组8.运行boa:#/bin/boa现在通过其他机器就可以访问了。

bbb://192.168.0.12就可以访问到你放置的那个index页面了。

9.编辑helloworld.c程序测试cgi的运行#arm-linux-gcc -o helloworld.cgi helloworld.c#cp helloworld.cgi 到开发板的/var/www/cgi-bin目录下在pc机的浏览器位置栏输入bbb://192.168.0.12/cgi-bin/helloworld.cgi,可以看到相关页面,CGI脚本测试通过。

16-Configuring a Web Server (配置WEB 服务器)

16-Configuring a Web Server (配置WEB 服务器)
To Install IIS
Perform the Installation: Add Internet Services Manager to the Administrative Tools Menu Create the Default Web Site and the Default FTP Site
Basic Digest
You are configuring an intranet site, where both the Integrated Windows users and the web server are in the same domain, or in domains with a trust relationship
Browse...
Subscribe About Microsoft U.S. & International About Our Site
See page customized for: All Product Families Business Customers Developers Education Home User IP Professionals Partners & Resellers
Shared folder
A redirection to a URL
Local Path: C:\inetpub\wwwroot Browse...
Script source access Read Write Directory browsing Application Settings Application name: Starting point: Execute Permissions:
Enable Default Document Default.htm Add... Default.asp Welcome to Microsoft’s Homepage - Microsoft Internet Explorer iisstart.asp File Edit View Favorites Tools Help Remove

在Ubuntu16.04安装与使用Docker的教程详解

在Ubuntu16.04安装与使用Docker的教程详解

在Ubuntu16.04安装与使⽤Docker的教程详解介绍Docker是⼀个应⽤程序,它使得在容器中运⾏应⽤程序进程变得简单和容易,这类应⽤程序就像虚拟机,只有更便携,更加资源友好,更依赖于主机操作系统。

有关详细介绍Docker容器的不同组件,请Docker⽣态系统:介绍公共组件。

在Ubuntu 16.04上安装Docker有两种⽅法。

⼀种⽅法包括将其安装在操作系统的现有安装上。

其他涉及纺了⼀个名为⼯具的服务器Docker机即⾃动安装Docker就可以了。

在本教程中,您将学习如何在现有安装的Ubuntu 16.04上安装和使⽤它。

先决条件要遵循本教程,您需要以下内容:64位Ubuntu 16.04 Droplet使⽤sudo特权的⾮root⽤户初始设置指南的Ubuntu 16.04将介绍如何设置起来。

)注意:Docker需要的Ubuntu 64位版本,以及⼀个内核版本等于或⼤于3.10以上。

默认的64位Ubuntu 16.04 Droplet满⾜这些要求。

本教程中的所有命令都应以⾮root⽤户⾝份运⾏。

如果需要该命令的root访问权限,它会在前⾯加sudo 。

初始设置指南的Ubuntu 16.04解释了如何添加⽤户,并给他们sudo访问。

第1步 – 安装Docker官⽅Ubuntu 16.04存储库中提供的Docker安装包可能不是最新版本。

要获得最新和最好的版本,请从官⽅Docker仓库安装Docker。

本节向您展⽰如何做到这⼀点。

但⾸先,让我们更新包数据库:sudo apt-get update现在让我们安装Docker。

将官⽅Docker资源库的GPG密钥添加到系统:sudo apt-key adv --keyserver hkp://:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D将Docker存储库添加到APT源:echo "deb https:///repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list使⽤新添加的软件包中的Docker软件包更新软件包数据库:sudo apt-get update确保你将要从Docker repo⽽不是默认的Ubuntu 16.04 repo安装:apt-cache policy docker-engine您应该看到类似以下的输出:apt-cache策略的输出docker-enginedocker-engine:Installed: (none)Candidate: 1.11.1-0~xenialVersion table:1.11.1-0~xenial 500500 https:///repo ubuntu-xenial/main amd64 Packages1.11.0-0~xenial 500500 https:///repo ubuntu-xenial/main amd64 Packages请注意, docker-engine没有安装,但安装的候选⼈是从Docker库中的Ubuntu 16.04。

手把手搭建基于ubantu的python3.7_web开发环境

手把手搭建基于ubantu的python3.7_web开发环境

一、在virtual box安装ubantu16.04虚拟机:1.下载镜像;2.新建virtual box虚拟机;3.Boot新建的虚拟机,选择镜像;4.等待直到安装完成;注意:如果忘记设置root密码,可以sudo passwd root进行设置二、配置ubantu虚拟机1.配置联网(建议一个NAT网卡上外网,一个本地网配置静态IP使用终端连接)2.安装virtualbox增强功能:菜单设备-》安装增强功能-》run3.设置虚拟机和数组机间共享粘贴板:虚拟机设置-》常规-》高级4.安装vim(可选)5.解决ubantu apt下载速度慢:由于安装的Ubuntu Server 16.04.1 LTS是英文版的,软件源就默认都是 (英国)的,所以很慢。

为了提高下载速度,将源改为国内的 ,现在 指向阿里云的开源镜像站,下载速度很快。

5.1sudo mv /etc/apt/sources.list sources.list_backup #重命名原来的源作为备份5.2sudo vim /etc/apt/sources.list #新建source.list文件,输入下面的内容:deb /ubuntu/ xenial main restricteddeb /ubuntu/ xenial-updates main restricteddeb /ubuntu/ xenial universedeb /ubuntu/ xenial-updates universedeb /ubuntu/ xenial multiversedeb /ubuntu/ xenial-updates multiversedeb /ubuntu/ xenial-backports main restricted universe multiversedeb /ubuntu xenial-security main restricteddeb /ubuntu xenial-security universedeb /ubuntu xenial-security multiverse在百度搜索–>ubuntu镜像站–>选择清华的镜像源–>进去选择ubuntu—>选择ubuntu的版本(这里以16.04的为例)–>复制里面的内容:(内容如下,不过一直在更新,我们可以安装上面的步骤去搜索即可)5.3sudo apt-get update#更新apt软件源文件(解决ubuntu下Could not get lock的问题:sudo rm -rf /var/lib/dpkg/lock)三、linux下安装python30.安装前环境配置:1)dpkg-query -l libffi-dev #查询是否安装了libffi-dev这个库Sudo apt install libffi-dev#没有则安装(在ubantu下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法)2)Sudo apt install zlib*(解决zipimport.ZipImportError: can't decompress data; zlib not available)如果拿不准缺什么,直接都装了:sudo apt-get install -y gcc make build-essential libssl-dev zlib1g-dev\ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvmlibncurses5-dev\libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev1.tar -xvf Python-3.7.0.tar.xz2.Cd Python-3.7.03../configure --prefix=/opt/python37 --with-ssl # 指定安装目录为/opt/python37,pip3会用到ssl模块,如不指定,该功能不能使用,下面pip3 ...会报错4.make5.make install (4,5可合并为make&&make install)6.进入/opt目录查看python37文件夹,我们要的python3都在这里了7.修改PATH环境变量Vim /etc/environment #系统环境变量配置文件,区别redhat的/etc/profile在PATH=后面加入/opt/python37/binSource /etc/environment8.终端输入python3查看安装是否成功9.配置pip3的源:CdMkdir .pip3Touch pip3.confVim pip3.conf[global]index-url = https:///simpletrusted-host = 10.修改安装的python和pip为系统默认的python,pipln -snf /opt/python37/bin/python3 /usr/bin/pythonln -snf /opt/python37/bin/pip3 /usr/bin/pip四、安装异步框架aiohttpPip3 install --upgrade pip #python3.7 默认的pip版本需要升级,否则下一步会报错Pip3 install aiohttp五、安装前端模板引擎jinja2pip3 install jinja2六、安装mysql5.x1.Sudo apt-get install mysql-server #安装过程中会提示输入密码2.修改字符串编码,避免snoop导入乱码问题:测试安装是否成功:1.安装好之后会创建如下目录:数据库目录:/var/lib/mysql/配置文件:/usr/share/mysql(命令及配置文件),/etc/mysql(如:f)相关命令:/usr/bin(mysqladmin mysqldump等命令) 和/usr/sbin启动脚本:/etc/init.d/mysql(启动脚本文件mysql的目录)2.sudo netstat -anp | grep mysql #测试mysql是否在监听3.#服务管理#启动sudo service mysql start#停止sudo service mysql stop#服务状态sudo service mysql status4.#连接数据库mysql -h 127.0.0.1 -P 3306 -uroot -p123456#-h为远程IP,-P为端口号,-u为用户名,-p为密码5.连接成功show databases, 出现下面意味着成功:●安装失败的清理步骤:1.Dpkg purge mysql-server 或apt autoremove清除旧MYSQL的所有痕迹;2.从/ etc / mysql目录中删除所有内容.3.确认没有安装旧的Mysql软件包:dpkg -l | grep mysql如果有使用dpkg -P +包名删除●卸载:#首先使用以下命令删除MySQL服务器:sudo apt-get remove mysql-server#然后,删除随MySQL服务器自动安装的任何其他软件:sudo apt-get autoremove#卸载其他组件:sudo apt-get remove <<package-name>>#查看从MySQL APT存储库安装的软件包列表:dpkg -l | grep mysql | grep ii七、安装mysql的python异步驱动程序aiomysqlPip install aiomysql。

boa服务器的移植

boa服务器的移植

boa服务器的移植boa Web服务器是一个单任务http服务器,源代码开放、性能高。

下载地址:/Cgic库文件:cgic205.tar.gz 。

下载地址:/cgic/交叉编译器版本:arm-none-linux-gnueabi-gcc一、编译配置boa服务器1 、[root@localhost /]#mkdir web//在根目录下创建web目录2 、[root@localhost /]# cd /web/3 、[root@localhost web]# rz4 、[root@localhost web]# tar –zxvf boa-0.94.13.tar.gz//将源码解压到/web目录下5 、[root@localhost web]# cd boa-0.94.13/6 、[root@localhost boa-0.94.13]# cd src/7 、[root@localhost src]# ls8 、[root@localhost src]# ./configure//运行./configure使之生成Makefile文件9 、[root@localhost src]# vi Makefile修改内容如下:把CC=gcc 和CPP=gcc -E改写成CC=arm-none-linux-gnueabi-gccCPP=arm-none-linux-gnueabi-g++ -E10 、[root@localhost src]# vi compat.h在一般模式下输入:set nu显示行编号,再用120进到120行,修改内容如下:120 #define TIMEZONE_OFFSET(foo)foo##-&gt;tm_gmtoff改为define TIMEZONE_OFFSET(foo) foo-&gt;tm_gmtoff 把120行foo后两个#号去掉11 、[root@localhost src]# make//编译12 、[root@localhost src]# arm-linux-strip boa //优化boa可执行文件(此步非必须)13 、[root@localhost web]# cd boa-0.94.13/14 、[root@localhost boa-0.94.13]# vi boa.conf //修改boa的配置文件在一般模式下输入:set nu显示行编号,再用111进到111行,修改内容如下:把111 DocumentRoot /var/www改为111 DocumentRoot /var/www//指明html文件所放的路径把193 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/改为193 ScriptAlias /cgi-bin/ /var/www/cgi-bin///指明cgi脚本的虚拟路径所对应的实际路径15、将/src目录下新生成的boa文件下载到目标板的/bin目录下,将boa.conf文件下载到目标板的/etc/boa/目录下。

Ubuntu服务器版如何搭建云环境

Ubuntu服务器版如何搭建云环境

Ubuntu服务器版如何搭建云环境Ubuntu多年来一直坐着Linux桌面操作系统的头把交椅,但是Ubuntu服务器版却未来受到这么广泛的用户欢迎。

不过,10月10日公布的服务器新版本Ubuntu 10.10正在试图从云计算上面,寻找突破口,以期待在未来云计算大势兴起的时候,得到最大范围的用户体验。

事实上,从Ubuntu 10.04版本开始,Canonical就开始通过Ubuntu One提供云服务的尝试,提供给用户2GB免费的线上存储空间,如果想要更多空间,则必须支付额外费用购买。

云计算近几年从一个有些模糊的概念,逐渐地上升到使用阶段。

这让每个IT厂商都看到无穷大的商机,Canonical自然也不肯忽视这一顿丰盛的大餐。

继Ubuntu 10.04中尝到了云计算的甜头以后,Ubuntu 10.10中更是加大了云服务,也加大了云美国云计算厂商亚马逊的合作。

据Canonical透露,Ubuntu现在是Amazon EC2上最流行的服务器操作系统,Ubuntu已经拥有强大的云计算支持能力,旨在更直接地部署到公共云和私有云。

那么,从Ubuntu 10.04服务器版操作系统到如今的最新版Ubuntu 10.10,Ubuntu都在哪些方面突出自己的特性。

下面,我们从成本、系统集成、管理、虚拟化和安全性等方面分析。

1.降低费用:减少每一个阶段的成本:Ubuntu服务器以更少的资源达到有效的架构,它能够简化维护和更新,节省工时和贫乏的许可证和订阅费用,压低所有权的成本。

而且,通过访问一个最优秀的开源应用软件的世界,使你的IT预算走得更远。

2.系统集成:Ubuntu服务器版能够混合了Ubuntu、Windows或者Mac OS客户端环境。

所有客户都能分享用户验证、交换文档和存取服务,而开源的LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议),同样地,开源的PAM(Pluggable Authentication Module,插入式验证模块)用户验证都被看做标准。

如何在Ubuntu16.04上安装ApacheWeb服务器

如何在Ubuntu16.04上安装ApacheWeb服务器

如何在Ubuntu16.04上安装ApacheWeb服务器介绍Apache HTTP服务器是世界上使⽤最⼴泛的Web服务器。

它提供了许多强⼤的功能,包括动态加载模块,强⼤的媒体⽀持,以及与其他流⾏软件的⼴泛集成。

在本指南中,我们将讨论如何在Ubuntu 16.04服务器上安装Apache Web服务器。

先决条件在开始本指南之前,您应该有⼀个常规的⾮root⽤户,在您的服务器上配置了sudo权限。

另外,您需要配置⼀个基本的防⽕墙来阻⽌⾮必需端⼝。

您可以通过遵循的了解如何配置常规⽤户帐户并为防⽕墙。

当您有可⽤的帐户时,请以⾮root⽤户⾝份登录。

第1步:安装ApacheApache在Ubuntu的默认软件库中可⽤,因此我们将使⽤传统的软件包管理⼯具进⾏安装。

我们将从更新本地包索引开始,以反映最新的上游更改。

之后,我们可以安装apache2包:sudo apt-get updatesudo apt-get install apache2第2步:调整防⽕墙在我们测试Apache之前,我们需要修改我们的防⽕墙以允许外部访问默认的Web端⼝。

假设您遵循先决条件中的说明,您应该配置⼀个UFW防⽕墙来限制对您的服务器的访问。

在安装过程中,Apache向UFW注册⾃⼰,以提供⼀些应⽤程序配置⽂件。

我们可以使⽤这些配置⽂件来简化通过我们的防⽕墙启⽤或禁⽤访问Apache的过程。

我们可以通过键⼊以下内容列出ufw程序配置⽂件:sudo ufw app list您应该获得应⽤程序配置⽂件的列表:Available applications:ApacheApache FullApache SecureOpenSSH您可以看到,有三种可⽤于Apache的配置⽂件:Apache :此配置⽂件仅打开端⼝80(正常,未加密的Web流量)Apache Full :此配置⽂件打开端⼝80(正常,未加密的Web流量)和端⼝443(TLS / SSL加密流量)Apache Secure :此配置⽂件仅打开端⼝443(TLS / SSL加密流量)为了我们的⽬的,我们将通过键⼊以下⽅式来允许Apache Full配置⽂件的传⼊流量:sudo ufw allow 'Apache Full'您可以键⼊以下内容来验证更改:sudo ufw status您应该在显⽰的输出中看到HTTP流量允许:Status: activeTo Action From-- ------ ----OpenSSH ALLOW AnywhereApache Full ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)Apache Full (v6) ALLOW Anywhere (v6)如果显⽰status:inactive,请先执⾏如下命令:sudo ufw enable如您所见,配置⽂件已被激活以允许访问Web服务器。

uClinux中boa web server的配置

uClinux中boa web server的配置

uClinux中boa web server的配置作者:wzc0066来源:正文:一、环境准备编译环境:uClinux-dist-20040408.tar.gz编译工具:arm-elf-*板子型号:SmartArm2200二、编译配置1、选择Kernel/Library/Defaults Selection -> Customize Vendor/User Settings -> Network Applications -> boa并编2、配置boa web server:2.1、修改文件uClinux-dist/user/boa/src/defines.h将#define SERVER_ROOT "/home/httpd"改成#define SERVER_ROOT "/etc/boa"意思是设定boa web server的ServerRoot路径为/etc/boa2.2、编辑配置文件uClinux-dist/user/boa/examples/boa.conf,如下Port 80User 0Group 0DocumentRoot /var/wwwUserDir public_htmlDirectoryIndex index.htmlKeepAliveMax 1000KeepAliveTimeout 10DefaultType text/htmlAddType application/x-httpd-cgi cgiScriptAlias /cgi-bin/ /var/www/cgi-bin/AddType image/jpeg jpg关于配置文件的几点说明:(1)所以的*Log选项都被注释掉了,否则启动boa的时候提示说不识别这些*Log标记;(2)没有添加"mime.types"选项,原因详见boa测试图片显示乱码;(3)配置文件boa.conf需拷贝到ServerRoot,可以手动,也可以通过修改Makefile文件(uClinux-dist/vendors/PH 如果配置文件boa.conf的位置不正确,则会得到形如“Authentication password file for /cgi-bin/ not found!”之类的错误三、调试1、如果现在运行boa & (或者运行boa -c /var/www &,但我们已指定DocumentRoot/var/www,所以运行外面的命令就to exec /sbin/modprobe -s -knet-pf-1, errno = 2”,此时boa web server还不可用!2、增加编译Kernel/Library/Defaults Selection -> Customize Vendor/User Settings-> BusyBox -> modprobe并重新如下错误信息:__alloc_pages: 6-order allocation failed (gfp=0x1f0/0)Allocation of length 164704 from process 193 failedBuffer memory: 52kBCache memory: 1076kBFree pages: 876kB ( 0kB HighMem)Zone MA freepages: 0kBZone:Normal freepages: 876kBZone:HighMem freepages: 0kB( Active: 94, inactive: 188, free: 219 )= 0kB)25*4kB 21*8kB 12*16kB 5*32kB 2*64kB 1*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB = 876kB)= 0kB)Unable to mmap process text, errno 12kmod: failed to exec /sbin/modprobe -s -k net-pf-1, errno = 12__alloc_pages: 6-order allocation failed (gfp=0x1f0/0)Allocation of length 164704 from process 195 failedBuffer memory: 52kBCache memory: 1076kBFree pages: 700kB ( 0kB HighMem)Zone MA freepages: 0kBZone:Normal freepages: 700kBZone:HighMem freepages: 0kB( Active: 47, inactive: 235, free: 175 )= 0kB)25*4kB 19*8kB 12*16kB 4*32kB 2*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB = 700kB)= 0kB)Unable to mmap process text, errno 12munmap of non-mmaped memory by process 195 (insmod): 817fb000munmap of non-mmaped memory by process 195 (insmod): 815863a0Unhandled fault: external abort on linefetch (F4) at 0x00000001fault-common.c(97): start_code=0x81380040, start_stack=0x815bff74)pid 182: failed 256好像是内存分配错误!但此时boa web server已经可以访问!3、增加编译Kernel/Library/Defaults Selection -> Customize Kernel Settings-> Networking options -> Unix domain webserver再启动时除了一个pid外,没任何多余的信息了!(此选项到底有什么作用,我还是不知道!)四、其它说明1、我的uclinux的大部分配置都是“默认”的,但这里的“默认”可能是已被硬件厂商修改过的(我用的uClinux-dist-20042、web测试时,html文件应放在/var/www目录下,cgi程序应放在/var/www/cgi-bin目录下,这些在配置文件中都写3、也可以通过nfs进行web测试(这样会免去多次烧写的麻烦),nfs的配置详见/658五、现存问题现在cgi、javascript、图片浏览等测试都良好!但在测mp3的时候,还不行,原因可能是还不支持大文件!我看网上说uclinux好像默认每次分配的最大内存是128K,所以要是运行大于128K的文件就会出错,不知是不是这我还看到一条信息说选择Kernel hacking中的一项配置后就可支持大文件了,但我现在的2.4.x内核中没找到网上说现在点击一mp3文件(二点几M大小)的链接时终端出现的错误信息为:Allocation of length 2502723 from process 24 failedBuffer memory: 56kBCache memory: 2744kBFree pages: 2420kB ( 0kB HighMem)Zone MA freepages: 0kBZone:Normal freepages: 2420kBZone:HighMem freepages: 0kB( Active: 98, inactive: 602, free: 605 )= 0kB)7*4kB 9*8kB 11*16kB 7*32kB 4*64kB 1*128kB 0*256kB 1*512kB 1*1024kB 0*2048kB = 2420kB)= 0kB)munmap of non-mmaped memory by process 24 (boa): ffffffff现在虽然还不完美,但一般的使用我想还是没什么问题的!这就是我的boa web server配置的一般过程!最近更新: 关于uClinux大块内存分配问题当运行一个超过1M的应用程序时,uclinux系统会报内存分配错误!在编译内核时需要选中“Allow allocating large blocks (> 1MB) of memory”这一选项后就可以解决问题!但是要找到这个选项的位置对于新手来说还不是太容易, 下面是详细操作过程:∙该配置选项所对应的宏定义是:CONFIG_NO_MMU_LARGE_ALLOCS∙首先需要选中Code maturity level options 中的Prompt for development and/or incomplete code/drivers ∙然后在Kernel hacking 中才可以看到Non power-of-2 kernel allocator (EXPERIMENTAL)选项,∙选中该选项之后就可以看到Allow allocating large blocks (> 1MB) of memory, 选中即可!嵌入式开发联盟∙使用mkvtoolnix切割MKV大文件∙Linux下mysql基本操作指令集∙Debian lenny上安装配置compiz fusion∙静态编译web server Appweb(带Matrixssl支持) For ARM9+ linux∙ECOS中支持FAT32长文件名的FS∙Buffalo LinkStation HD-H120LAN 改机文档∙Linux下通过mencoder截取多媒体中的音频为mp3文件∙sqlite在uClinux下的移植∙Linux下利用mencoder将字幕文件内嵌到视频之中∙我认为学习arm比较好的书。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在VMware上利用Ubuntu 16.04.LTS搭建Boa web服务器作为一个初学的菜鸟,第一次搭建web服务器,搭的还是最为简单的boa服务器,在网上是各种找资料啊,参考了如CSDN博客、Linux公社、博客园等诸多有名的网站,用了小半周才勉强弄出来,许多地方其实还是不太理解,只是用网上的方法搭建出来,结合自己搭建的过程,写了这么一篇文档,还希望各位大神老师批评指正,下面就是我自己的一个搭建过程。

一、在虚拟机上安装Ubuntu16Ubuntu16的百度云连接https:///s/1o87P78Q运行VMware,点击创建新的虚拟机,选择“典型”,点击“下一步”选择“稍后安装操作系统”,点击“下一步”客户机操作系统选择“Linux”,版本选择“Ubuntu 64位”,点击“下一步”填写虚拟机名称,选择保存位置,点击“下一步”点击“下一步”,点击“完成”此时会出现一个新的页面,页面名称就是虚拟机名称点击“编辑虚拟机设备”开始对虚拟机硬件设备进行更改,修改网络配适器,选择自定义(u):特定虚拟网络,下面选择VMnet8(NAT模式),点击“确定”在CD/DVD选项中选择“使用ISO映像文件”,通过储存好的路径打开ISO映像文件,点击“确定”点击开启此虚拟机,此时可能会出现对话框说虚拟机版本不兼容,这时需要重新启动电脑,比如我的电脑本身装的为windows7 则应该重新启动windows7,按esc,然后按F10进入BIOS 系统选择“系统设置” 用左右键选择“处理器虚拟化技术”按回车键选择“启用”,按回车键,按F10保存并退出。

(每个人电脑不一样,依据自己的电脑进行改变)运行VMware,点击开启此虚拟机,语言改为中文简体,点击安装Ubuntu直接点击Continue,不进行选择选择Erase disk and install Ubuntu 使用Ubuntu默认的分区,自己不进行分区,点击Install Now,点击Continue选择你的所在地,选择键盘语言,填写用户名,主机名和密码Ubuntu开始安装,时间大约为2~3个小时,请耐心等待,完成后会提示重启,点击“Restart Now”关机,然后点击“编辑虚拟机设备”,在CD/DVD选项中选择“使用物理驱动器”,点击确定,然后关机然后重新进入Ubuntu16此时的Ubuntu16的屏幕非常小,打开终端,输入xrandr结果为然后输入xrandr -s 1280x768注意中间那个是字母x但是这个只是修改当前一次的,如果想一直修改,需要修改其配置文件/home/namo/.profile,利用gedit /home/namo/.profile打开文件,在文件末尾输入Sudo xrandr --newmode “1280x768_60.00”173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsyncSudo xrandr --addmode Virtual1 “1280x768_60.00”保存并退出此时如果进行su操作的话,会发现认证失败,需要重新更改密码,在终端输入sudo passwd 然后输入当前密码,此时终端会让我们输入新的密码并再次确认,新的密码可以和上一个密码相同,也可以不同,这样密码就更改完了。

此时,一个可用的Ubuntu16在虚拟机上就已经搭建完成了。

二、搭建交叉编译环境此时的Ubuntu里还没有git命令于是利用apt-get 进行下载,这里需要说明一下Ubuntu12以上的版本才可以进行apt-getSudo apt-get install git,输入密码,遇到问题键入y就可以安装git命令因为Ubuntu为64位,而交叉编译为32位,不兼容,所以要安装32位库sudo apt-get install libc6:i386sudo -icd /etc/apt/sources.list.decho "deb /ubuntu/ raring main restricted universe multiverse" >i a32-libs-raring.listapt-get install ia32-libsexitsudo apt-get install gcc-multilib输入密码,遇到问题键入y便可以安装。

然后输入git clone https:///xupsh/CodeSourcery.gitEcho “export PATH=~/CodeSourcery/bin:$PATH” >> ~/.bashrcEcho “export CROSS_COMPILE=arm-xilinx-linux-gnueabi-” >> ~/.bashrc此时交叉编译环境已经搭成,利用arm-linux-gcc -v检验是否搭建成功,如果成功,会出现版本文件三、web服务器搭建搭建web前应该先做好前期准备su,输入密码Apt-get install m4Apt-get install libpcapApt-get install flexApt-get install bison遇到问题键入y,便可以安装,在/home/namo/下新建一个文件夹web2,输入命令Mkdir web2git clone https:///xupsh/boa.gitCd boa/src/Chmod 755 ./configure./configureMake cc=arm-xilinx-linux-gnueabi-gcc cpp=arm-xilinx-linux-gnueabi-g++修改boa.conf文件Gedit boa.confPort 80改为Port 8090、user Group后面为0、Errorlog /var/log/boa/error_log、Accesslog /var/log/boa/access_log、DocumentRoot /mnt/www、#DirectoryMaker /usr/lib/boa/boa_indexer、#DirectoryCache /var/spool/boa/dircache、KeepAliveMax 1000、KeepAliveTimeOut 10、MimeTypes /etc/mime.types、CGIPath /bin:/usr/bin:/usr/local/bin、#AddType application/x-httpd-cgi cgi、Alias /doc /usr/doc、ScriptAlias /cgi-bin/ /var/www/cgi-bin/修改完boa.conf文件后,需要对boa服务器进行部署,先创建相关文件夹SuMkdir /etc/boa/ /var/log/boa /var/www/cgi-binCp ~/web2/boa/boa.conf /etc/boa/Cp ~/web2/boa/mime.type /etc/Touch /var/log/boa/error_log /var/log/boa/access_logCp ~/web2/boa/src/boa root/修改web配置文件web2/boa/src/log.cGedit log.c,将if(dup2(error_log,STDERR_FILENO)==1){DIE(“unable to dup2 the error log”);}注释掉,改为/*if(dup2(error_log,STDERR_FILENO)==1){DIE(“unable to dup2 the error log”);}*/然后重新进行makeMake cc=arm-xilinx-linux-gnueabi-gcc cpp=arm-xilinx-linux-gnueabi-g++然后在/web2/boa/src下输入./boa会出现Boa服务器搭建成功此时在/var/www下编写index2.html文件其源码为<html><head><title>ZedBoard Webserver Demo </title></head><body><h1>ZedBoard Webserver Demo</h1><p><a href=”./cgi-bin/try2.cgi”>cgi in the boa server </a></p></body></html>再在/var/www/cgi-bin下编辑try.c文件#include<stdio.h>Int main(){ Printf(“Content-Type:text/html \r\n\r\n”);Printf(“<html><head>\n”);Printf(“<title>cgi </title>\n”);Printf(“</hea d>\n”);Printf(“<body>\n”);Printf(“<h1>hello world</h1>\n”);Printf(“<p>this is my first web</p>\n”);Printf(“</body></html>\n”);Return 0;}Gcc try.c -o try2.cgi之后打开火狐浏览器(Ubuntu自带的)输入地址127.0.0.1:8090/cgi-bin/try2.cgi此时出现如下界面,表示boa web服务器搭建成功。

最后感谢各位写博客的大神,谢谢各位亲。

相关文档
最新文档