nginx如何添加访问目录(非站点根目录及子目录)

dingling1986 2015-01-28 10:08:44
nginx如何添加其它访问目录。
不是别名alias

Apache下可以添加如下
php_admin_value open_basedir "/usr/local/apache/htdocs/www/:/tmp/"
就能实现访问其它路径

主要目的是让用户上传的文件不在站点目录下,
但是现在mkdir无法创建文件夹,但是根目录下及子目录下可以创建

系统 centos6.5 64bit
...全文
17445 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mycongrong 2017-01-03
  • 打赏
  • 举报
回复
感谢楼主分享!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
独孤殇 2015-07-31
  • 打赏
  • 举报
回复
很多人解决之后要么没信,要么就说一句已经解决就不再说解决方式了,虽然无可厚非。感谢楼主的分享,刚开始学习nginx。
dingling1986 2015-01-29
  • 打赏
  • 举报
回复
呵呵,还是自己解决了。 真是傻,一门心思找nginx,没有去找php nginx+php使用open_basedir限制站点目录防止跨站 以下三种设置方法均需要PHP版本为5.3或者以上。 方法1)在Nginx配置文件中加入 fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/:/proc/"; 通常nginx的站点配置文件里用了include fastcgi.conf;,这样的,把这行加在fastcgi.conf里就OK了。 如果某个站点需要单独设置额外的目录,把上面的代码写在include fastcgi.conf;这行下面就OK了,会把fastcgi.conf中的设置覆盖掉。 这种方式的设置需要重启nginx后生效。 方法2)在php.ini中加入: [HOST=www.server110.com] open_basedir=/home/www/www.server110.com:/tmp/:/proc/ [PATH=/home/www/www.server110.com] open_basedir=/home/www/www.server110.com:/tmp/:/proc/ 这种方式的设置需要重启php-fpm后生效。 方法3)在网站根目录下创建.user.ini并写入: open_basedir=/home/www/www.server110.com:/tmp/:/proc/ 这种方式不需要重启nginx或php-fpm服务。安全起见应当取消掉.user.ini文件的写权限。 关于.user.ini文件的详细说明: http://php.net/manual/zh/configuration.file.per-user.php 设置open_basedir的同时最好禁止下执行命令的函数,比如: shell_exec('ls /etc')仍然查看到/etc目录的文件列表 shell_exec('cat /etc/passwd')仍可查看到/etc/passwd文件的内容 建议禁止的函数如下: disable_functions = pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority, eval, popen, passthru, exec, system, shell_exec, proc_open, proc_get_status, chroot, chgrp, chown, ini_alter, ini_restore, dl, pfsockopen, openlog, syslog, readlink, symlink, popepassthru, stream_socket_server, fsocket, chdir
dingling1986 2015-01-29
  • 打赏
  • 举报
回复
自己顶一下,有同志帮帮我啥
Anrip.xServer 使用手册 功能: FTP + MYSQL + HTTP + PHP(FCGI) 作者: 若海[mail@anrip.com] & 尛岢[mod@kerring.net] & 小小宇[sos07@qq.com] 主页: http://www.anrip.com 说明: xServer是业内首家通过CMD界面管理所有服务并实现标准管理接口的集成化WEB开发环境。 支持php54/3/2版本切换或多版本同时运行,支持为独立站点配置独立php进程,保证站点安全。 支持Zend/eAccelerator/Mencached/XCache等扩展服务。 支持FileZilla提供的ftp服务。 - - - - - - - - - - - - - -组件列表- - - - - - - - - - - - - - FileZilla/0.9.41 http://filezilla-project.org/ MySQL/5.5.28 http://www.mysql.com/downloads/mysql/ Nginx/1.2.4 http://www.nginx.org/en/download.html PHP/5.4.8/5.3.18/5.2.17 http://windows.php.net/download/ Zend/5.5.0 http://www.zend.com/en/downloads/ XCache/2.0 http://xcache.lighttpd.net/pub/Releases/ eAccelerator/1.0 http://eaccelerator.net/ Memcached 1.2.6 http://memcached.org/ - - - - - - - - - - - - - -安装向导- - - - - - - - - - - - - - 1.解压到任意磁盘目录,或其它不包含中文及特殊字符的目录 2.如需兼容IIS服务,请运行anrip\httpcfg\iis.cmd修改监听地址 3.运行xServer.bat,选择[安装服务],即可安装MYSQL+Nginx+PHP服务 Nginx默认监听地址为0.0.0.0:80 MySQL默认监听地址为0.0.0.0:3306 PHP52默认监听地址为127.0.0.1:9521 PHP53默认监听地址为127.0.0.1:9531 PHP54默认监听地址为127.0.0.1:9541 - - - - - - - - - - - - - -常见问题- - - - - - - - - - - - - - 警告: 若需修改服务器参数,请修改anrip\config目录内对应的文件; 而不是软件目录下自动生成的config目录。 一、如何建立新站点 1.参考anrip\config\nginx\server\103.net.anrip.inc创建站点配置 2.创建对应的网站目录,例如webapp\com.example\www 3.运行xServer.bat,选择[重建配置],再选择[重启服务] 二、如何管理MySQL和Memcached 1.使用浏览器访问http://127.0.0.1/tools/adminer.php 1.使用浏览器访问http://127.0.0.1/tools/memcached 2.服务器:127.0.0.1;帐户/密码:root/admin 三、如何切换PHP版本 1.确保服务未安装,否则请[卸载服务] 2.编辑anrip\config\phpye\phpye.ini修改进程池参数 3.编辑Nginx配置41.server_location_*或站点配置,修改为对应端口 3.运行xServer.bat,选择[重建配置],再选择[重启服务] 四、如何修改WEB目录 1.编辑anrip\config.php,修改[XS.WEB]的值 2.建立[XS.WEB]对应目录,并移动原WEB到[XS.WEB]目录 3.运行xServer.bat,选择[重建配置],再选择[重启服务] 五、如何修改MySQL数据目录 1.编辑anrip\config.php,修改[XS.SQL]的值 2.建立[XS.SQL]对应目录,并移动原MySQL数据到[XS.SQL]目录 3.运行xServer.bat,选择[重建配置],再选择[重启服务] - - - - - - - - - - - - - -更新日志- - - - - - - - - - - - - 2012年10月23日 - 新编译Nginx发名为nServer - 更新Nginx1.2.4集成nginx_concat_module模块,多文件合并功能 2012年10月22日 - 更新PHP版本为5.4.8和5.3.18 - 更新MySQL版本为5.5.28 - 加入php-xdebug支持,版本2.2.1 2012年10月15日 - 修正php5.2启动错误 2012年10月12日 - 添加php进程管理模块phpye - 修正自定义data地址nginx启动错误 2012年09月29日 - 更新Nginx版本为1.2.4 - 模块化nginx/php/mysql - 因未实现标准管理接口,ftp/mem放入extend目录作为扩展模块 2012年09月28日 - 独立MySQL管理脚本,允许外部调用方式管理 - 独立AnWeb管理脚本,允许外部调用方式管理 - 优化php文件浏览器,去掉“删除”功能 - 修正php文件浏览器的安全隐患 - 新加入Memcached及管理脚本 - nginx主机加入模拟路由支持 2012年09月20日 - FTP服务器(FileZilla)中文乱码问题 2012年09月18日 - 修正php文件浏览器的安全BUG 2012年09月17日 - 更新PHP版本为5.2.17为Thread Safe 线程安全 - PHP版本为5.2.17 加入对Zend支持 - PHP版本为5.2.17 更新eAccelerator为1.0(vSVN427) 2012年09月14日 - 更新PHP版本为5.4.7和5.3.17 2012年09月12日 - 更新PHP版本为5.4.6 - 同时支持php5.4/5.3/5.2版本 2012年09月11日 - 重建配置文件的时候,自动备份旧配置文件,防止误删 - 开启MySQL性能元数据信息库引擎(performance_schema) - 优化xServer.bat脚本性能 2012年08月30日 - 更新MySQL版本为5.5.27 - 更新FileZilla版本为0.9.41 2012年08月10日 - 修改一个Nginx启动时的系统错误 - 更新Nginx版本为1.2.3 - 更新PHP版本为5.4.5 2012年06月06日 - 几个有关HTML5的小修正,无关紧要 2012年06月01日 - 统一配置文件替换变量表,参看anrip/config.php,请注意修改站点配置 - MySQL数据、生成配置文件、模块临时文件均放入mydata目录,方便设置安全权限 2012年05月25日 - 配置文件放到到anrip/config目录 - 控制台代码模块化 2012年05月20日 - 更新PHP版本为5.4.3 - 优化配置文件编译脚本 - 更新WEB文件浏览器 2012年05月08日 - 更新PHP版本为5.4.2 - 更新PHP配置文件 - 更新xCache版本为2.0 - 更新Nginx版本为1.2.0 - 目录全部以小写命名,解决部分不标准PHP程序出现找不到目录的问题 2012年04月17日 - 优化error_page参数 2012年04月16日 - 更新MySQL版本为5.5.23 - 更新Nginx版本为1.0.15 - 优化Nginx配置文件 - 更改目录.default为a.default,解决特定情况无法读取目录的问题 2012年04月05日 - 解决MySQL远程访问慢的问题 2012年03月30日 - 更新Nginx版本为1.0.14 2012年03月20日 - 优化PHP配置 - 优化Nginx配置 2012年03月13日 - 更新xxfpm,防止部分杀软误报 - 更新php监听端口,防止和一些下载软件端口冲突 2012年03月07日 - 更新vc9运行库,实现自动安装 - 取消eAccelerator加速器 - 添加XCache加速器 2012年03月06日 - 更新Nginx版本为1.0.13 - 分离二进制文件/配置文件/数据文件 - 更名为xServer,寓意n个服务器组合 2012年03月05日 - 全新PHP-FCGI管理器 - 更新PHP版本为5.3.10 - 更新Nginx版本为1.0.12 2011年12月15日 - 优化MySQL-InnoDB配置文件 - 优化PHP-FCGI进程管理脚本 2011年12月10日 - PHP-FCGI采用每进程唯一端口的方式,解决高并发502错误频繁的问题 2011年11月30日 - 更新Nginx版本到1.0.10 2011年11月28日 - 再次细化Nginx配置文件 2011年11月9日 - 修正Nginx在Windows2003无法监听端口的问题 2011年11月5日 - 更新Nginx版本到1.0.9 - 将Nginx子进程数设置为2,单进程连接数提高到3072 - 允许设置多个错误处理页面 - 允许设置多个PHP处理配置 2011年10月8日 - 添加vc运行库检测功能,未安装时提示手动安装vc运行库 - 调整网络、运行权限顺序,防止检测因权限问题而无法完成 - 更新eAccelerator为VC9编译版,防止Win7下无法加载 2011年10月4日 - Web站点目录移动至User/WebApp,MySQL数据目录移动至User/MySQL - config.php添加参数XS.SQL和XS.WEB,用于分别制定MySQL数据和Web站点目录 - Nginx添加31.server_error_page配置,用于单独自定义错误提示 2011年10月3日 - 重写“检测网络、运行权限”代码 2011年9月29日 - 优化config.php脚本,支持自定义IP、临时目录、网站目录 - 修正zend路径为linux格式 2011年9月23日 - 运行前先进行网络测试,防止开机网络服务启动慢导致启动失败 - 使用最新汉化版FileZilla Server - MySQL默认使用MYISAM引擎 2011年9月19日 - 更新Nginx版本到1.0.6 - 更新PHP版本到5.3.8 - 添加PHP5.3对应的Zend扩展 - 优化Nginx配置文件 2011年5月20日 - 兼容IIS时,修改IIS监听端口为127.0.0.1:81 - 优化站点配置文件 2011年5月5日 - 更新此软件包已经有3年了,从今天开始正式写日志 - 添加管理员模式检测,方便Vista/Win7/Win2008用户使用 - 更改Nginx站点配置为: include server/*.inc

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧