国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

nginx php-fpm環境中chroot功能的配置使用方法

2024-08-30 12:27:02
字體:
來源:轉載
供稿:網友

nginx+php-fpm是現在配置php環境非常流行的組合之一。nginx以其并發能力強,輕巧,速度快而受到非常多人的青睞,php-fpm以其安全,處理php速度快而成為與nginx的最佳組合。php-fpm提供有一個非常重要的功能chroot,它可以把指定的網站完完全全限制在一個目錄下,可以對系統和其它虛擬機起到很好的隔離效果,這對系統的安全無疑是加強了不少,下面介紹如何配置。

我們假設域名為m.survivalescaperooms.com,網站根目錄為/home/chroot/m.survivalescaperooms.com/web,需要把此網站限制在/home/chroot/m.survivalescaperooms.com。

一、php-fpm.conf配置

打開php-fpm.conf文件,把chroot更改為chroot = /home/chroot/m.survivalescaperooms.com

二、nginx配置

我們上面把m.survivalescaperooms.com站點限制在了/home/chroot/m.survivalescaperooms.com,所以對于php-fpm,此網站根目錄已經變成是/web,所以我們需要更改nginx傳遞給php-fpm的網站根目錄地址。
找到fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;,更改為fastcgi_param SCRIPT_FILENAME /web$fastcgi_script_name;

三、一些目錄創建
代碼如下:cd /home/chroot/m.survivalescaperooms.com/
mkdir -p tmp etc bin usr/sbin lib dev/
mknod -m 0666 dev/null c 1 3
mknod -m 0666 dev/random c 1 8
mknod -m 0666 dev/urandom c 1 9
mknod -m 0666 dev/zero c 1 5
chmod 1777 tmp

四、修復解析

把m.survivalescaperooms.com的php完全限制在一個目錄下后,導致了php無法解析域名,以32位系統為例(64位庫文件位置為lib64)下面是修復的步驟,
代碼如下:cd /home/chroot/m.survivalescaperooms.com/
cp /etc/hosts /etc/resolv.conf /etc/nsswitch.conf etc/
cp /lib/{ld-linux.so.2,libc.so.6,libdl.so.2,libnss_dns.so.2,libnss_files.so.2,libresolv.so.2,libtermcap.so.2}  lib/

這樣php就可以解析域名了。

五、修復sendmail功能

同樣chroot目錄后,就無法發送郵件了,我們這里使用mini_sendmail代為發送郵件。同樣以32位系統為例。
代碼如下:
cd /home/chroot/m.survivalescaperooms.com/
cp -P /bin/bash /bin/sh bin
cp /etc/passwd /etc/group etc
cd /tmp
wget http://www.acme.com/software/mini_sendmail/mini_sendmail-1.3.6.tar.gz
tar xzf mini_sendmail-1.3.6.tar.gz
cd mini_sendmail-1.3.6
make
cp mini_sendmail /home/chroot/m.survivalescaperooms.com/usr/sbin/sendmail


六、與禁用函數相比,Chroot有什么優點呢?

  禁用函數是針對整個PHP程序而言的,所有需要通過PHP程序進行解析的文件,都會受到禁用函數的設置。網站程序不同,那么有可能需要的函數不同,不同的虛擬主機無法單獨設置。而Chroot可以根據不同的虛擬主機,進行特異化設置。對于需要使用特殊函數的程序,可以關閉Chroot,來保證網站程序的正常運轉;程序不需要調用特殊的程序,就可以開啟Chroot模式;如果只是要啟用一個或兩個特定的程序,你可以仿照如下的過程添加函數。比如說,當我們開啟Chroot時,PHP程序是無法使用sendmail()函數來發信的,我們可以使用mini_sendmail替代sendmail來修復發信。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德钦县| 兴和县| 温泉县| 澎湖县| 新竹县| 阳高县| 丰原市| 杭锦旗| 新田县| 巴彦县| 周口市| 香格里拉县| 五华县| 桦甸市| 卢氏县| 亳州市| 沛县| 金山区| 佛学| 蒙山县| 永川市| 鹤壁市| 大洼县| 大竹县| 新源县| 盐山县| 理塘县| 龙江县| 邵阳市| 射洪县| 三台县| 丹棱县| 琼海市| 龙南县| 武强县| 武胜县| 万宁市| 南部县| 常州市| 陈巴尔虎旗| 定南县|