GVKun编程网logo

centos7一步一步搭建docker phpmyadmin 及nginx配置phpmyadmin非根目录重点讲解

32

本文将为您提供关于centos7一步一步搭建dockerphpmyadmin及nginx配置phpmyadmin非根目录重点讲解的详细介绍,同时,我们还将为您提供关于apache+MySQL+php,

本文将为您提供关于centos7一步一步搭建docker phpmyadmin 及nginx配置phpmyadmin非根目录重点讲解的详细介绍,同时,我们还将为您提供关于apache+MySQL+php,把phpmyadmin放到htdocs根目录下,在地址栏中输入http://localhost/phpMyAdmin,该如何解决、Centos 6.6 下 nginx +php mysql + phpMyadmin 安装部署、centos nginx下安装phpmyadmin、centos 配置 phpmyadmin的实用信息。

本文目录一览:

centos7一步一步搭建docker phpmyadmin 及nginx配置phpmyadmin非根目录重点讲解

centos7一步一步搭建docker phpmyadmin 及nginx配置phpmyadmin非根目录重点讲解

 系统环境:centos7.7 

 镜像image 版本:PHPmyadmin/PHPmyadmin(截止2020.01.10最新版)

  参考文章:https://blog.csdn.net/a2589293499/article/details/102938724

 一、根目录下的PHPmyadmin访问。

 1、查看版本。

  

 2、拉取最新版本。视网络速度等待~~

  

 3、查看镜像。

  

 4、运行。先启动一个临时容器,假设你已经有一个可ip连接的MysqL数据库。  

docker run --name my_PHPadmin_2020 -d -p 8001:80 --restart=always -e PMA_HOST=192.168.197.129 -e PMA_PORT=3306 -e TZ="Asia/Shanghai" PHPmyadmin/PHPmyadmin

  

 5、访问。浏览器访问ip:8001。报错 MysqLi_real_connect(): (HY000/2002): No route to host ,问题原因是配置的访问ip不对

  

 6、解决问题。复制PHPmyadmin 容器的配置文件config.sample.inc.PHP到宿主机config.inc.PHP。

  

  

  设置 $cfg['Servers'][$i]['host'] = '你的ip地址',保存。

  

 7、删除容器 my_PHPadmin_2020。然后重启一个挂载配置文件的容器。

docker run --name my_PHPadmin_2020 -d -p 8001:80 --restart=always -e PMA_HOST=192.168.197.129 -e PMA_PORT=3306 -e TZ="Asia/Shanghai" -v /www/my_admin/config.inc.PHP:/var/www/html/config.inc.PHP PHPmyadmin/PHPmyadmin

参数解析:
-d 后台运行容器,并返回容器ID;
--name 为容器起一个容易区分且容易书写的名字
-p 映射宿主机端口到容器端口,宿主机端口:容器端口
--restart=always 机器重启时自动启动容器
-e       设定一些必须的环境变量。
          -e TZ="Asia/Shanghai" 设定时区为上海,强烈建议国内设定,否则容器内打印的所有日志时间都会差8小时。
          -e PMA_HOST=192.168.197.129 -e PMA_PORT=3306 设定数据库的访问地址。
-v       挂载宿主机文件到容器。
          -v /www/my_admin/config.inc.PHP:/var/www/html/config.inc.PHP 绑定挂载文件

 8、重新访问登录,成功。

  

 

生活不止眼前的苟且,还有诗和远方~~
原文地址:https://www.cnblogs.com/jying/p/12177746.html
作者:一定会去旅行
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

 

 9、如果有人也是在vmware 虚拟机中配置的,仍报错MysqLi_real_connect(): (HY000/2002): No route to host 的话,请检查端口是否已添加到防火墙。

  

原文地址:https://www.cnblogs.com/jying/p/12177746.html
作者:一定会去旅行
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

 二、下面我们介绍如果在Nginx配置非根目录节点的 PHPmyadmin。

 1、前6步与第一部分一样,从第7步重启容器时多加一个参数:-e PMA_ABSOLUTE_URI=你的ip:8001/PHPmyadmin,由于前面的my_PHPadmin_2020没有删除,此处我们重命名为my_PHPadmin_2019。

  

docker run --name my_PHPadmin_2019 -d -p 8001:80 --restart=always -e PMA_ABSOLUTE_URI=http://192.168.197.129/PHPmyadmin -e PMA_HOST=192.168.197.129 -e PMA_PORT=3306 -e TZ="Asia/Shanghai" -v /www/my_admin/config.inc.PHP:/var/www/html/config.inc.PHP PHPmyadmin/PHPmyadmin

参数解析:
-d 后台运行容器,并返回容器ID;
--name 为容器起一个容易区分且容易书写的名字
-p 映射宿主机端口到容器端口,宿主机端口:容器端口
--restart=always 机器重启时自动启动容器
-e       设定一些必须的环境变量。
          -e TZ="Asia/Shanghai" 设定时区为上海,强烈建议国内设定,否则容器内打印的所有日志时间都会差8小时。
          -e PMA_HOST=192.168.197.129 -e PMA_PORT=3306 设定数据库的访问地址。
          -e PMA_ABSOLUTE_URI=http://192.168.197.129/PHPmyadmin  反向代理路径,路径名字可以自己起名,此处的ip也可以使用上线后的域名。
-v       挂载宿主机文件到容器。
          -v /www/my_admin/config.inc.PHP:/var/www/html/config.inc.PHP 绑定挂载文件

 

 2、访问。此时我们在访问ip:8001页面能显示,但是登录会提示session错误。我们配置了上面的反向代理路径为ip/PHPmyadmin,但此时直接访问/PHPmyadmin页面也报错。

  

  

 3、使用Nginx配置PHPmyadmin访问。

  上一篇(https://www.cnblogs.com/jying/p/12182715.html)已介绍Nginx docker的搭建,本文直接修改Nginx.conf配置,内容如下。  

  

  

  

# user root;
worker_processes 8;

events {
    worker_connections  10240;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$host "$request" $remote_addr $remote_user [$time_local] $status $request_time $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/Nginx/access.log  main;# 这个地址竟然可以是docker里面的绝对路径!!!,因为-v挂载到了此处

    keepalive_timeout  300;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    send_timeout 300;

    client_max_body_size 200m;
    sendfile        on;
    #tcp_nopush     on;
    #gzip  on;

    limit_req_zone $binary_remote_addr zone=req_limit_per_ip_second:1m rate=10r/s;
    limit_req_zone $binary_remote_addr zone=req_limit_per_ip_minute:10m rate=100r/s;

    #
    server{
        listen 80;
        server_name mytest;
        
        # location ~ .*\.(PHP|PHP5|jsp)$ {
        #     deny all;
        # }

        #
        location / {
            if ($document_uri ~* ".*\.(PHP|PHP5|jsp)$") {
                # if中不能使用 deny 和 allow
                return 404; 
            }

            root   /usr/share/Nginx/html; # 这个地址竟然可以是docker里面的绝对路径!!!,因为-v挂载到了此处
            index  index.html index.htm;
            access_log /var/log/Nginx/root.log  main;
        }

        #
        location /PHPmyadmin/ {
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header X-Forwarded-Host $server_name;
            proxy_set_header X-Real-IP $remote_addr;

            proxy_pass http://192.168.197.129:8001/; # PHPmyadmin 真实访问路径
            access_log /var/log/Nginx/PHPmyadmin.log  main;
        }

    }

}

  

 4、重启Nginx容器。访问ip/PHPmyadmin正常~~

   

  

 

 

原文地址:https://www.cnblogs.com/jying/p/12177746.html
作者:一定会去旅行
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

  5、如果有人也是在vmware centos虚拟机中配置的,请记得添加防火墙端口权限~~

  

 

  6、配置完成~~

  

原文地址:https://www.cnblogs.com/jying/p/12177746.html
作者:一定会去旅行
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

  本文的难点是Nginx配置PHPmyadmin非根目录访问,如果是根目录其实直接配置就能访问,但是非根目录必须要配置 PMA_ABSOLUTE_URI 参数用于反向代理,特别感谢文章: https://stackoverflow.com/questions/44499620/phpmyadmin-inside-docker-container-via-nginx-reverse-proxy

  stackoverflow.com 依然是最强大的解决问题基地!!!

 

  

apache+MySQL+php,把phpmyadmin放到htdocs根目录下,在地址栏中输入http://localhost/phpMyAdmin,该如何解决

apache+MySQL+php,把phpmyadmin放到htdocs根目录下,在地址栏中输入http://localhost/phpMyAdmin,该如何解决

apache+MySQL+php,把phpmyadmin放到htdocs根目录下,在地址栏中输入http://localhost/phpMyAdmin
尽然出现了Forbidden

You don''t have permission to access /phpMyAdmin on this server.
求解啊,搞了好久
------解决思路----------------------
apche配置文件:

    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all --》改成Allow from all

Centos 6.6 下 nginx +php mysql + phpMyadmin 安装部署

Centos 6.6 下 nginx +php mysql + phpMyadmin 安装部署

LNMP架构介绍:

Linux+Apache+MysqL/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的。

一、Nginx简介:

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下Nginx 是 Apache 服务器不错的替代品.其特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好.目前中国大陆使用Nginx网站用户有:新浪、网易、 腾讯,另外知名的微网志Plurk也使用Nginx。

  *Nginx 作为 负载均衡 服务器:*

Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP 代理服务器对外进行服务。 Nginx 采用 C 进行编写, 不论是系统资源开销还是 cpu 使用效率都比 Perlbal 要好很多。作为邮件代理服务器:

Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器), Last.fm 描述了成功并且美妙的使用经验。Nginx 是一个安装非常简单,配置文件非常简洁(还能够支持perl语法), Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动。 你还能够不间断服务的情况下进行软件版本的升级。

*二、Nginx 安装*

模块依赖性Nginx需要依赖下面3个包

1. gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ )

2. rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ )

3. ssl 功能需要 openssl 库 ( 下载: http://www.openssl.org/ )

    Nginx包下载: http://Nginx.org/en/download.html

    依赖包安装顺序依次为:openssl、zlib、pcre,然后安装Nginx包。

第一步: 下载安装所需包

openssl-fips-2.0.2.tar.gz

zlib-1.2.7.tar.gz

pcre-8.21.tar.gz

Nginx-1.2.6.tar.gz

第二步:依次安装openssl-fips-2.0.2.tar.gz,zlib-1.2.7.tar.gz,pcre-8.21.tar.gz,Nginx-1.2.6.tar.gz

1.安装openssl-fips-2.0.2.tar.gz

[[email protected] mrms]# tar -zxvf openssl-fips-2.0.2.tar.gz

[[email protected] mrms]# cd openssl-fips-2.0.2

[[email protected] openssl-fips-2.0.2]# ./config

[[email protected] openssl-fips-2.0.2]# make

[[email protected] openssl-fips-2.0.2]# make install

2.安装zlib-1.2.7.tar.gz

[[email protected] mrms]# tar -zxvf zlib-1.2.7.tar.gz

[[email protected] mrms]# cd zlib-1.2.7

[[email protected] zlib-1.2.7]# ./configure

[[email protected] zlib-1.2.7]# make

[[email protected] zlib-1.2.7]# make install

3.安装pcre-8.21.tar.gz

[[email protected] mrms]# tar -zxvf pcre-8.21.tar.gz

[[email protected] mrms]# cd pcre-8.21

[[email protected] pcre-8.21]# ./configure

[[email protected] pcre-8.21]# make

[[email protected] pcre-8.21]# make install

4.安装 Nginx-1.2.6.tar.gz

[[email protected] mrms]# tar -zxvf Nginx-1.2.6.tar.gz

[[email protected] mrms]# cd Nginx-1.2.6

[[email protected] Nginx-1.2.6]# ./configure --with-pcre=../pcre-8.21 --with-zlib=../zlib-1.2.7 --with-openssl=../openssl-fips-2.0.2

[[email protected] Nginx-1.2.6]# make

[[email protected] Nginx-1.2.6]# make install

至此Nginx的安装完成!

第三步:检测是否安装成功

[[email protected] Nginx-1.2.6]# cd /usr/local/Nginx/sbin

[[email protected] sbin]# ./Nginx -t

启动Nginx

[[email protected] sbin]# ./Nginx

查看端口

[[email protected] sbin]# netstat -anple | grep 80

##  安装PHP

一、PHP简介:
        脚本语言,网站建设,服务器端运行PHP定义:一种服务器端的 HTML 脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。是一种广泛用于 Open Source(开放源代码)的尤其适合 Web 开发并可以嵌入 HTML 的多用途脚本语言。它的语法接近 C,Java 和 Perl,而且容易学习。该语言让 Web 开发人员快速的书写动态生成的网页。

二、安装:

2.1 PHP下载连接:http://www.PHP.net/downloads.PHP
2.2 下载解压
       3.1  wget http://cn2.PHP.net/get/PHP-7.2.6.tar.bz2/from/this/mirror 
       3.2 tar xf PHP-7.2.6.tar.bz2 
       3.3 cd PHP-7.2.6 
2.3 配置
#./configure --prefix=/usr/local/PHP --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-MysqL --with-MysqLi --with-openssl --with-pcre-regex --with-pdo-MysqL --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip

注:./configure 过程中会出现很多问题,根据报错信息百度相关资料进行解决。这里不再说明,在后面的问题和解答段落列出部分问题和解决方式,仅供参考!

如果需要GD库还要

./configure --prefix=/usr/local/PHP --with-MysqL --enable-fpm--enable-opcache --with-freetype-dir --with-jpeg-dir --with-png-dir --with-gd --with-zlib --with-libxml-dir --enable-xml --disable-debug --enable-safe-mode --enable-mbstring

如果配置错误,需要安装需要的模块,直接yum一并安装依赖库

yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel MysqL pcre-devel  

三、配置成功:

Centos 6.6 下 nginx +php mysql + phpMyadmin 安装部署

出现上图说明配置成功~

四、 make && make install

到此处则编译完成!

五、后续工作

5.1 cp -R ./sapi/fpm/PHP-fpm.conf /usr/local/PHP/etc/PHP-fpm.conf
   5.2 拷贝PHP.ini文件

安装目录有2个文件:PHP.ini-development和PHP.ini-production

注意PHP.ini-production拥有较高的安全性设定,则适合上线当产品使用
cp PHP.ini-development /usr/local/PHP/lib/PHP.ini
或者
cp PHP.ini-production /usr/local/PHP/lib/PHP.ini
如果操作了这一步以后使用PHPinfo()就会看到Loaded Configuration File:

Centos 6.6 下 nginx +php mysql + phpMyadmin 安装部署

5.3 cd /usr/local/PHP/etc/PHP-fpm.d  ; cp www.conf.default www.conf

六、PHP-fpm启动

cp -R ./sapi/fpm/PHP-fpm /etc/init.d/PHP-fpm
   /etc/init.d/PHP-fpm 
   至此PHP环境搭建完成,PHP-fpm 进行也启动完成。下一步要将 Nginx + PHP 通过PHP-fpm进行整合,用于解释PHP页面。

七、Nginx + PHP 结合

编辑Nginx.conf文件
    location ~ \.PHP$ {
    root html; 
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.PHP;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME /usr/local/Nginx/html/$fastcgi_script_name;
    }      #将 scripts 修改成对应的发布目录即可,并在对应发布目录下面创建index.PHP文件

/usr/local/Nginx/sbin/Nginx  -t ;  /usr/local/Nginx/sbin/Nginx  -s reload

    重启Nginx ,进行测试 curl localhost/index.PHP -I

MysqL 数据库安装

问题和解决:

1、编译安装PHP遇到的问题和解决方法:
     https://www.cnblogs.com/z-ping/archive/2012/06/18/2553929.html
2、问题:在启动PHP-fpm出现
     [[email protected] etc]# service PHP-fpm start
     Starting PHP-fpm [28-Nov-2016 17:13:23] WARNING: nothing matches the include pattern ‘/usr/local/PHP/etc/PHP-fpm.d/*.conf’ from /usr/local/PHP/etc/PHP-fpm.conf at line 125.
      [28-Nov-2016 17:13:23] ERROR: No pool defined. at least one pool section must be specified in config file
    [28-Nov-2016 17:13:23] ERROR: Failed to post process the configuration
      [28-Nov-2016 17:13:23] ERROR: FPM initialization Failed
      解决方法:
      进入PHP安装目录/etc/PHP-fpm.d
      cp www.conf.default www.conf
3、

centos nginx下安装phpmyadmin

centos nginx下安装phpmyadmin

Nginx下安装PHPmyadmin:

因为本人在网上搜索安装PHPmyadmin大部分使用Apache安装,而线上机器不想使用Apache,最后找到了Nginx下安装的也比较复杂,所以就自己写一篇算了。

安装lnmp:


在Nginx配置:

[root@cmlvhost]#cat/etc/Nginx/Nginx.conf
********
includevhost/*.conf;


[root@cmlvhost]#cd/etc/Nginx/vhost/
[root@cmlvhost]#catPHPmyadmin.conf
server{
server_namewww.test.com;
indexindex.htmlindex.htmindex.PHP;
root/home/wwwroot/PHPmyadmin;
location~.*\.(PHP|PHP5)?${
fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_indexindex.PHP;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
includefastcgi.conf;
}
}
[root@cml~]#vim/etc/hosts
122.123.13.13www.test.com


源码包下载

在官网http://www.PHPmyadmin.net/下载PHPMyAdmin源码包PHPMyAdmin-4.0.10.20-all-languages.tar

[root@cmlvhost]#tar-xvfPHPMyAdmin-4.0.8-all-languages.tar.bz2-C/home/wwwroot
[root@cmlvhost]#cd/home/wwwroot
[root@cmlvhost]#mvPHPMyAdmin-4.0.8-all-languages/PHPmyadmin
[root@cmlvhost]#cdPHPmyadmin
[root@cmlvhost]#cpconfig.sample.inc.PHPconfig.inc.PHP
[root@cmlvhost]#vimconfig.inc.PHP
(修改一下地方)
$i=0;
/*
*Firstserver
*/
$i++;
/*Authenticationtype*/
$cfg['Servers'][$i]['auth_type']='cookie';
/*Serverparameters*/
$cfg['Servers'][$i]['host']='127.0.0.1';##假如MysqL使用其他地址登录的话就修改成其他地址
$cfg['Servers'][$i]['connect_type']='tcp';
$cfg['Servers'][$i]['compress']=false;
/*SelectMysqLifyourserverdoesnothaveMysqLi*/
#$cfg['Servers'][$i]['extension']='MysqLi';
$cfg['Servers'][$i]['Allownopassword']=false;


[root@cmlvhost]#/usr/local/Nginx/sbin/Nginx-t
[root@cmlvhost]#/usr/local/Nginx/sbin/Nginx-sreload

假如MysqL没密码,我建议还是加上密码:

MysqL>GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBYPASSWORD'******'


访问:http://www.test.com

centos 配置 phpmyadmin

centos 配置 phpmyadmin

centos 下查看软件版本
#rpm -qi apache
#rpm -qi mysql
#rpm -qi php
当然也可以使用 php -v

查看 linux 内核版本
uname -a

lsb_release -a
查看 linux 系统版本号,



1,从官网下载 phpmyadmin

注意 phpmyadmin 3.x 版本要求 php5.2 以上,mysql5.0 以上,对号入座。如果选错了,出现的问题就难解决了

2、然后将 phpmyadmin 拷到 /var/www/ 目录下

3、vi /etc/httpd/conf.d/phpmyadmin.conf
#  
# Web application to manage MySQL  
#  
#  
# Order Deny,Allow  
#
# Allow from all
#  
Alias /phpmyadmin /var/www/phpmyadmin    
Alias /phpMyAdmin /var/www/phpmyadmin      
Alias /mysqladmin /var/www/phpmyadmin    

4、敲入地址,应该就可以打开了

关于centos7一步一步搭建docker phpmyadmin 及nginx配置phpmyadmin非根目录重点讲解的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于apache+MySQL+php,把phpmyadmin放到htdocs根目录下,在地址栏中输入http://localhost/phpMyAdmin,该如何解决、Centos 6.6 下 nginx +php mysql + phpMyadmin 安装部署、centos nginx下安装phpmyadmin、centos 配置 phpmyadmin的相关信息,请在本站寻找。

本文标签: