我在Ubuntu 12.04LTS上使用php5-fpm为wordpress和phpMyAdmin设置了nginx。
我的phpMyAdmin位于/var/www/phpMyAdmin
,wordpress位于/home/user/workspace/wordpress
,MySQL位于/var/run/mysqld/mysqld.sock
我想将/
映射到wordpress,/phpmyadmin
映射到phpMyAdmin,那么我该如何实现呢?
Wordpress似乎没问题,但在访问/phpmyadmin
时,浏览器会将请求“下载”为文件...... ??
这是我目前的nginx.conf:
server {
listen 8000;
root /home/user/workspace/wordpress;
index index.html index.htm index.php;\
location ~* /phpmyadmin { #TODO: shall here be a tailing slash??
#TODO: root or alias???
}
location ~ \..*/.*\.php$ {
return 403;
}
location / {
#TODO: show the following line be un-commented??
#try_files $uri $uri/ /index.php?q=$uri&$args;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;#TODO: could this being removed??
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
#FIXME: and how to block all access to /home/user/workspace/wordpress/server.d/*
#This doesn't work??
location /sever\.d {
autoindex on;
deny all;
}
并且,如果所有服务器都以wordpress/
运行,我应该为目录phpMyAdmin/
和www-data:www-data
设置什么权限?
目前我将它们设置为755 user:www-data
,这是正确的吗?
我还没有在linux下设置服务器,我在WinXP下使用这些服务器,所以我正在尝试。
答案 0 :(得分:1)
在您之间添加此
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}
之间的任何地方 也 你缺少一个服务器名称。键入server_name example.com;