三九宝宝网宝宝百科宝宝知识

nginx的alias虚拟目录如何支持php

03月11日 编辑 39baobao.com

[Nginx虚拟主机多servername的顺序问题]在配置Nginx + PHP + MediaWiki中,发现一个问题:MediaWiki所在的Nginx虚拟主机绑定了多个域名,但是不管通过什么域名访问MediaWiki首页,都会被跳转到其中的一个域名上。Nginx配...+阅读

使用nginx的alias功能实现虚拟目录

在配置文件中加入

location ~ /abc/(.*)$ {

alias /data1/abc/$1;

}

当然,alias后面跟的目录可以随意,只要是你放程序的目录即可。也就是说,alias后面定义的/data1/abc/ 也可以使/data1/123/

此时,访问图片,网页,css以及js都没有问题,但是访问php就会报404. 怎么办?

继续加如下配置,但注意,要加在上面那段location配置的前面,否则不生效。

location ~ /abc/.+\.php$ {

root /data1/;

rewrite /abc/(.*\.php) /$1 break;

include fastcgi_params;

fastcgi_pass unix:/tmp/php-fcgi.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /data1/abc/$fastcgi_script_name;

}

到此,也可以支持php了。

如何限制Nginx PHP的目录权限

最近Nginx的使用者是越来越多,多数网站也从原本使用很多的Apache平台或其他平台迁移到了Nginx。对于刚刚接触Nginx的朋友来说,如何限制Nginx+PHP的目录权限成了实际问题,

大家都知道,在Apache中可以很容易的对虚拟目录进行权限控制,如:

程序代码如下:

ServerAdmin xiaopblive.com

DocumentRoot /usr//xpb/

ServerName IP:80

ServerAliasIP

ErrorLog logs/default-error_log

php_admin_value open_basedir "/tmp/:/usr//xpb/"

关键是后面的这句php_admin_value,这样就限制了php的操作目录仅限于/tmp/和/usr//xpb/这两个目录了。对于Apache虚拟主机来说,这个设置十分有用,结合在php.ini中禁用一些php函数,几乎可以杜绝PHP木马对其他站点及系统的危害。我虽没专业做过Linux下的虚拟主机,但相信各大虚拟主机商也是这么做的。

看来对于Apache最好的办法还是使用“在php.ini中禁用一些危险的php函数和在Apache虚拟主机中配置php_admin_value”的方式来做虚拟主机的安全。

关于Nginx的配置文件,参考了很多资料,好像是不支持php_admin_value open_basedir,也就是Nginx暂时还没有Apache的 php_myadmin_value这类的设置。如果用Nginx做虚拟主机,各用户之间的目录安全控制如何来做呢?网上很多人说,限制上传文件类型,做好程序安全不就行了么?对,对于自己的站点来说这样完全可以。但如果虚拟主机是给别人用的,又给予了FTP权限,总不能不让人上传php文件吧。

转载,仅供参考。

mac权限的nginx怎么支持php

Mac OSX下配置nginx和php首先安装nginx, 其次需要HomeBrew, 按照官网说明安装然后安装PHP,以下的命令在终端执行:更新下brew的库,加入php支持:brew tap homebrew/dupesbrew tap josegonzalez/homebrew-php然后执行:# 需要mysql,就把--without-mysql改为--with-mysqlbrew install --without-apache --with-fpm --without-mysql php55执行上面的命令后,brew就开始下载php源码并编译安装,大概几分钟时间。 安装完成后,配置php/bin到终端环境(未验证,貌似跟mac本身自带的php有冲突?):#这一步成不成功没关系,这步的目的只是让终端可以执行PHP命令,不影响web服务器使用echo 'export PATH="$(brew --prefix josegonzalez/php/php55)/bin:$PATH"' >>~/.bash_profile设置随系统自动启动:mkdir -p ~/Library/LaunchAgents#注意文件homebrew.mxcl.php55.plist的路径,需要根据实际情况改成自己的目录和文件名cp /usr/local/Cellar/php55/5.5.13/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/上面只是设置了自启动,但是还没真正启动,所以执行以下命令手动启动PHP-FPM:launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plistphp的配置和启动工作已经结束了,然后验证一下,执行lsof -Pni4 | grep LISTEN | grep php如果输出以下类似内容,那就表示成功了,否则。

。。自找原因吧:php-fpm 69659 frdmn 6u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)php-fpm 69660 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)php-fpm 69661 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)php-fpm 69662 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)最后就是配置nginx虚拟机:server { listen 80; server_name php.cssor.com; root /var/; location / { index index.html index.shtml; } #配置后缀为.php的就交给php引擎处理 #如果需要整站都托管给php,就把location ~ \.php$ 替换为location / ,同时上面的location / 配置就不需要了 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }}

PHP如何创建虚拟目录

进入Apache的conf目录打开httpd.conf文件输入:2.1:查找2.2:在ScriptAlias /cgi-bin/ "D:/Program Files/wamp/server/Apache2.2/cgi-bin/"的后面输入:Alias /php "F:/_php" 2.3:注意:虚拟目录为php另一种方法:3.1:查找# Virtual hosts3.2:将# Include conf/extra/httpd-vhosts.conf前面的“#”去掉3.3:打开Apache目录下Apache2.2\conf\extra\httpd-vhosts.conf文件3.4:在文件末尾添加Alias /php "F:/_php"4重启Apache...

以下为关联文档:

php如何生成动态页面php生成动态页面的意思是相对于web 1.0时代的纯html网页而言可以根据不同的条件来生成不同的页面。 在web 1.0时代,网页几乎都是写死了的html文档,访问的时候智能看到固定的内...

请教nginx多个 server怎么配置location /test { index index.php; root /xxx if (!-f $request_filename) { rewrite ^(.*)$ /index.php last; break; } } location ~* \.php { root /xxx fastcgi_split_...

php如何生成html<?php $Html = '<html><head><title&gt;这是一个html文档</title></head><body&gt;这是php生成的一个html文档</body></html>'; file_put_contents( 'abc.html', $Html );上面...

如何增加电脑的虚拟内存虚拟内存,顾名思义就是虚拟的而不是实际的硬件,是为满足程序的运行要求,扩大可用“内存”空间而设置的。在系统区根目录下有一个pagefile.sys文件,这就是Windows使用的虚拟内存...

关于在windows下配置nginx动静分离的问题求教从nginx官网下载相应的安装包 建议下载 下载稳定版 解压到相应的目录,比如我是e盘 然后修改目录名字为nginx 进入nginx目录 双击nginx.exe 来启动nginx 此时 直接在浏览器地...

如何在HTML中利用js调用php的内容PHP教程printf ("打开文件 %s 失败!",$countfile);exit;}else{//如果文件能够正常打开,就读入文件中的数据,假设是1 $count = fread ($fp,10); //读取10位数据 $count = $count + 1; fclose...

PHP如何导出Excel文件昨天项目里有个新需求,客户希望把一些数据能导出成为Excel表格,刚开始用PHP原生输入Excel表格,发现效果不是很理想,于是找到一个比较著名的库:PHPExcel。下面是一个简单的demo,分...

如何获得家长的支持父母是孩子的第一任老师,家庭教育对孩子的成长起到举足轻重的作用。学校教育需要家长的配合,班主任工作更需要家长的信任和支持。在教育过程中若能取得家长们积极配合,对学生的...

php怎么自定义mkdir创建目录php怎么自定义mkdir创建目录,PHP列出目录中的目录和文件的几种方法:PHP中,mkdir函数的功能是创建目录。如果想自定义,或者个性化设计创建目录,可以将该函数封装到方法中,然后调用...

推荐阅读
图文推荐