惊!———— 仅仅6K的web应用程序服务器 asmttpd

大神,这个词已经不足以表达我对他们的评价了!虽然很简陋,但是由于其编码水平(汇编)无与伦比,基本上堪称空前绝后吧!

 

鉴于此等情况,Candy到github上下载了源码下来,进行尝试!

 

大神说,需要yasm支持,所以先下载yasm-1.3.0,编译安装!

[root@Server1 ~] wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
[root@Server1 ~] tar zxvf yasm-1.3.0.tar.zg
[root@Server1 ~] cd tasm-1.3.0
[root@Server1 tasm-1.3.0] make && make install

 

安装完成后,下载 asmttpd

[root@Server1 ~] https://codeload.github.com/nemasu/asmttpd/zip/master 
[root@Server1 ~] unzip master
[root@Server1 ~] cd asmttpd-master
[root@Server1 asmttpd-master]# ls
bss.asm        debug.asm  macros.asm  mutex.asm   syscall.asm
constants.asm  http.asm   main.asm    README.md   web_root
data.asm       LICENSE    Makefile    string.asm
[root@Server1 asmttpd-master]# make
yasm -g dwarf2 -f elf64 -a x86 main.asm -o main.o
ld main.o -o asmttpd
[root@Server1 asmttpd-master]# make release
yasm -f elf64 -a x86 main.asm -o main.o
ld main.o -o asmttpd
strip -s asmttpd
[root@Server1 asmttpd-master]# whereis asmttpd
asmttpd: /usr/src/asmttpd-master/asmttpd
[root@Server1 asmttpd-master]# ls
asmttpd        data.asm   LICENSE     main.o     README.md    web_root
bss.asm        debug.asm  macros.asm  Makefile   string.asm
constants.asm  http.asm   main.asm    mutex.asm  syscall.asm
[root@Server1 asmttpd-master]# mkdir /www
[root@Server1 asmttpd-master]# ./asmttpd /www

 

至此,asmttpd 已经安装完成,并且启动! /www就是我们的web root,然后我们在/www里建立一个index.html,内容如下:

[root@Server1 asmttpd-master]# vim /www/index.html

<html>
<head>
</head>
<body>Hello World!</body>
</html>

 

然后打开web页面访问,情况如下!

惊!———— 仅仅6K的web应用程序服务器 asmttpd

 

asmttpd已经搭建完成,然后让我们去看看asmttpd 的大小!

惊!———— 仅仅6K的web应用程序服务器 asmttpd

 

虽然功能很少,而且Candy也没去做ab 、 http_load 压力测试,但是对他还是满抱兴趣的...嘿嘿!

 

下面附上github地址 https://github.com/nemasu/asmttpd

 

你可能感兴趣的:(惊!———— 仅仅6K的web应用程序服务器 asmttpd)