一. 分布式搭建LNMP部署网站
基于四台服务器实现lnmp分离部署,A服务器部署nginx,B服务器部署php,C/D服务器部署Mysql主从
1.1 实战环境
服务器A(nginx):192.168.193.102
服务器B(PHP):192.168.193.100
服务器C(master):192.168.193.103
服务器D(slave):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)
#在node3和node4上均开启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--
了解更多请关注吧

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




