LNMP真正搭建

项目:实现LNMP共享备份
# web01+web02+web03 # web集群
# nfs+backup        #sersync 实时共享
# db01              #数据共享backup机器 (rsync脚本)

1、拆分机器

机器的主机名外网IP内网IP条件安装软件
db01192.168.15.51(不需要)172.16.1.51关闭防火墙、selinuxmariadb-server
web01192.168.15.7172.16.1.7-nfs+php
web02192.168.15.8172.16.1.8--
web03192.168.15.9172.16.1.9--
nfs192.168.15.31172.16.1.31-nfs+rpcbind
backup192.168.15.41172.16.1.41-rsync

2、搭建backup服务器(rsync)

##  前端代码仓库、数据库备份、上传文件的备份
# 1. 软件 rsync 
[root@backup ~]# yum -y install rsync
# 2. 关闭防火墙、selinux
[root@backup ~]# systemctl disable --now firealld
[root@backup ~]# sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
# 3. 编写配置文件
[root@backup ~]# vim /etc/rsyncd.conf 
uid = www
gid = www
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_mm
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]
comment = welcome to oldboyedu backup! #前端代码仓库
path = /backup 

[data]
comment = welcome to oldboyedu backup! #上传文件备份
path = /data  

[database]
comment = welcome to oldboyedu backup! #数据库备份
path = /database 

# 4.同一用户
[root@backup ~]# groupadd www -g 666
[root@backup ~]# useradd www -u 666 -g 666

# 5.创建仓库并授权
[root@backup ~]# mkdir /data
[root@backup ~]# mkdir /database
[root@backup ~]# mkdir /backup

[root@backup ~]# chown www.www -R /backup/
[root@backup ~]# chown www.www -R /data*/

# 6.创建密码文件并授权
[root@backup ~]# echo "rsync_mm:123" > /etc/rsync.passwd
[root@backup ~]# chmod 600 /etc/rsync.passwd

# 7.启动
[root@backup ~]# systemctl enable --now rsyncd
Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.

3、搭建NFS服务器(nfs)

# 1.安装软件
[root@nfs ~]# yum install nfs-utils rpcbind -y

# 2.创建统一用户
[root@nfs ~]# groupadd www -g 666
[root@nfs ~]# useradd www -u 666 -g 666

# 3.创建前端代码仓库、数据库备份、上传文件的备份
[root@bnfs ~]# mkdir /data_wp
[root@nfs ~]# mkdir /database
[root@nfs ~]# mkdir /data

# 4.授权
[root@nfs ~]# chown www.www -R /data*/

# 5.设置挂载点
[root@nfs ~]# vim /etc/exports
/data        172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/data_wp     172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/database    172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

# 6.启动并检测
[root@nfs ~]# systemctl enable --now nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
# 检测
[root@nfs ~]# showmount -e
Export list for nfs:
/data      172.16.1.0/24
/database  172.16.1.0/24
/backup    172.16.1.0/24
#第二种检查方法
[root@nfs ~]# cat /var/lib/nfs/etab 

4、搭建数据库(mariadb)

# 1.安装软件
[root@db01 ~]# yum install mariadb-server -y

# 2.启动数据库
[root@db01 ~]# systemctl enable --now mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

# 3.创建密码并登录数据库
[root@db01 ~]# mysqladmin -uroot password '123'
[root@db01 ~]# mysql -uroot -p123

# 4.创建对应数据库
MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> create database zhihu;
Query OK, 1 row affected (0.00 sec)

# 5. 创建用户并授权给数据库
MariaDB [(none)]> grant all privileges on wordpress.* to wp@'%''123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zhihu.* to zh@'%' ide';
Query OK, 0 rows affected (0.00 sec)
# 172.16.1.% 全部可以访问
MariaDB [(none)]> grant all on *.* to root@'172.16.1.%' identified by '123';

# 6.重载数据库
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

# 7.数据备份
      # 最后备份

5、搭建web服务器(安装nginx+php)
点击xshell中的工具—》发送键输入到所有会话

# 1.安装nginx官方源
[root@web01 ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
module_hotfixes=true

[root@web01 ~]# vim /etc/yum.repos.d/nginx.repo 
[root@web01 ~]# yum clean all

# 2.安装nginx
[root@web01 ~]# yum install nginx 

# 3.检测并启动
[root@web01 ~]#  nginx -t
[root@web01 ~]# systemctl enable --now nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

6、安装PHP

# 1.上传代码包
[root@web01 ~]# rz -E
rz waiting to receive.

# 2.解压并安装
[root@web01 ~]# tar -xf php.tar.gz -C /tmp
[root@web01 ~]#  yum localinstall -y *.rpm
 
# 3.修改配置文件
[root@web01 ~]# vim /etc/php-fpm.d/www.conf 
user = www
group = www

# 4.创建用户
[root@web01 ~]# groupadd www -g 666 
[root@web01 ~]# useradd www -u 666 -g 666 

# 5.启动php
[root@web01 ~]# systemctl enable --now php-fpm.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
 

7、搭建wordpress页面

# 共享代码、共享数据、共享nginx配置

# 1.web1上创建访问wordpress后台密码
[root@web01 ~]# htpasswd -c /etc/nginx/conf.d/auth_basic mm

# 2.编写配置文件
[root@pingweb01 conf.d]# cat linux12mm.wp.com.conf 
server {
    listen 80;
    server_name linux12mm.wp.com;
    root /mm/wordpress;

    location / {
        index index.php;
    }

    location ~* \.php$ {
        fastcgi_pass localhost:9000;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	include fastcgi_params;
    }

    location /wp-admin {
        index index.php;
        auth_basic "mm";
	auth_basic_user_file /etc/nginx/auth_basic;	
    }
}

# 3.创建站点目录
[root@web01 ~]# mkdir /mm

# 4.检查并确认挂载
[root@web01 ~]# showmount -e 172.16.1.31
[root@web01 ~]# mount  -t nfs 172.16.1.31:/data_wp /mm
[root@web01 ~]# mount -t nfs 172.16.1.31:/data /etc/nginx/conf.d

# 5.web02加上集群
[root@web02 ~]# mkdir /mm
[root@web02 ~]# chown -R www.www /mm/
[root@web02 ~]# mount  -t nfs 172.16.1.31:/data_wp /mm
[root@web02 ~]# mount -t nfs 172.16.1.31:/data /etc/nginx/conf.d
[root@web02 ~]# systemctl restart nginx

# 6.web03加上集群
[root@web03 ~]# mkdir /mm
[root@web03 ~]# chown -R www.www /www/
[root@web03 ~]# mount  -t nfs 172.16.1.31:/data_wp /mm
[root@web03 ~]# mount -t nfs 172.16.1.31:/data /etc/nginx/conf.d/
[root@web03 ~]# systemctl restart nginx

# 7.上传压缩包并解压
[root@web01 ~]# cd /mm
[root@web01 mm]# rz -E
[root@web01 mm]# tar -xf wordpress.tar.gz  
[root@web01 mm]# unzip zhihu.zip 
drwxr-xr-x  5 www www 4096 Apr 30 10:29 wordpress
drwxr-xr-x 14 www www  296 Apr 30 10:29 zhihu
# 8.授权目录
[root@web01 mm]# chown www.www -R /mm/

# 注: 可以打开xshell中 统一输入会话,直接输入web01,web02,web03 统一管理创建目录并挂载
# but (如果web01 down机,则全部down机)

8、搭建WeCenter

# 1.编写WeCenter配置文件
[root@web01 conf.d]# cat linux12mm.zhihu.com.conf 
server {
    listen 80;
    server_name linux12mm.zhihu.com;
    root /mm/zhihu;

    location / {
        index index.php;
    }

    location ~* \.php$ {
        fastcgi_pass localhost:9000;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	include fastcgi_params;
    }
}

# 2.检查nginx并重启
[root@web01 conf.d]# nginx -t
[root@web01 conf.d]# systemctl restart nginx

9、数据库备份

# 1.创建目录
[root@db01 ~]# mkdir /database

# 2.编写备份脚本
[root@db01 ~]# cat mysql_jump.sh 
#!/bin/bash

DATE=`date +%F`
BACKUP="/database"
[ -d $BACKUP ]|| mkdir -p $BACKUP
cd $BACKUP

mysqldump -uroot -p123 --all-databases --single-transaction > mysql-all-${DATE}.sql

tar -czf mysql-all-${DATE}.tar.gz mysql-all-${DATE}.sql

rm -rf mysql-all-${DATE}.sql

export RSYNC_PASSWORD=123
rsync -az mysql-all-${DATE}.tar.gz rsync_mm@172.16.1.41::database


# 3.创建用户并授权
[root@db01 databases]# useradd www -u666
[root@db01 databases]# chown www.www /database/

# 4.脚本加入定时任务

[root@db01 ~]# crontab -e
10 00 * * *  /databases/mysql_dump.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FikL-09-19

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值