阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在LNMP上部署phpMyAdmin

171次阅读
没有评论

共计 2514 个字符,预计需要花费 7 分钟才能阅读完成。

前言:
    我们已经实现过在 lamp 架构上部署 wordpress 博客系统,httpd 服务本身支持模块化和 fastcgi 两种形式连接到 php 应用(其他方式博主没用过就不提了)。而 nginx 作为 web 服务器的话就只能通过 fastcgi 连接到 php 应用了。当然,nginx 还有一个常用的用处就是作为反向代理,这是后话,以后在提。

正文:
    当 web 服务承载的用户数量越来越大时,如果我们依然把整个 lnmp 都部署在一台主机上,肯定是有问题的,所以今天我们直接来实现把 nginx,fpm 和 MySQL 分别部署在不同的服务器上。我们的环境是有三台 CentOS7 主机,172.16.53.100 部署 nginx 服务,172.16.53.101 部署 fpm,172.16.53.102 部署 mysql。我们现在三个主机上安装相应的程序。

#172.16.53.100
yum install nginx -y
vim /etc/nginx/nginx.conf                    把默认配置先注释掉~ 不然影响测试。
#    server {
#        listen      80 default_server;
#        listen      [::]:80 default_server;
#        server_name  _;
#        root        /usr/share/nginx/html;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        location / {
#        }
#
#        error_page 404 /404.html;
#            location = /40x.html {
#              root /var/nginx;
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    } 
vim /etc/nginx/            创建一个单独的配置文件
server {
        listen 80;                                监听所有接口的 80 端口
        server_name           
        location  / {
                root /var/nginx/phpMyAdmin;      静态文件存放的位置
                index index.php;                  自动加载 index.php 的主页文件
        }
        location ~ \.php$ {设置动态 php 文件去 172.16.53.101 找
                fastcgi_pass 172.16.53.101:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /var/nginx/phpMyAdmin/$fastcgi_script_name;
                include fastcgi_params;
        }

systemctl start nginx
iptable -vnL                              清空防火墙规则

#172.16.53.101
yum install php-fpm php php-mysql  php-mbstring -y 
分别是 fastcgi 模块,php 环境 连接 mysql 的模块 中文支持模块
vim /etc/php-fpm.d/
listen 0.0.0.0:9000                      监听所有端口
listen.allowed_clients = 172.16.53.100  运行 100 主机的访问
mkdir /var/nginx                    我们在此目录下放 php 程序,请自行下载 phpMyAdmin 程序
cd /var/nginx
unzip phpMyAdmin-4.4.14.1-all-languages.zip            解压
mv phpMyAdmin-4.4.14.1-all-languages phpMyAdmin        重命名
cp config.sample.inc.php config.inc.php                以默认的配置文件得到我们需要的配置文件
vim config.inc.php                                修改配置文件,只用修改一条。
    $cfg[‘Servers’][$i][‘host’] = ‘172.16.53.102’;  要管理的数据库 ip 地址。
systemctl start php-fpm
iptable -vnL                              清空防火墙规则

#172.16.53.102
yum install mariadb-server
systemctl start mariadb
mysql                      用 mysql 命令连接到本地数据库
mysql>grant all on *.* to ‘root’@’172.16.%.%’ identified by ‘1234’;  设置允许同网段的 ip,连接到数据库。
iptable -vnL                              清空防火墙规则

配置的过程中遇到最多的问题就是防火墙。。。。
dang 所有都配置好之后,首先我们要测试能不能显示 phpMyAdmin 的页面,然后测试能不能连接到数据库。如果是 50x 错误,应该是 location ~ \.php 这个没配置好,或者 php-fpm 端 iptables 规则限制访问,如果是 404 错误,估计是 php-fpm 端的目录有问题之类的。
像我们的配置是吧静态文件和 php 文件放在两个服务器上,这样在某些 php 程序上还是有问题的。比如博主在安装 wordpress 的时候,当我们安装的时候,或者上传静态文件,比如图片的时候会把这些静态资源传到 php-fpm 所在的服务器。因此当我们需要访问静态资源而 nginx 服务器上没有的时候,就会遇到许多问题。

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-07/145440.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计2514字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中