caddy配置php-fpm


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

吐槽完畢,正文如下:

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了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM