我安装了nginx和phpmyadmin。 我使用这些参数设置了一个域来testingphpmyadmin:
server { listen 80; server_name example.com; root /usr/share/phpmyadmin; index index.php; fastcgi_index index.php; location ~ \.php$ { include /etc/nginx/fastcgi.conf; fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name; fastcgi_pass unix:/var/run/php5-fpm.sock; } }
一切正常(如果我访问域,我可以login到phpmyadmin)。 问题是,它只是为了testingphpmyadmin,现在我想把它移动到我的“默认”网站。 但我无法弄清楚如何在/ phpmyadmin上。 这里是'默认'nginx网站(我想把这个/ phpmyadmin位置)的configuration:
server { server_name blabla; access_log /var/log/nginx/$host.access.log; error_log /var/log/nginx/error.log; root /var/www/default; index index.php index.html; location / { try_files $uri $uri/ index.php; } location ~ \.php$ { include /etc/nginx/fastcgi.conf; fastcgi_pass unix:/var/run/php5-fpm.sock; } ### NginX Status location /nginx_status { stub_status on; access_log off; } ### FPM Status location ~ ^/(status|ping)$ { fastcgi_pass unix:/var/run/php5-fpm.sock; access_log off; } }
听起来很奇怪,“标准”configuration对我而言并不适用于phpMyAdmin。
这是我最终做的,现在在“/ phpmyadmin”上成功:
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/; } }
我没有一个经验丰富的pipe理员,这个configuration需要清理,但它是我希望的一个好的首发。
没有什么特别的关于phpmyadmin; 一个标准的PHP位置块就足够了:
location /phpmyadmin { root /usr/share/phpmyadmin; location ~ \.php$ { include /etc/nginx/fastcgi.conf; fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name; fastcgi_pass unix:/var/run/php5-fpm.sock; } }