这几天在配置Nginx,PHP用FastCGI,想装一个phpMyAdmin管理数据库,phpMyAdmin不想放在网站根目录下,这样不容易和网站应用混在一起,这样phpMyAdmin的目录就放在别处,在Apache里,有alias,比较方便,在Nginx下没有虚拟目录概念的,是用location配合alias使用,我先试了简单的配置方式
location /web/ {
alias /data/web/;
index index.html index.htm index.php;
}
location ~ .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
我用http://localhost/web/可以访问到/data/web目录下的静态文件,但访问php文件,却报No input file specified.的错误,而且在Nginx的error日志上却什么信息也没有,我在网上搜索了一下,判断应该是php文件并没有被后端的 FastCGI运行,我又继续搜索一些文章,试着增加了一段配置
location /web/ {
alias /data/web/;
index index.html index.htm index.php;
}
location ~ ^/web/.+\.php$ {
root /data/;
rewrite /web/(.*\.php?) /$1 break;
include fcgi.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/web$fastcgi_script_name;
}
location ~ .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
这下可以了,原理应该是采用rewrite的方法,对于/web/下php类型的的请求交给后端的FastCGI处理,并且指定了php脚本的位置,这样我们就可以配置phpMyAdmin了,配置如下
location /phpmyadmin/ {
alias /data/phpmyadmin/;
index index.html index.htm index.php;
}
location ~ ^/phpmyadmin/.+\.php$ {
root /data/;
rewrite /phpmyadmin/(.*\.php?) /$1 break;
include fcgi.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/phpmyadmin$fastcgi_script_name;
}
location ~ .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
要注意的是
location ~ .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
这段,要放在phpmyadmin的后面,放在前面就有问题,这是和Nginx的location规则有关,具体看Nginx的文档,另外,phpMyAdmin里要配置一下URI的绝对路径,就可以了。
分享到:
相关推荐
UPUPW已配置Nginx的虚拟主机支持伪静态文件,示例包含discuz,phpwind,WordPress和ThinkPHP伪静态规则; UPUPW已配置Nginx的虚拟主机支持Pathinfo路径功能; 支持Nginx和PHPfpm服务的单独开启、关闭与重启; 支持...
php管理nginx虚拟主机shell脚本_.docx
欢迎使用LNMP/Nginx 虚拟主机面板 - AMH 01) 简单: 简洁精致,支持ssh、web在线轻松管理维护虚拟主机、MySQL、FTP。 02) 高效: 使用高性能Nginx服务器软件支持,面板基于AMH命令行运行,实现过程快速高效。 ...
php管理nginx虚拟主机shell脚本__2.docx
php管理nginx虚拟主机shell脚本__1.docx
DebianLNMP虚拟主机管理工具Nginx PHP5.3 MySQL管理软件 Debian6系统下使用之前发布的“DebianLNMP”服务器软件套件,DebianLNMP一键安装包是一个快捷的服务器套件,轻轻松松全自动安装LNMP(Nginx、MySQL、PHP、...
DebianLNMP虚拟主机管理工具Nginx PHP5.3 MySQL管理软件 Debian6系统下使用之前发布的“DebianLNMP”服务器软件套件,DebianLNMP一键安装包是一个快捷的服务器套件,轻轻松松全自动安装LNMP(Nginx、MySQL、PHP、...
Amysql - AMH简介 01) 简单: 简洁精致,支持ssh、web在线轻松管理维护虚拟主机、MySQL、FTP。 02) 高效: 使用高性能Nginx服务器软件支持,面板基于AMH命令行运行,实现过程快速...AMH为独立的一套LNMP/Nginx虚拟
主要介绍了nginx虚拟主机配置实例详解的相关资料,需要的朋友可以参考下
5.1. 什么是nginx的虚拟主机 5.2. 标准的虚拟主机配置 5.3. 规划虚拟主机的配置文件 6. 动静分离 7. nginx的反向代理 7.1. 什么是反向代理 7.2. 明确两个概念 7.3. 特点 7.4. 反向代理的配置 7.5. 可以将...
# 使用说明 解压到固定目录不用随意修改路径,如果需要修改路径请修改注册表系统路径! 开始菜单允许 regedit 找到 【HKEY_CURRENT_USER\Software\WebServer】 去设置服务器...需要自己绑定和nginx虚拟目录进行访问
5.nginx配置虚拟主机 6.nginx location配置 7.nginx root&alias文件路径配置 8.nginx日志配置 9.apache和nginx支持SSL配置 10.nginx日子切割 11.Nginx重新规则指南 12.Nginx逻辑运算 13.隐藏Nginx版本号的安全性与...
目录: ①Nginx MySQL PHP.pdf ②Nginx虚拟主机(HTML).pdf ③Nginx静动分离.pdf ④Nginx虚拟主机(PHP).pdf ⑤Nginx tomcat整合.pdf ⑥Nginx并发查看.pdf ⑦Nginx授权访问.pdf
4.6 在不停止Nginx服务的情况下平滑变更Nginx配置 4.7 编写每天定时切割Nginx日志的脚本 第5章 Nginx与JSP、 ASP.NET、 Perl的安装与配置 5.1 Nginx与JSP( Tomcat) 在Linux上的安装、 配置 5.2 Nginx与ASP.NET( ...
Nginx 是一个安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器:Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下...
1.目前官方 Nginx 并不支持Windows,您只能在包括Linux,UNIX,BSD系统下安装和使用,现在提供nginx for windows下载以及详细安装与配置,供windows下的nginx应用。 2.Nginx 本身只是一个HTTP和反向代理服务器,它无法...
目前官方 Nginx 并不支持 Windows,您只能在包括 Linux、UNIX、BSD 系统下安装和使用; Nginx 本身只是一个 HTTP 和反向代理服务器,它无法像 Apache 一样通过安装各种模块来支持不同的页面脚本,例如 PHP、CGI 等...
3.网站根目录为 www/htdocs 文件夹,可以通过MiniServer菜单快速进入,也可以使用Apache的虚拟目录功能单独设置目录(Nginx暂时不支持虚拟目录) 4.菜单中有修改端口的功能,修改前请确保其他软件没有占用所修改的...
同时提供一些实用的辅助工具如:虚拟主机管理、FTP用户管理、Nginx、MySQL/MariaDB、PHP的升级、常用缓存组件的安装、重置MySQL root密码、502自动重启、日志切割、SSH防护DenyHosts/Fail2Ban、备份等许多实用脚本。
Nginx 是一个安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器:Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下...