本文将为您提供关于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非根目录重点讲解
- 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.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 的话,请检查端口是否已添加到防火墙。
作者:一定会去旅行
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
二、下面我们介绍如果在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正常~~
作者:一定会去旅行
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
5、如果有人也是在vmware centos虚拟机中配置的,请记得添加防火墙端口权限~~
6、配置完成~~
作者:一定会去旅行
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
本文的难点是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,把
尽然出现了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 安装部署
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 三、配置成功:
出现上图说明配置成功~
四、 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:
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
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 下查看软件版本#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的相关信息,请在本站寻找。
本文标签: