11@LNMP架构项目搭建(集群)

1|0LNMP集群搭建

在这里插入图片描述

web01: lnmp

搭建一个正真意义上的lnmp集群

db01:数据库配置不需要外网

1|11、拆分机器部署

机器的主机名外网IP内网IP
db01192.168.15.51(不需要)172.16.1.51
web01192.168.15.7172.16.1.7
web02192.168.15.8172.16.1.8
web03192.168.15.9172.16.1.9
nfs192.168.15.31172.16.1.31
backup192.168.15.41172.16.1.41

1|22、搭建backup服务器

# 软件 rsync # 安装rsync [root@backup ~]# yum install rsync -y # 关闭防火墙、selinux [root@backup ~]# systemctl disable --now firewalld [root@backup ~]# setenforce 0 setenforce: SELinux is disabled # 编写配置文件 [root@backup ~]# vim /etc/rsyncd.conf ## 前端代码仓库、数据库备份、上传文件的备份 uid=www gid=www port=873 fake super=yes use chroot=no max connection=200 timeuot=600 ignore errors read only=false list=false auth users=ytt secrets file=/etc/rsync.passwd log file=/var/log/rsyncd/log ################################### [web] comment="前端代码仓库" path=/backup/web [database] comment="数据库备份" path=/backup/database [download] comment="上传文件备份" path=/backup/download # 统一用户 [root@backup ~]# useradd -u1000 www # 创建仓库 [root@backup ~]# mkdir -p /backup/web [root@backup ~]# mkdir /backup/database [root@backup ~]# mkdir /backup/download # 授权 [root@backup ~]# chown www.www -R /backup/ # 创建密码文件 [root@backup ~]# echo "ytt:123" > /etc/rsync.passwd [root@backup ~]# chmod 600 /etc/rsync.passwd # 启动 [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.

1|33、NFS服务器搭建

# 软件 nfs-utils rpcbind # 安装软件 [root@nfs ~]# yum install nfs-utils rpcbind -y # 创建用户 [root@nfs ~]# useradd www -u1000 # 创建前端代码仓库、数据库备份、上传文件的备份 [root@backup ~]# mkdir /nfs/web -p [root@backup ~]# mkdir /nfs/database [root@backup ~]# mkdir /nfs/download # 授权 [root@nfs ~]# chown www.www -R /nfs/ # 设置挂载点 [root@nfs ~]# vim /etc/exports /nfs/web 172.16.1.0/20(rw,sync,all_squash,anonuid=1000,anongid=1000) /nfs/database 172.16.1.0/20(rw,sync,all_squash,anonuid=1000,anongid=1000) /nfs/download 172.16.1.0/20(rw,sync,all_squash,anonuid=1000,anongid=1000) # 重启 [root@nfs ~]# systemctl restart nfs-fpm rpcbind 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: /nfs/download 172.16.1.0/20 /nfs/database 172.16.1.0/20 /nfs/web 172.16.1.0/20 #第二种检查方法 [root@nfs ~]# cat /var/lib/nfs/etab /nfs/download 172.16.1.0/20(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=1000,anongid=1000,sec=sys,rw,secure,root_squash,all_squash) /nfs/database 172.16.1.0/20(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=1000,anongid=1000,sec=sys,rw,secure,root_squash,all_squash) /nfs/web 172.16.1.0/20(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=1000,anongid=1000,sec=sys,rw,secure,root_squash,all_squash)

1|44、搭建数据库

# 软件:mariadb # 安装 [root@db01 ~]# yum install mariadb-server -y # 启动 [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. # 创建密码并登录数据库 [root@db01 ~]# mysqladmin -uroot password '123' [root@db01 ~]# mysql -uroot -p123 #创建对应数据库 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) # 创建用户并授权给数据库 MariaDB [(none)]> grant all privileges on wordpress.* to hzl@'%''888'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> grant all privileges on zhihu.* to hzl@'%''888'; Query OK, 0 rows affected (0.00 sec) #重载数据库 MariaDB [mysql]> flush privileges; Query OK, 0 rows affected (0.00 sec) # 数据备份

1|55、搭建web服务器(安装nginx+php)

点击xshell中的工具—》发送键输入到所有会话,统一安装操作

# 安装官方源 [root@web01 ~]# vim /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 module_hotfixes=true [root@web01 ~]# yum clean all # 安装nginx [root@web01 ~]# yum install nginx -y # 启动 [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.

1|66、安装PHP

# 安装PHP(安装官方源) [root@web01 ~]# vim /etc/yum.repos.d/php.repo [php-webtatic] name = PHP Repository baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/ gpgcheck = 0 #清除缓存--生成缓存 [root@web01 ~]# yum clean all [root@web01 ~]# yum makecache [root@web01 ~]# yum remove php-mysql-5.4 php php-fpm php-common [root@web01 ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71wxml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71wpecl-redis php71w-pecl-mongodb # 修改配置文件(统一用户管理) [root@web01 ~]# vim /etc/php-fpm.d/www.conf user = www group = www # 启动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. ######## 本地安装包安装 #上传代码包 [root@web01 ~]# rz -E rz waiting to receive. #解压并安装 [root@web01 ~]# tar -xf php.tar.gz && yum localinstall -y *.rpm # 修改配置文件 [root@web01 ~]# vim /etc/php-fpm.d/www.conf user = www group = www #创建用户 [root@web01 ~]# useradd www -u1000 # 启动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. #优化参数 [root@web01 ~]# vim /etc/php.ini post_max_size = 200M upload_max_filesize = 200M

1|78、搭建wordpress页面

https://download.csdn.net/download/weixin_55972781/18233720(博客链接)
配置nfs(共享代码、共享数据、共享nginx配置)

## 在nfs服务器上创建/nfs/conf目录 [root@nfs web]# mkdir /nfs/conf ## 授权/nfs/conf [root@nfs web]# chown www.www /nfs/conf ## 加入nfs配置文件 [root@nfs web]# vim /etc/exports /nfs/conf 172.16.1.0/20(rw,sync,all_squash,anonuid=1000,anongid=1000) ## 重启nfs [root@nfs web]# systemctl restart nfs-server rpcbind #创建密码文件与用户 [root@web01 ~]# htpasswd -c /etc/nginx/conf.d/auth_basic linux ## 增加wordpress配置并加入密码模块 [root@web01 ~]# vim wordpress.conf server { listen 80; server_name linux.wps.com; root /www/wordpress; client_max_body_size 10m; location / { index index.php; } location ~* \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location =/wp-admin { auth_basic "靓仔"; auth_basic_user_file /etc/nginx/conf.d/auth_basic; index index.php; } } #创建站点目录 [root@web01 ~]# mkdir /www #挂载站点 [root@web01 ~]# mount -t nfs 172.16.1.31:/nfs/web /www [root@web01 ~]# mount -t nfs 172.16.1.31:/nfs/conf /etc/nginx/conf.d #上传压缩包 [root@web01 ~]# cd /www [root@web01 www]# rz -E rz waiting to receive #解压 [root@web01 www]# cd /www [root@web01 www]# tar -xf wordpress.tar.gz #删除压缩包 [root@web01 www]# rm -rf *.gz

网站密码登录测试成功

在这里插入图片描述

博客安装成功

在这里插入图片描述

1|87、搭建WeCenter

https://download.csdn.net/download/weixin_55972781/18233770(知乎链接)

[root@web01 www]# unzip zhihu.zip [root@web01 www]# chown www.www -R /www [root@web01 www]# vim /etc/nginx/conf.d/wecenter.conf server { listen 80; server_name www.zhihu.com; #linux.wecenter.cluster.local.com root /www/zhihu; location / { index index.php; } location ~* \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } #检查文件 [root@web01 conf.d]# nginx -t # 重启 [root@web01 conf.d]# systemctl restart nginx # 创建wordpress数据库 MariaDB [(none)]> create database wecenter; Query OK, 1 row affected (0.00 sec)

知乎测试成功

在这里插入图片描述

1|98、数据库备份

#创建目录 [root@db01 ~]# mkdir /databases #挂载数据库备份点 [root@db01 databases]# mount -t nfs 172.16.1.31:/nfs/database /databases/ # 编写备份脚本 [root@db01 ~]# vim /databases/mysql_dump.sh #!/bin/bash DATE=`date +%F` BACKUP="/databases" 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 #创建用户并授权 [root@db01 databases]# useradd www -u1000 [root@db01 databases]# chown www.www /databases/ # 脚本加入定时任务 [root@db01 ~]# crontab -e 01 00 * * * /databases/mysql_dump.sh

1|109、将web02和web03加入集群

[root@web02 ~]# mkdir /www [root@web02 ~]# chown -R www.www /www/ [root@web02 ~]# mount -t nfs 172.16.1.31:/nfs/web /www [root@web02 ~]# mount -t nfs 172.16.1.31:/nfs/conf /etc/nginx/conf.d [root@web02 ~]# systemctl restart nginx [root@web03 ~]# mkdir /www [root@web03 ~]# chown -R www.www /www/ [root@web03 ~]# mount -t nfs 172.16.1.31:/nfs/web /www [root@web03 ~]# mount -t nfs 172.16.1.31:/nfs/conf /etc/nginx/conf.d/ [root@web03 ~]# systemctl restart nginx

1|1110、web网站下载数据实时备份

sersync + innotiy + rsync 实时备份

#软件 sersync #上传软件包 [root@nfs /opt ]# rz -E #解压缩包 [root@nfs /opt]# tar -xf sersync2.5.4_64bit_binary_stable_final.tar.gz #服务配置 [root@nfs /opt]# mv GNU-Linux-x86 /usr/local/sersync [root@nfs sersync]# ll 总用量 1772 -rwxr-xr-x 1 root root 2214 10月 26 2011 confxml.xml -rwxr-xr-x 1 root root 1810128 10月 26 2011 sersync2 #配置文件修改 [root@nfs sersync]# vim confxml.xml #修改文件并启动 [root@nfs sersync]#./sersync2 -dro confxml.xml ............. execute command: cd /nfs/web && rsync -az -R --delete ./ hzl@172.16.1.41::web --password-file=/etc/rsync.passwd >/dev/null 2>&1 ....... #(模块)命令状态测试 [root@nfs sersynccd]# /nfs/web && rsync -az -R --delete ./ hzl@172.16.1.41::web --password-file=/etc/rsync.passwd >/dev/null 2>&1

__EOF__

本文作者ଲ小何才露煎煎饺
本文链接https://www.cnblogs.com/zeny/p/15121572.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ଲ小何才露煎煎饺  阅读(65)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示