lnmp动静分离[通俗易懂]

lnmp动静分离[通俗易懂]试验环境:ip服务概括192.168.1.61mysql,nginx,php,博客分离mysql,php到其他服务器192.168.1.62mysql代替1.61的mysql192.168.1.63php代替1.61的php思路:将1.61中的mysql,php,分离到其他服务器,分离后能够正常访问到1.61上的博客即可。一.分离MySQL数据库到1.621.在1.62服务器安装mysql[root@mysqld~]#rpm-ivhhtt

大家好,又见面了,我是你们的朋友全栈君。

试验环境:

ip 服务 概括
192.168.1.61 mysql,nginx,php,博客 分离mysql,php到其他服务器
192.168.1.62 mysql 代替1.61的mysql
192.168.1.63 php 代替1.61的php

思路:将1.61中的 mysql,php,分离到其他服务器,分离后能够正常访问到1.61上的博客即可。

一.分离MySQL数据库到1.62

1.在1.62服务器安装mysql

[root@mysqld ~]# rpm -ivh http://repo.mysql.com/yum/mysql-5.6-community/el/7/x86_64/mysql-community-release-el7-5.noarch.rpm
[root@mysqld ~]# yum install mysql-community-server -y
[root@mysqld ~]# systemctl start mysqld
[root@mysqld ~]# systemctl enable mysqld
[root@mysqld ~]# mysql_secure_installation //修改数据库密码

2.把原lnmp服务器上的数据库文件导出

[root@localhost zh]# mysqldump -uroot -p --all-databases > `date +%F%H`-mysql-all.sql 
Enter password: 

3.把数据库文件导入到新的mysql(1.62)服务器上

[root@localhost ~]# scp 2020-06-2019-mysql.sql root@192.168.1.62:/

[root@mysqld ~]# ls //在1.62上确认文件
2020-06-2020-mysql-all.sql  anaconda-ks.cfg  mysqld  qqq
[root@mysqld ~]# mysql -uroot -p <2020-06-2019-mysql.sql
//导入到数据库中

[root@mysqld ~]# mysql -uroot -p123.com
mysql> show databases;  //验证
mysql> grant all on blog.* to lisi@'192.168.1.%' identified by '123.com';

4.在原服务器上修改blog(博客)的配置文件,重新指定数据库服务器ip

[root@localhost ~]# cd /wordpress/ //切换到blog网页根目录
[root@localhost wordpress]# grep -R 123.com
//搜索保存密码的配置文件位置(123.com是博客后台密码)
[root@localhost wordpress]# vim /wordpress/wp-config.php 

define('DB_NAME', 'blog');          #WordPress数据库的名称 
define('DB_USER', 'lisi');			#MySQL数据库用户名 
define('DB_PASSWORD', '123.com');	#MySQL数据库密码 
define('DB_HOST', '192.168.1.105');	#新MySQL主机ip

5.把1.61上的mysql关闭,验证博客是否可以访问到
如果访问不到检查下防火墙

[root@localhost ~]# systemctl stop mysqld.service 

在这里插入图片描述
可以正常访问到mysql就成功从1.61上分离到1.62上了

二.分离php到1.63

1.在1.63上安装php

[root@localhost php]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@localhost php]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@localhost php]# yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache
[root@localhost ~]# systemctl start php-fpm.service 

2.在1.61上修改nginx配置文件将php指向新的php服务器(1.63)

[root@localhost ~]# vim /etc/nginx/conf.d/nginx.conf 

server { 
   
        listen 80;
        server_name www.qzt.com;
        root /wordpress;
        index index.html index.php;
location ~\.php$ { 
   
        root /wordpress;
        fastcgi_pass 192.168.1.63:9000; #指向新的php服务器
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;

}



}

3.修改php服务器(1.63)的配置文件

[root@localhost ~]# vim /etc/php-fpm.d/www.conf 
//定位修改
listen = 192.168.1.63:9000  #为自己的ip地址
listen.allowed_clients = 192.168.1.61 #允许1.61(nginx)访问,如果多台nginx服务器的话使用逗号隔开。

[root@localhost ~]# systemctl restart php-fpm

4.从nginx(1.61)服务器复制wordpress的安装目录到php服务器

[root@localhost ~]# scp -rp /wordpress/ root@192.168.1.63:/

5.把1.61的php关闭验证是否访问到博客

[root@localhost ~]# systemctl stop php-fpm

在这里插入图片描述
可以正常访问,php分离就完成了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141826.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月25日 上午6:00
下一篇 2022年5月25日 上午6:20


相关推荐

  • YOLO系列算法精讲:从yolov1至yolov5的进阶之路(2万字超全整理)[通俗易懂]

    YOLO系列算法精讲:从yolov1至yolov5的进阶之路(2万字超全整理)[通俗易懂]全网YOLO最详讲解,从v1到v5!从小白到大佬!

    2022年5月7日
    62
  • Xshell 连接linux主机

    Xshell 连接linux主机0 前言使用 Xshell 连接远程服务器 文件 新建 出现如下图标 主机即为需要连接的 Linux 服务器的 ip 地址 端口号为 22 无须修改 但需要确认远程服务器的 22 端口已经打开 点击左边的 用户身份验证 输入用户名和密码 点击确认后 即可连接 总体流程 就是这个样子 问题就在于 ip 地址 用户名 密码怎么填写 下面几个章节就展示了如何查看远程 Linux 服务器的 ip 用户名和密码等 1 查看 ip 地址查看 ip 地址使用命令 ifconfig 确保能够 ping 通在连接之前 需要确保本地能够 p

    2025年7月11日
    4
  • TCP拥塞控制原理

    TCP拥塞控制原理TCP拥塞控制原理:TCP使用的是端到端的拥塞控制而不是网络辅助的拥塞控制,因为IP曾不想端系统提供显示的网络拥塞反馈。TCP采用的方法是让每一个发送方根据所感知到的网络拥塞的程度,来限制其能向连接发送流量的速率。这种方法有三个问题: 一个TCP发送方是如何限制向连接发送流量的速率? 一个TCP发送方是如何感知它到目的地之间的路径上存在拥塞的呢?

    2022年6月24日
    32
  • C语言中getchar() 和 putchar() 的用法

    C语言中getchar() 和 putchar() 的用法C 语言中 getchar 和 putchar 的用法 getchar 和 putchar 是一对字符输入 输出函数 getchar 不带任何参数 他从输入序列中返回下一个字符 例如 下面的语句读取下一个字符输入 并把该字符的值赋给变量 ch ch getcha putchar 函数打印它的参数 例如 下面的语句把之前赋给 ch 的值作为字符打印出来 putchar ch 由于这两个函数只处理字符 所以他们通常比 scanf 和 printf 函数更快更便捷 而且 ge

    2026年3月18日
    2
  • Python去除列表中的重复元素

    Python去除列表中的重复元素Python 去除列表中的重复元素 三种方法 1 使用 set 去除重复元素 list1 1 2 5 6 7 4 8 2 7 9 4 6 3 list2 list set list1 print list2 输出结果如下 会改变原列表元素的顺序 1 2 3 4 5 6 7 8 9 2 for 循环语句 list1 1 2 5

    2026年3月19日
    2
  • 解决:mysql is blocked because of many connection errors;

    解决:mysql is blocked because of many connection errors;

    2021年9月21日
    149

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号