PHP-NGINX-一个php制作的web服务器

2022-11-15 13:40:18 / 1534 / 编程代码


用php开发的类似nginx的web服务器,可用于学习

项目地址

Github:https://github.com/lovefc/php-nginx

Gitee:https://gitee.com/lovefc/php-nginx

基础功能

  • 支持windows|linux环境
  • 支持域名绑定
  • 跟nginx类似的配置文件
  • 处理静态文件,索引文件以及目录索引
  • 支持HTTPS
  • 支持PHP-FPM执行php文件
基础使用

php index.php [-c filename] [ start | restart | stop ] [ -v ]

-c 为 php-nginx 指定一个配置文件,来代替缺省的。

-v 显示 php-nginx 的版本。



在linux环境下,可以使用 php index.php -c filename [ start | restart | stop ] 来进行对单一配置的操作 windows环境下,则不行,重启和停止都是全部重启,全部停止  

线上测试地址

有趣乎: https://nginx.fcphp.cn

这是一个由php-nginx搭建的网站

注意事项 

  • 没有使用epoll模型,不支持很大的并发,请勿在正式环境使用(以后我在考虑上不上,因为要用时间肝)
  • 暂时还没有做Pathinfo和伪静态Rewrite,正在尝试制作,以好让它真的运行起现在的程序
  • 在win下启动,会默认启动cgi,要停止必须使用php index.php stop来进行停止
  • win下如果启动了php-cgi,如果你有wsl环境并且启动了php-fpm,那么会冲突,导致php执行出错
  • 启动并没有限制,如果你启动了两次,那么恭喜你,现在又多了(conf*1)个进程
  • 虽然致敬了nginx的配置,但是跟nginx的配置还是略微不同的,不能直接复制,请参考项目中的配置使用
LICENSE

php-nginx is released under the MIT license

gravatar头像