一行代码写完了服务器!

1,492 阅读2分钟

这是我参与更文挑战的第1天,活动详情查看: 更文挑战

最近身边很多前端的朋友在问,如果写好了前端UI项目, 就简单想放到云服务器访问域名或者主机名就能看到站点UI,怎么破?

学委想了一下,写Java还得用SpringBoot或者Tomcat,这搞完还得上服务器安装Java。 这对后端小白或者前端来说或是一个很大的工作量啊!

所以突然想到Python的http server模块。

这就是极简的服务器代码:

  • 如果云主机的Python是3.X版本,那就在UI项目目录运行下面命令:
python -m http.server 80 
  • 如果云主机的Python是2.X版本,那就在UI项目目录运行下面命令:
python -m SimpleHTTPServer 80 

然后打开服务器绑定的域名就可以看到UI了

下面是一个稍微简易的做法

一个简单的脚本把上面的根据不同Python版本启动server

步骤一 设置web.sh脚本

创建一个目录如"fxcgo", 复制下面代码保存为web.sh

修改web页面目录的路径(包含index.html)。


#!/bin/sh

#web变量值为目标ui文件的目录(即包含index.html)目录
web=./ui/

version=$(python -c 'import sys; print(sys.version_info[:1])')

echo $version

log=${web}/../server.log
#备份日志
mv ${log} ${log}`date`

cd ${web}

#判断当前python 版本
if [ "$version" == "(3,)" ] ; then
    nohup python -m http.server 80 > ${log} 2>&1 &
else
    nohup python -m SimpleHTTPServer 80 > ${log} 2>&1 &
fi

步骤二 创建ui目录,在里面放一个index.html

前面创建的“fxcgo”目录内新建一个“ui”目录。

这个目录就是放前端编译好静态代码,整站的静态资源,包含index.html等静态页面。

比如文末展示的主页,进入“ui”目录内,编写index.html内容如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>反抄袭联盟</title>
</head>
<body>
</body>
</html>

项目名为fxcgo,那么最后目录结构如下图:

屏幕快照 2021-06-12 下午11.45.34.png

复制下面命令执行脚本启动,查看效果:

bash web.sh

这个是访问主页的效果图:

屏幕快照 2021-06-12 下午11.44.03.png

以上,目录名不一定为“fxcgo”,但是项目内必须要放置“ui”目录。

持续学习持续开发,我是雷学委! 欢迎关注/收藏/转发,您的支持将给我源源不断的动力!

项目代码持续更新(现在支持Linux/Mac一行命令安装): lite-server