原文  https://www.linuxidc.com/Linux/2017-10/147556.htm

使用Nginx搭建phpMyAdmin

 

Nginx有什么用?

Nginx可读作EngineX是由俄罗斯程序员Igor Sysoev开发的高性能的web服务器。
它采用了与Apache完全不同的模型,能够处理接收更多的请求。
由于Nginx优秀的性能,Nginx几乎可以和Apache并驾齐驱。
对Apache来说,Nginx可谓是后起之秀。
可以说Apache代表了经典,Nginx则代表了新锐。
那Nginx具体有什么功能呢?

基本功能:
  • 静态资源的web服务器,能缓存打开的文件描述符。
  • http, smtp, pop3协议的反向代理服务器,缓存、负载均衡。
  • 支持FastCGI
  • 模块化,过滤器zip,SSI及图像大小调整
  • 支持SSL。

需要注意的是:
a.如果单纯只安装一个Nginx的软件包,服务器只会响应静态请求。
所以Nginx在配合php-fpm的时候就可以解析php网页的动态请求。
Apache的时候,php一般作为一个插件安装使用。
而php-fpm则是一个独立的进程,一般监听在9000端口。
b.Nginx不仅作为web服务器具有高性能,而且作为反向代理服务器也是十分优秀的。
c.与Apache的动态加载模块不同,nginx虽然支持第三方模块,但是也需要编译。

扩展功能:
  • 基于名称和IP的虚拟主机
  • 支持长连接
  • 支持平滑升级
  • 定制访问日志 ,支持使用日志缓冲区提高日志存储性能
  • 支持url重写
  • 支持路径别名
  • 支持基于IP及用户的访问控制
  • 支持速率限制,支持并发数限制
    虽然看上去她好像跟Apache服务器没什么区别,下面我们将从几个方面与Apache进行对比。

Nginx与Apache的不同之处

明明已经有Apache了,Nginx有什么特别的好处吗?
  • Nginx和Apache的最大不同之处,在于其网络IO模型。
    上一次我们在讲解LAMP的时候有说过,Apache最大支持1024最大请求。
    这个是由Apache的网络IO模型Select()决定的。
    Nginx使用异步IO模型Epoll(),则没有Apache最大并发1024个请求这种限制。
    其实Select()最大并发1024也不少了,想想一天有86400秒,假如一秒并发1024个。
    不过这要建立在硬件性能满足最大请求的硬件基础上。因为不合穿的鞋怎么会让一个跑步运动员跑得快呢?
  • 配置文件相比较于Apache,更加简单易懂。
    而Apache在这方面,如反向代理的配置都相对麻烦。
    并且Nginx有很详尽的官方文档
    例如Apache将动态请求通过fastcgi转发给php-fpm,或者ajp协议转发给tomcat,在配置上都没有Nginx直观。

  • 作为反向代理服务器的时候,有健康状态检测。
    能够监测后端的主机,如果有下线的话则不会到代理到下线的主机上。
    自带健康状态监测功能,如果是lvs则需要手动编写脚本来监测后端主机的状态。

  • Nginx更加轻量
    响应请求的时候,Nginx占用的内存更加的少。

虽然Nginx还有很多很吸引人的地方,但是我觉得这三点是我感受最深的。
往后的文章里,在讲反向代理的时候我们也会使用到Nginx。
如果以后时间比较充足的话,我还会配置一次Apache反向代理到tomcat。
到时候大家可以自行比较一下两者在实现同样功能上到底有什么不同。

使用Nginx搭建phpMyAdmin

phpMyAdmin是一个图形化管理MySQL数据库的一个工具。
他可以配置在web服务器上,用于统计数据库信息,备份数据库,实现增删改查等功能。
phpMyAdmin十分好用,而且直观。

主机名 主机地址
node1 192.168.2.201  

本次使用的系统为CentOS7.1,数据库:MariaDB-5.5.50, web服务器:nginx-1.10.2,phpMyAdmin-4.6.5.2
注意:系统关闭了selinux,以及iptables。

由于这次我们需要安装phpMyAdmin的高版本,需要php5.5+的版本。
所以我们需要先配置一个remi的yum源,而这个源在清华大学有镜像。
Remi's RPM repository

而phpMyAdmin我们则可以访问他的官网
phpMyAdmin官方网站

(1)配置remi镜像

  [root@bc ~]# wget https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm
[root@bc ~]# yum install remi-release-7.rpm

在官网中选择合适的镜像安装,因为我们这里使用的是CentOS7,所以选择的是7的包。

(2)安装需要的组件

  [root@bc ~]# yum install nginx mariadb mariadb-server php-mysql  php56-php-fpm php56-php-mbstring php56-php-mysqlnd

这里需要注意的是,这次我们选择了php56-php-fpm,也就是php5.6版本的php-fpm。
系统默认提供的php-fpm是5.4版本的。

(3)下载phpMyAdmin,并解压放置在Nginx的web根目录下

  [root@bc ~]# wget https://files.phpmyadmin.net/phpMyAdmin/4.6.5.2/phpMyAdmin-4.6.5.2-all-languages.tar.gz
[root@bc ~]# tar xf phpMyAdmin-4.6.5.2-all-languages.tar.gz
[root@bc ~]# cp -Ra /root/phpMyAdmin-4.6.5.2-all-languages /usr/share/nginx/html/pma/
[root@bc ~]# chown nginx.nginx -R /usr/share/nginx/html/pma

(4)启动mariadb并初始化安全设置

[root@bc ~]# systemctl start mariadb.service
[root@bc ~]# mysql_secure_installation

这里主要是设置密码,以及清除一些测试库等。
输出结果挺长的就不截取了。
待会儿在phpMyAdmin的页面上登陆的账号密码其实就是这里设置的。

(5)修改nginx设置

[root@bc ~]# vim /etc/nginx/nginx.conf
server {
listen 80 default_server;
server_name node1.bc.com;
root /usr/share/nginx/html/pma;
index index.php index.html; # Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf; location / {
} location ~ \.php$ {
root html/pma/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/pma/$fastcgi_script_name;
include fastcgi_params;
}
}

(6)修改phpMyAdmin的配置

[root@bc ~]# cp /usr/share/nginx/html/pma/config.sample.inc.php /usr/share/nginx/html/pma/config.inc.php
[root@bc ~]# vim !$
$cfg['blowfish_secret'] = '0OYNHGWmgBWP/GtG3hLVwYlCeH0ZBs4hew'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

修改一行就可以了,这个主要是加密的字串,可以随便打一段进去,但是不要把我的这行复制进去。
需要注意的是,这个字符串需要在单引号里面,有一次眼神不好漏了一边单引号,结果报错了好久都没有找出问题。

(7)重启nginx以及启动php-fpm

[root@bc ~]# systemctl restart nginx.service
[root@bc ~]# systemctl start php56-php-fpm.service

如果启动nginx不成功,可以使用nginx -t来测试配置文件是否有语法错误。

(8)在浏览器上键入主机的ip地址就可以访问phpMyadmin。

phpMyAdmin.jpg

这里输入的是刚才初始化数据库的时候,自己设置的账号密码。
注意:安装phpMyAdmin的时候,因为要安装mbstring和mysqli组件。
假如没有安装,这里就会报错。
不过这些在remi的源中有提供,默认的源也有提供,不过要安装对应版本。
这里安装的是php56-php-fpm,所以安装mbstring的包名就是php56-php-mbstring
安装组件之后,php-fpm需要重启一下才能使组件生效。

(9)键入MySQL的账号密码就可以正常使用了!

phpMyAdmin使用成功.jpg

centos7 - nginx配置安装phpmyadmin的更多相关文章

  1. CentOs 7.*中配置安装phpMyAdmin的完整步骤记录

    phpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的资料库管理工具.下面这篇文章主要给大家介绍了关于CentOs 7.*中配置安装phpMyAdmin的相关资 ...

  2. centos7 nginx配置httpsCenos(6.6/7.1)下从源码安装Python+Django+uwsgi+nginx环境部署(二)

     1.yum安装nginx 下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/centos/7/noarch/RPMS/ngin ...

  3. Centos7:nginx的安装,配置及使用

    安装依赖 yum install gcc-c++//gcc环境 yum install -y pcre pcre-devel//PCRE:nginx的http模块使用pcre来解析正则表达式 yum ...

  4. nginx配置安装

    先安装pcrepcre作用是让Nginx支持Rewrite功能下载地址:https://sourceforge.net/projects/pcre/files/pcre/,选择最新版本进行下载下载之后 ...

  5. Nginx配置安装(Mac)

    我用到的安装工具是:homebrew 真的很方便! 步骤1: 打开终端,输入 brew info nginx结果:我们可以看到,nginx在本地还未安装(Not installed),nginx的来源 ...

  6. Linux centos7 nginx 的安装

    2021-08-18 1. 环境 # 操作系统[root@test007 /]# uname -aLinux test007 3.10.0-862.el7.x86_64 #1 SMP Fri Apr ...

  7. Centos7 nginx配置多虚拟主机过程

    一.前提准备 1.已经安装好了的Centos7服务器 2.ip 为192.168.1.209   [本次的配置ip] 3.确定防火墙等已经关闭 二.nignx配置文件参数详解 要配置多台虚拟主机,就需 ...

  8. Linux环境下Nginx配置安装PHP

    下边的安装配置方法,我试了一晚上没有成功,可能因为我的系统环境比较复杂,所以建议: 先安装PHP.使用yum命令安装,在安装配置MySQL,具体做法看博客中其他文章,至于Nginx服务器可以安装完这两 ...

  9. CentOS7+Nginx配置Tomcat负载均衡环境

    1.准备两个Tomcat 配置两个Tomcat一个端口是8080另外一个端口是8081,分别在webapps下面添加一个测试用的web项目,修改index.jsp文件,8080端口的index.jsp ...

随机推荐

  1. 4.NIO的非阻塞式网络通信

    /*阻塞 和 非阻塞 是对于 网络通信而言的*/ /*原先IO通信在进行一些读写操作 或者 等待 客户机连接 这种,是阻塞的,必须要等到有数据被处理,当前线程才被释放*/ /*NIO 通信 是将这个阻 ...

  2. AlterDialog对话框的使用

    第一步先写出layout文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...

  3. 面试想拿20K,HR说你只值10K,这个时候你该怎样回答或者反驳

    正确的做法是: 不动声色,继续跟HR谈下去.把面试流程走完,并且争取拿到这个10K的offer. 这里有一个小技巧: 如果拿到offer,礼貌地跟HR表示感谢,不过不要马上入职.可以找个由头,比方说自 ...

  4. 【问题】XShell连接不上Debian root用户

    类似文章:https://www.lianst.com/3231.html 修改此文件 重启ssh服务 ssh restart有问题,换一条命令OK 你的Linux发行版可能不一样,针对CentOS参 ...

  5. 什么是领域模型(domain model)?贫血模型(anaemic domain model)和充血模型(rich domain model)有什么区别

    领域模型是领域内的概念类或现实世界中对象的可视化表示,又称为概念模型或分析对象模型,它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系. 贫血模型是指使用的领域对象中只有s ...

  6. ACM-ICPC 2018 徐州赛区网络预赛 G. Trace (思维,贪心)

    ACM-ICPC 2018 徐州赛区网络预赛 G. Trace (思维,贪心) Trace 问答问题反馈 只看题面 35.78% 1000ms 262144K There's a beach in t ...

  7. php中float浮点型字段查询问题(数据对应不上)

    薪资表  查询员工提成时候  比如说表里面是88.8  查询出来则是89 反复调试 未果,最后查看表设计  把金额字段类型设置成float 最后换成double 解决问题!!!!

  8. Vue项目创建build打包后可修改的配置文件

    需要一个配置文件,能在项目打包(build)时不被打包,方便修改,同时项目刷新时读取改配置. 实现方法如下: 1.在项目的static目录下创建project.config.json文件(名称随意,建 ...

  9. 【专题】Spring Boot 2.x 面试题

    1.Spring Boot.Spring MVC 和 Spring 有什么区别? SpringFramework 最重要的特征是依赖注入.所有 SpringModules 不是依赖注入就是 IOC 控 ...

  10. Python操作MySQL数据库,插入重复数据

    sql = "INSERT  INTO test_c(id,name,sex)values(%s,%s,%s)" param = (1,'AJ','MAN') n = cursor ...