如何用 100 行 Shell 代码快速实现一个 Web Server

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

f05958d536119a55dc80c795e0b13883.png

100 行代码可以干些什么?如果只是简单批处理一些任务,100 行还是可以干很多的东西的,尤其使用 Python 这种相对高级的语言。但是如果要使用 Bash 这用的语言呢?本身抽象并没有那么高,而且用 Bash 来开发一个 Web Server,真的可以吗?

今天要推荐的开源项目 Bash-web-server,一个用纯 Bash 写的 Web Server,而且代码只有 100 多行,没有使用 socat、netcat 等已经有相对完善的网络处理工具。

既然只有 100 多行(实际代码行数,加上注释和空行是 331 行),那我就不多废话了,直接上才艺,Show me your code。

d626190cbdedfb9a3bee6c5a46fd932f.png

a72a2b74a377a58481c057a36ab4db59.png

6812b2823dd29177cc946bdad9a391a5.png

虽然代码不多,但是要真正读懂它,还是需要你对 Bash 有一定的理解,所以说这个开源项目是一个非常好的 Bash 学习材料。

而且这个项目目前还在迭代,看后续的 TODO 计划中,还要增加 Basic 认证和 Session 的处理,未来可期啊。

83e8fae7fab0cbf55c6081fffd5b5b54.png

更多项目详情请查看如下链接。

开源项目地址:https://github.com/dzove855/Bash-web-server

本文转载自:「Github黑板报」,原文:https://tinyurl.com/42sdpn3k,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

6368f96561d3200ed9779888a7c49fd8.gif

最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

46dd5dcc8ec51d91b6f49a06ccbc527e.png

你可能还喜欢

点击下方图片即可阅读

cf542d5ff8bf502f4e7b94ee1c97a66f.png

一款好用的 Kubernetes 开源桌面监控工具 KubeScrape

84fae7ab043314275d9f6d79d624e5e6.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

162e67a35361959ae191debbe619e5c8.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤创建一个连接 Sqlserver 数据库的 Django Web 项目实例: 1. 确保已安装 Django 和 pyodbc: ```shell pip install django pyodbc ``` 2. 在 Django 项目的 `settings.py` 文件中配置数据库连接: ```python DATABASES = { 'default': { 'ENGINE': 'sql_server.pyodbc', 'NAME': 'your_database_name', 'HOST': 'your_database_host', 'PORT': 'your_database_port', 'USER': 'your_database_user', 'PASSWORD': 'your_database_password', 'OPTIONS': { 'driver': 'SQL Server Native Client 11.0', # 根据你的 Sqlserver 版本选择驱动 }, }, } ``` 3. 在 `settings.py` 文件中添加 pyodbc 驱动配置: ```python DATABASES['default']['OPTIONS']['driver'] = 'SQL Server Native Client 11.0' # 根据你的 Sqlserver 版本选择驱动 ``` 4. 在项目的 `__init__.py` 文件中添加以下代码: ```python import pyodbc # 配置 Sqlserver 驱动 pyodbc.autocommit = True pyodbc.pooling = False ``` 5. 运以下命令创建 Django 项目: ```shell django-admin startproject your_project_name ``` 6. 创建一个 Django 应用程序: ```shell cd your_project_name python manage.py startapp your_app_name ``` 7. 在 `settings.py` 文件中将应用程序添加到 `INSTALLED_APPS` 列表中: ```python INSTALLED_APPS = [ ... 'your_app_name', ] ``` 8. 在应用程序的 `models.py` 文件中定义数据库模型: ```python from django.db import models class YourModel(models.Model): # 定义模型字段 field1 = models.CharField(max_length=100) field2 = models.IntegerField() def __str__(self): return self.field1 ``` 9. 运以下命令创建数据库表: ```shell python manage.py makemigrations python manage.py migrate ``` 10. 在视图中使用模型: ```python from django.shortcuts import render from .models import YourModel def your_view(request): # 从数据库中获取数据 data = YourModel.objects.all() return render(request, 'your_template.html', {'data': data}) ``` 11. 创建模板文件 `your_template.html` 并在其中显示数据: ```html <ul> {% for item in data %} <li>{{ item.field1 }}</li> {% endfor %} </ul> ``` 12. 运项目: ```shell python manage.py runserver ``` 这样,你就创建了一个连接 Sqlserver 数据库的 Django Web 项目实例。记得根据实际情况修改数据库连接配置和模型字段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值