jayki
V2EX  ›  PHP

实现了一个简单的 web 服务器,拿出来晒晒

  •  2
     
  •   jayki · May 10, 2016 · 6970 views
    This topic created in 3838 days ago, the information mentioned may be changed or developed.

    一个简单的 web 服务器,支持 php

    地址: https://github.com/jaykizhou/php-server

    欢迎 v 友 star & 赐教!

    35 replies  •  2016-05-11 09:16:00 +08:00
    qcloud
    qcloud
    May 10, 2016
    1
    cool
    jayki
    jayki
    OP
    May 10, 2016
    2
    @qcloud 哈哈, 3Q
    hardyfish
    hardyfish
    May 10, 2016
    3
    NBlity
    chineselittleboy
    chineselittleboy
    May 10, 2016 via iPhone
    4
    不会是实验楼的那个吧
    jayki
    jayki
    OP
    May 10, 2016
    5
    @chineselittleboy 这都能遇到熟人,~_~
    jayki
    jayki
    OP
    May 10, 2016
    6
    @hardyfish 抱拳
    shellcodecow
    shellcodecow
    May 10, 2016
    7
    star
    gpw1987
    gpw1987
    May 10, 2016
    8
    牛逼呀
    ajan
    ajan
    May 10, 2016
    9
    star, 都是高人
    woodrat
    woodrat
    May 10, 2016
    10
    同时参考 csapp 写的,之前搞了个 wsgi 的,不过还有 N 多 bug 没修。。。
    地址 : https://github.com/Mithrilwoodrat/toyws
    我的[博客](woodrat.xyz)里面有详细介绍
    woodrat
    woodrat
    May 10, 2016
    11
    @woodrat 同是打成了同时。。。。
    aljun
    aljun
    May 10, 2016
    12
    请教一下,写一个类似的 wsgi 服务器的话,应该看些什么呢?并非 c 语言程序员, c 只有学校教的水平
    jayki
    jayki
    OP
    May 10, 2016
    13
    @shellcodecow 感谢
    jayki
    jayki
    OP
    May 10, 2016
    14
    @gpw1987 抱拳
    jayki
    jayki
    OP
    May 10, 2016
    15
    @woodrat 哈哈, see see
    jimzhong
    jimzhong
    May 10, 2016
    16
    LZ 是不是参考了 CS:APP 那本书,看着有些函数名很像。
    woodrat
    woodrat
    May 10, 2016
    17
    @aljun 我写过一篇关于这个的[博客]( http://woodrat.xyz/2016/04/24/%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%E6%9C%80%E7%AE%80%E5%8D%95%E7%9A%84-wsgi-server/ )
    主要参考 https://ruslanspivak.com/lsbaws-part2/ 和 PEP 333 。
    如果你要用 C 写的话可以参考一下 https://github.com/jonashaag/bjoern 这个库
    cxshun
    cxshun
    May 10, 2016
    18
    牛,赞楼主!
    jayki
    jayki
    OP
    May 10, 2016
    19
    @jimzhong 点头
    jayki
    jayki
    OP
    May 10, 2016
    20
    @cxshun 感谢,哈哈
    lz3259
    lz3259
    May 10, 2016
    21
    我理解就是把 fastcgi 封装成了 http ?
    jayki
    jayki
    OP
    May 10, 2016
    22
    @lz3259 fastcgi 定义了 web 服务器与 php 解释器之间的通信协议规范,建立在 tcp 协议上,可以看成与 http 一样同属应用层协议,就像 http 定义了客户端与 web 服务器之间的通信协议规范
    liamxd
    liamxd
    May 10, 2016
    23
    那儿有部署好的可以看看的?
    reage
    reage
    May 10, 2016
    24
    之前自己也搞了一个,设想在嵌入式设备中运行,现在改成代码同步工具。 觉得 web 服务器重点的实现在于内存管理、连接的管理,如果使用 c 写建议封装字符串的操作。
    jayki
    jayki
    OP
    May 10, 2016
    25
    @liamxd 没有现成部署好的, sorry
    jayki
    jayki
    OP
    May 10, 2016
    26
    @reage 同意,不过我的实现比较简单,没这么复杂
    a15819620038
    a15819620038
    May 10, 2016
    27
    不错。
    a15819620038
    a15819620038
    May 10, 2016
    28
    实现服务器支持 PHP 、 Python 等还是挺容易的~

    支持楼主,希望楼主继续完善~
    strwei
    strwei
    May 10, 2016
    29
    已 start ,不错,赞个
    yxzblue
    yxzblue
    May 10, 2016
    30
    挺牛逼
    jayki
    jayki
    OP
    May 10, 2016 via Android
    31
    @a15819620038 哈哈,谢谢
    jayki
    jayki
    OP
    May 10, 2016 via Android
    32
    @strwei 感谢, 抱拳
    jayki
    jayki
    OP
    May 10, 2016 via Android
    33
    @yxzblue 抱拳
    neoblackcap
    neoblackcap
    May 10, 2016
    34
    @jayki 至少追加个多进程,要不然一个长耗时的连接过来就 gg 了
    jayki
    jayki
    OP
    May 11, 2016
    35
    @neoblackcap 的确是,目前也实现了一个多进程版本的, https://github.com/jaykizhou/php-server/tree/master/schedule ,由于实现的比较粗糙,所以没有说明出来,后续完善吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2885 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 00:43 · PVG 08:43 · LAX 16:43 · JFK 19:43
    ♥ Do have faith in what you're doing.