暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

第十四期:基于四台服务器实现lnmp分离部署,A服务器部署nginx,B服务器部署php,C/D服务器部署Mysql主从

i运维 2021-06-21
873

一.  分布式搭建LNMP部署网站

基于四台服务器实现lnmp分离部署,A服务器部署nginxB服务器部署php,C/D服务器部署Mysql主从

1.1  实战环境

服务器Anginx):192.168.193.102

服务器BPHP:192.168.193.100

服务器Cmaster:192.168.193.103

服务器Dslave:192.168.193.104

1.2  安装nginx

#下载源码

[root@node2opt]# wget http://nginx.org/download/nginx-1.18.0.tar.gz

#解压

[root@node2opt]# tar -xzvf nginx-1.18.0.tar.gz

#预编译

[root@node2opt]# cd nginx-1.18.0

[root@node2nginx-1.18.0]# ls

auto  CHANGES CHANGES.ru  conf  configure contrib  html  LICENSE Makefile  man  objs README  src

[root@node2nginx-1.18.0]# ./configure --prefix=/usr/local/nginx/

#编译&安装

[root@node2nginx-1.18.0]# make && make install

#修改配置文件将nginx进程用户改为nginx

[root@node2conf]# grep "^user" usr/local/nginx/conf/nginx.conf

user  nginx;

#创建nginx用户、用户组

[root@node2conf]# groupadd nginx

[root@node2conf]# useradd nginx -g nginx -s sbin/nologin –M

#启动nginx

[root@node2conf]# usr/local/nginx/sbin/nginx

#查看nginx进程

[root@node2conf]# ps -ef | grep nginx

root      10846     1  0 16:23 ?        00:00:00 nginx: master process/usr/local/nginx/sbin/nginx

nginx     10847 10846  0 16:23 ?        00:00:00 nginx: worker process

nginx     10848 10846  0 16:23 ?        00:00:00 nginx: cache manager process

nginx     10849 10846  0 16:23 ?        00:00:00 nginx: cache loader process

root      10851 10482  0 16:23 pts/0    00:00:00 grep --color=auto nginx

1.3  上传wordpress网站代码

#解压包到nginx发布目录

[root@node2opt]# tar -xzvf wordpress-4.9.4-zh_CN.tar.gz -C usr/local/nginx/html/

#修改属主属组

[root@node2html]# chown nginx. wordpress/

1.4  创建wordpress虚拟主机

#指定应用的虚拟主机目录(主配置文件http指令块下添加):

includevhost/*.conf;

#创建虚拟主机目录

[root@node2 ~]#mkdir -p usr/local/nginx/conf/vhost/

#创建虚拟主机配置文件

[root@node2 ~]#vim usr/local/nginx/conf/vhost/blog.wordpress.com.conf

 

server {

        listen       80;

        server_nameblog.wordpress.com;

        #charset koi8-r;

        access_log  logs/wordpress.access.log  main;

        location {

            root   html/wordpress;

            index  index.php index.html index.htm;

        }

        #error_page  404              404.html;

        # redirect servererror pages to the static page 50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

                root   html;

        }

        location ~ \.php$ {

            root           /data/wordpress;

            fastcgi_pass   192.168.193.100:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

            include        fastcgi_params;

        }

}

1.5  安装PHP

#yum安装

[root@node1 ~]#yum install php php-fpm php-devel php-mysql –y

#修改php-fpmd配置文件

[root@node1 ~]#egrep "^(listen|user|group)" /etc/php-fpm.d/www.conf

listen =192.168.193.100:9000  #监听9000端口

listen.allowed_clients= 192.168.193.102      #允许102访问

user = nginx

group = nginx

#启动php-fpm

[root@node1 ~]#systemctl start php-fpm

#查看端口

 [root@node1 ~]# netstat -ntlp| grep 9000

tcp        0      0 192.168.193.100:9000    0.0.0.0:*               LISTEN      1894/php-fpm: maste

#查看进程

[root@node1 ~]# ps -ef | grep php

root       1894      1 0 10:38 ?        00:00:00 php-fpm:master process (/etc/php-fpm.conf)

nginx      1896   1894 0 10:38 ?        00:00:00 php-fpm:pool www

nginx      1897   1894 0 10:38 ?        00:00:00 php-fpm:pool www

nginx      1898   1894 0 10:38 ?        00:00:00 php-fpm:pool www

nginx      1899   1894 0 10:38 ?        00:00:00 php-fpm:pool www

nginx      1900   1894 0 10:38 ?        00:00:00 php-fpm:pool www

root       1914   1613 0 10:39 pts/0    00:00:00 grep--color=auto php

1.6  配置php远程服务器网站资源

[root@node2 ~]# rsync -av /usr/local/nginx/html/wordpress/192.168.193.100:/data/wordpress

1.7  访问nginx

要数据库连接信息,但是现在还没有配置数据库,所以需要先配置数据库


1.8  部署mysql数据库

#主库从库安装mariadb

[root@node3 ~]#yum install mariadb mariadb-server mariadb-devel –y

#配置Mysql互为主从

[root@node3 ~]#egrep "log|server" /etc/my.cnf

log-bin=node3-bin

server-id=1

[root@node4 ~]#egrep "log|server" /etc/my.cnf

log-bin=node4-bin

server-id=2

#启动数据库服务

[root@node3 ~]#systemctl start mariadb

[root@node4 ~]#systemctl start mariadb

#node3上授权

MariaDB[(none)]> grant replication slave on *.* to"tongbu"@"192.168.193.104" identified by"123456";

Query OK, 0 rowsaffected (0.00 sec)

 

MariaDB[(none)]> flush privileges;

Query OK, 0 rowsaffected (0.00 sec)

#node4上进行同步

MariaDB[(none)]> change master to

    ->master_host="192.168.193.103",

    -> master_user="tongbu",

    -> master_password="123456",

    ->master_log_file="node3-bin.000003",

    -> master_log_pos=478;

Query OK, 0 rowsaffected (0.01 sec)

#node4上授权

MariaDB[(none)]> grant replication slave on *.* to"tongbu"@"192.168.193.103" identified by"123456";

Query OK, 0 rowsaffected (0.00 sec)

 

MariaDB[(none)]> flush privileges;

Query OK, 0 rowsaffected (0.01 sec)

#node3上同步

MariaDB[(none)]> change master to

    ->master_host="192.168.193.104",

    -> master_user="tongbu",

    -> master_password="123456",

    ->master_log_file="node4-bin.000003",

-> master_log_pos=478;

Query OK, 0 rows affected (0.01 sec)

#node3node4上均开启slave进程,然后执行show slave status\G,都能看到以下状态表示互为主从搭建成功!

MariaDB [(none)]> slave start;

MariaDB [(none)]> show slave status\G;

 

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

 

#创建数据库,并授权(php连接)

node3上创建后发现node4上已经同步(也可以在node4上创建)

MariaDB[(none)]> create database wordpress charset utf8;

Query OK, 1 rowaffected (0.00 sec)

 

MariaDB[(none)]> grant all on wordpress.* to"wordpress"@"192.168.193.100" identified by"123456";

Query OK, 0 rowsaffected (0.00 sec)

 

MariaDB[(none)]> flush privileges;

Query OK, 0 rowsaffected (0.00 sec)

1.9  配置数据库连接

#安装完进行登录

#wordpress部署成功




不论你在什么时候开始,重要的是开始之后就不要停止!

--end--












了解更多请关注吧


点个小花花,让他们知道你“在看

文章转载自i运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论