linux goahead2.1.8移植

来源:互联网 发布:银行家算法安全性算法 编辑:程序博客网 时间:2024/05/30 02:23

环境:

PC: deepin2014

Web server: webs218.tar.gz(goahead2.1.8)

交叉编译工具链:mipsel-linux-

 

1. 解压webs218.tar.gz, 得到ws031202文件夹

tar zxvf webs218.tar.gz

 

2. 进入解压出来的文件夹, 并选择对应移植系统, 我需要移植到嵌入式开发板, 所以我用linux系统

cd ws031202/LINUX

 

3. 修改Makefile编译工具为交叉编译工具链

vi Makefile

在开头加入代码

CC =mipsel-linux-gcc

AR =mipsel-linux-ar

.c.o:

cc -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

修改为

.c.o:

$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

 

4. 修改main.c

修改服务器默认路径

static char_t *rootWeb = T(“web”);

web是存放网页的默认路径, 有需要自行修改

 

修改服务器端口

static int port = 80;

80是互联网默认端口, 有需要自行修改

 

修改服务器IP

把代码

if(gethostname(host, sizeof(host)) < 0) {

              error(E_L,E_LOG, T("Can't get hostname"));

              return-1;

       }

       if((hp = gethostbyname(host)) == NULL) {

              error(E_L,E_LOG, T("Can't get host address"));

              return-1;

       }

       memcpy((char*) &intaddr, (char *) hp->h_addr_list[0],

              (size_t) hp->h_length);

全部注释掉, 在后面加上代码

intaddr.s_addr = inet_addr("192.168.1.200");

这句代码是指定服务器IP,192.168.1.200为服务器IP, 由于我的服务器搭在嵌入式板上, 所以IP为板上IP, 我板上的IP就是192.168.1.200

 

5. 编译得到可执行文件webs和库文件libwebs.a

make clean

make

 

6. 把编译得到的两个文件放到嵌入式板上

webs放到开发板/bin目录下

libwebs.a放到开发板/lib目录下

由于我使用源代码默认服务器路径

static char_t *rootWeb = T(“web”);

所以我在开发板建立web文件夹

mkdir /web

然后自己写一个hello.html静态网页放到/web目录下

 

7. 运行测试

确保开发板IP和goahead源代码中指定的服务器IP相同, 开发板和PC的IP地址要在同一个段中, 然后后台运行webs

webs &

在PC中输入网址

http://192.168.1.200/hello.html

如成功显示自己写的hello.html静态网页, 则服务器搭建成功.

如出现

AccessError: Site or Page Not Found

Cannotopen URL

表示找不到网页, 请检查源代码中默认服务器路径和开发板上放网页的路径是否相同
0 0
原创粉丝点击