Nginx

執行 nginx 1.10.1、PHP 7.0.8、MariaDB 10.0.25 和 MediaWiki 1.27.1 的 OpenBSD 6.0 上的 PHP-FPM chroot 監獄中的 DNS

  • September 18, 2016

我在 OpenBSD 6.0 上執行 nginx 1.10.1,包 php-7.0.8p0、php-curl-7.0.8p0、php-fastcgi-7.0.8p0、php-gd-7.0.8p0、php-mcrypt-7.0。 8p0、php-mysqli-7.0.8p0、mariadb-client-10.0.25v1 和 mariadb-server-10.0.25p0v1。

我有幾個 MediaWiki 1.27.1 安裝、一個圖像池和幾個訪問該池的語言 wiki。每個安裝都在 nginx 中配置了自己的虛擬子域。

php70_fpm 執行 chroot,/etc/php-fpm.conf 看起來像這樣:

chroot = /path/to/chroot/jail

listen = /path/to/chroot/jail/run/php-fpm.sock

/etc/nginx/nginx/sites-available/en.domain.com 看起來像這樣:

fastcgi_pass   unix:run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

/etc/my.cnf 看起來像這樣:

port            = 1234
socket          = /path/to/mysql.sock
bind-address    = 127.0.0.1
skip-external-locking
#skip-networking

當我嘗試從 en.domain.com 上的 pool.domain.com 獲取圖像描述時,我收到“無法解析主機 pool.domain.com”錯誤。

一旦我在沒有 chroot 的情況下執行 php_fpm,文件描述就會毫無問題地從池中獲取。

我不想將 /etc 中的內容複製到 /path/to/chroot/jail 中,我該怎麼辦?我可以使用一些 PHP 7 模組嗎?我必須玩 unbound 嗎?

任何幫助都非常受歡迎!

謝謝和歡呼,

您似乎缺少名稱解析工作所需的文件/庫。

您需要的最低限度是/etc/resolv.conf. ldd如果添加此文件沒有幫助,您需要使用該實用程序找出 chroot 監獄中缺少哪些庫。

引用自:https://serverfault.com/questions/803846