特码的,谷歌又用不了了。

吐槽完毕,正文如下:

caddy是一个用go语言开发的服务器,可用作web端。

caddy本身支持 -conf caddyfile的配置

在命令行中的体现: caddy -conf caddyfile

caddy是自定义的命令别名,-conf参数代表是对命令行中配置文件的读取,caddyfile就是配置文件。

其中caddyfile是文件名,这个名字的定义,自己就随意了。

fastcgi path endpoint [preset] {

  root directory

  ext extension

  split splitval

  index indexfile

  env key value

  except ignored_paths...

  pool pool_size

  upstream endpoint

  connect_timeout duration

  read_timeout duration

  send_timeout duration

}

  • 路径(path是在请求转发之前匹配的基本路径。
  • 端点(endpoint是FastCGI服务器的地址或Unix套接字。
  • 预设(preset是可选的预设名称(见下文)。使用预设时,不需要重复预设的各个设置。
  • root指定FastCGI服务器使用的根目录,如果与虚拟主机的根目录不同。如果FastCGI服务器位于不同的服务器,chroot-jailed和/或containerized上,这是有用的。
  • ext指定扩展名,如果请求URL具有该扩展名,则会将请求代理到FastCGI。
  • split指定如何拆分URL; 分割值成为第一部分的结尾,并且URL中的任何内容成为PATH_INFO CGI变量的一部分。
  • index指定文件未由URL指定时要尝试的默认文件。
  • env设置一个带有给定值的名为key的环境变量在 ENV属性可多次使用和值可以使用请求的占位符
  • except是fastcgi处理以外的空格分隔的请求路径的列表,即使它与基本路径匹配。
  • pool是要重用的持久连接的数量(可以在Windows上的性能很好); 默认值为0。
  • upstream指定要使用的附加后端。将执行基本负载平衡。这可以多次指定。
  • connect_timeout是连接到后端的时间。必须是持续时间值(例如“10s”)。
  • read_timeout是从后端读取响应的时间。必须是持续时间值。
  • send_timeout是允许向后端发送请求的时间。必须是持续时间值。

其中关于端点, endpoint这个东西的配置,官网上的示例为:

fastcgi / 127.0.0.1:9001 {

}

其中的127.0.0.1:9001这个就是endpoint中说的 FastCGI服务器的地址 同时,它只是第一种方法,或:后面还有 Unix套接字, 我使用的是ubuntu,其次环境搭建的是lnmp,我有现成的php-fpm,在php的文件:php/etc/php-fpm.conf(这只是个在php5.4.45中,具体得看自己的机器),监听的是socket文件为:php-cgi.sock,也就是unix的套接字

但是网上的配置文件多为安装好php后复制一份,然后进行配置,该工程坚挺服务器地址。。。话说我只是研究go语言和服务器啊喂,这个搞那么复杂感冒啊喂。

所以将上面的例子改动成

fastcgi / /youPath/php-cgi.sock php {

}

就可以了,服务器就可以解析php了。

posted on 2017-07-13 10:57  黑熊一只  阅读(8171)  评论(0编辑  收藏  举报