天天看点

分享几个web服务器用于文件分享

作者:沪飘运维

临时搭建一个webserver用于传输文件

  1. SimpleHTTPServer

python自带模块,无需安装,但只支持下载

python2语法:

python -m SimpleHTTPServer 8000

python3语法:

python -m http.server 8000

通过设置别名快速启动

alias upload="python -m SimpleHTTPServer 8000"

禁用SimpleHTTPServer模块

#!/bin/bash
a=$@
path=/data/python2.7 #python真实文件移动到其他没有环境变量的路径下,只用本脚本调用
if [[ -z "`echo ${a} |grep SimpleHTTPServer`" ]];then
  $path $a
else
echo -e "\033[0;31m 命令被禁用 \033[0m"
fi           
#!/bin/bash
a=$@
path=/data/python3.7 #python真实文件移动到其他没有环境变量的路径下,只用本脚本调用
if [[ -z "`echo ${a} |grep http.server`" ]];then
  $path $a
else
echo -e "\033[0;31m 命令被禁用 \033[0m"
fi           
  1. darkhttpd

一个超小型静态http服务器,编译之后仅36KB,却能完成ftp和http的功能。

支持断点续传,一次编译后可复制到其他机器使用

安装方式

yum install git -y #centos使用
apt-get install git -y #debian使用
git clone https://github.com/4kercc/darkhttpd.git #然后获取所有文件
cd darkhttpd #进入目录
make #编译           

最简单的使用方法:

./darkhttpd /root --port 8081 --daemon

解释一下这句话

./darkhttpd #运行darkhttpd服务

/root #darkhttpd服务器的主目录位置

--port 8081 #访问端口,一般都用80,不过随你便,其他端口需要ip+端口访问

--daemon #后台运行

其他功能:

在默认端口上服务/var/www/htdocs(80以root身份运行,否则为8080):

$ ./darkhttpd /var/www/htdocs
在8081端口上服务~/public_html:

$ ./darkhttpd ~/public_html --port 8081
仅绑定到一个IP地址(在多宿主系统上有用):

$ ./darkhttpd ~/public_html --addr 192.168.0.1
最多可同时连接4个连接:

$ ./darkhttpd ~/public_html --maxconn 4
日志访问文件:

$ ./darkhttpd ~/public_html --log access.log
Chroot为了额外的安全性(您需要root权限chroot):

$ ./darkhttpd /var/www/htdocs --chroot
使用default.htm而不是index.html:

$ ./darkhttpd /var/www/htdocs --index default.htm
添加mimetypes - 在这种情况下,将.dat文件作为text / plain提供:

$ cat extramime
text/plain dat
$ ./darkhttpd /var/www/htdocs --mimetypes extramime
删除权限:

$ ./darkhttpd /var/www/htdocs --uid www --gid www
使用acceptfilter(仅限FreeBSD):

$ kldload accf_http
$ ./darkhttpd /var/www/htdocs --accf
在后台运行并创建一个pidfile:

$ ./darkhttpd /var/www/htdocs --pidfile /var/run/httpd.pid --daemon
Web转发(301)请求一些主机:

$ ./darkhttpd /var/www/htdocs --forward example.com http://www.example.com \
--forward secure.example.com https://www.example.com/secure
Web转发(301)请求所有主机:

$ ./darkhttpd /var/www/htdocs --forward example.com http://www.example.com \
--forward-all http://catchall.example.com
命令行选项可以组合:

$ ./darkhttpd ~/public_html --port 8080 --addr 127.0.0.1
要查看完整的命令行选项列表,运行darkhttpd,不带任何参数即可:

$ ./darkhttpd           

继续阅读