nginx虛擬主機防webshell跨目錄
nginx虛擬主機防webshell跨目錄
原文:http://key0.cn/index.php/archives/588
說明:www.key0.cn的web目錄/var/www/test; www.nginx.org的web目錄/var/www/test1
1.在nginx.conf里把每個虛擬主機站點請求埠給區別開server
{
listen 80;
server_name www.key0.cn;
index index.html index.htm index.php;
root /var/www/test;#limit_conn crawler 20;location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
}server
{
listen 80;
server_name www.nginx.org;
index index.html index.htm index.php;
root /var/www/test1;#limit_conn crawler 20;location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
include fcgi.conf;
}
}
複製代碼2.為每個站點建一個conf,並進行配置
#cp /usr/local/php/etc/php-fpm.conf /usr/local/php/etc/www.key0.cn.conf
#cp /usr/local/php/etc/php-fpm.conf /usr/local/php/etc/www.nginx.org.conf
www.key0.cn
在/usr/local/php/etc/www.key0.cn.conf找到php_defines,添加
/var/www/test:/tmp:/var/tmp www.nginx.org
在/usr/local/php/etc/nginx.org.conf找到php_defines,添加
/var/www/test1:/tmp:/var/tmp 修改為
127.0.0.1:9001 注意這裡的埠號
3.修改 php-fpm啟動腳本
首先註釋原來的php_fpm_CONF和php_opts
添加$php_fpm_BIN ?fpm ?fpm-config /usr/local/php/etc/www.key0.cn.conf
$php_fpm_BIN ?fpm ?fpm-config /usr/local/php/etc/www.nginx.org.conf
4.啟動服務
#/usr/local/php/sbin/php-fpm start
#/usr/local/nginx/sbin/nginx
查看埠#netstat -tlnp
開了9000 9001倆個不同的埠分開處理兩個站點請求,兩個php-cgi主進程載入不同的conf文件,實驗成功.
當然,啟動之前記得conf裡面的max_children,開啟php-cgi子進程數,相應要減少一些,以免造成內存不足
《解決方案》
謝謝分享