Nginx服务器上安装并配置PHPMyAdmin的教程


Posted in PHP onAugust 18, 2015

一、 准备工作:

1. 如果mysql的root账号为空,需要设置root密码
CentOS下默认安装的mysql服务器,里面的root账号默认密码为空,首先为root设置一个密码
#mysqladmin -u root password yourpassword

*注: 虽然通过一些特殊配置,可以使phpmyadmin允许空密码登录,但是不推荐这样做,尤其是公网的服务器。

2. 设置php.ini正确配置session.save_path

1). 首先检查php.ini配置文件

#grep session.save_path /etc/php.ini
 

如果不存在以下设置,增加该配置。如果被注释了话,去掉注释

session.save_path = “/var/lib/php/session”

2). 查看该目录是否存在:

#ls /var/lib/php/session
如果不存在,则手工创建
#mkdir /var/lib/php/session

# 修改目录属主为nginx

chown nginx:nginx session/ -R

# 重启启动php-fpm

service php-fpm restart

二、安装配置phpmyadmin

1. 下载并解压到phpmyadmin
官方下载页面:http://www.phpmyadmin.net/home_page/downloads.php
(中文用户应该选择下载all-languages版本)

下载完成后,解压:

unzip phpMyAdmin-4.1.12-all-languages.zip

移动到相应的目录位置,并改成容易访问的名称:

mv phpMyAdmin-4.1.12-all-languages /www/phpmyadmin

2. 配置phpmyadmin

复制一份配置文件:

#cd /www/phpmyadmin
#cp config.sample.inc.php config.inc.php
配置config.inc.php
#vi config.inc.php

设置一个内部使用的秘钥(和内部加密有关,与页面登录没有直接关系)

$cfg['blowfish_secret'] = ‘www.tudaxia.com';

三、配置Nignx下的站点

vi /etc/nginx/conf.d/phpmyadmin.conf
server {
 listen 8081;
 server_name localhost;
 access_log /var/log/nginx/phpmyadmin-access.log main;

 location / {
  root /www/phpmyadmin;
  index index.php;
 }

 location ~ \.php$ {
  root /www/phpmyadmin;
  fastcgi_pass  unix:/var/run/php-fpm/php-fpm.sock;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
 }

 location ~ /\.ht {
  deny all;
 }
}

重启nginx:

#service nginx restart

完成安装,访问http://yourserver:8081/,测试phpmyadmin。

四、phpmyadmin加载缓慢的解决方法

phpmyadmin4.0系列通通加载缓慢的最终原因是最近phpmyadmin的官网经常打不开,而phpmyadmin页面会自动检查官网上的程序 版本更新,所以当你进入phpmyadmin管理页面点击数据库的时候phpmyadmin一直在尝试连接官网从而把整个打开过程拖得很慢。

最终的解决办法是不让phpmyadmin检查更新,找到phpmyadmin目录下version_check.php文件,具体修改如下:

if (isset($_SESSION['cache']['version_check'])
  && time() < $_SESSION['cache']['version_check']['timestamp'] + 3600 * 6
) {
  $save = false;
  $response = $_SESSION['cache']['version_check']['response'];
} else {
//  $save = true;
//  $file = 'http://www.phpmyadmin.net/home_page/version.json';
//  if (ini_get('allow_url_fopen')) {
//    $response = file_get_contents($file);
//  } else if (function_exists('curl_init')) {
//    $curl_handle = curl_init($file);
//    curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
//    $response = curl_exec($curl_handle);
//  }
}

上面代码是通过注释掉else{......}中间这段来取消phpmyadmin连接官网version.json来检查更新

修改完后phpmyadmin马上又回到秒开了。

 

PHP 相关文章推荐
PHP中的integer类型使用分析
Jul 27 PHP
用来解析.htgroup文件的PHP类
Sep 05 PHP
php.ini修改php上传文件大小限制的方法详解
Jun 17 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
Jun 19 PHP
php实现字符串首字母转换成大写的方法
Mar 17 PHP
使用PHP实现生成HTML静态页面
Nov 18 PHP
php生成4位数字验证码的实现代码
Nov 23 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
php简单统计在线人数的方法
May 10 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
Nov 25 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
PHP实现的多进程控制demo示例
Jul 22 PHP
详解PHP中的mb_detect_encoding函数使用方法
Aug 18 #PHP
深入讲解PHP Session及如何保持其不过期的方法
Aug 18 #PHP
php微信公众平台开发之获取用户基本信息
Aug 17 #PHP
PHP添加图片水印、压缩、剪切的封装类
Aug 17 #PHP
php中switch语句用法详解
Aug 17 #PHP
Linux系统下PHP-FPM的安装和配置教程
Aug 17 #PHP
PHP连接Nginx服务器并解析Nginx日志的方法
Aug 16 #PHP
You might like
星际争霸中的对战模式介绍
2020/03/04 星际争霸
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
javascript 写类方式之五
2009/07/05 Javascript
JQery jstree 大数据量问题解决方法
2010/03/09 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
Javascript 面向对象编程(一) 封装
2011/08/28 Javascript
javascript分页代码(当前页码居中)
2012/09/20 Javascript
js特殊字符转义介绍
2013/11/05 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
2014/12/14 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
微信小程序tabBar 返回tabBar不刷新页面
2019/07/25 Javascript
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
Python学习小技巧总结
2018/06/10 Python
详解python列表生成式和列表生成式器区别
2019/03/27 Python
PyCharm更改字体和界面样式的方法步骤
2019/09/27 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
2012/12/31 HTML / CSS
C#中的验证控件有几种
2014/03/08 面试题
学校安全生产月活动总结
2014/07/05 职场文书
地理科学专业自荐信
2014/09/01 职场文书
个人四风问题整改措施思想汇报
2014/10/04 职场文书
篮球拉拉队口号
2015/12/25 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis