中小企业集群架构

1.架构设计

 

2.架构规划

功能主机名外网IP内网IP软件包
负载均衡服务器 lb01 10.0.0.5 172.16.1.5 nginx keepalived
负载均衡服务器 lb02 10.0.0.6 172.16.1.6 nginx keepalived
web服务器 web01 10.0.0.7 172.16.1.7 nginx
web服务器 web02 10.0.0.8 172.16.1.8 nginx
web服务器 web03 10.0.0.9 172.16.1.9 nginx
数据库服务器 db01 10.0.0.51 172.16.1.51 mysql mariaDB
存储服务器 nfs01 10.0.0.31 172.16.1.31 nfs
备份服务器 backup 10.0.0.41 172.16.1.41 rsync
批量管理服务器 m01 10.0.0.61 172.16.1.61 ansible
跳板机服务器 jumpserver 10.0.0.71 172.16.1.71 jumpserver
缓存服务器 rdis     rdis

3.第一个里程(在web{01..03}操作)

3.1搭建wordpress网站
3.1.1安装软件
 vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1    (#安装有问题改成0或注释掉)
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
yum install nginx -y
#安装PHP
yum remove php-mysql php php-fpm php-common
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install -y php71w php71w-cli php71w-common php71w-devel php71w-embedded  php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache  php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb

3.1.2创建管理nginx的虚拟用户www

useradd -M -s /sbin/noloin www

3.1.2修改nginx管理用户

vim /etc/nginx/nginx.conf
user www;

3.1.3修改配置文件PHP

vim /etc/php-fpm.d/www.conf
user = www           ##和nginx保持一致
group = www

3.1.4启动服务

systemctl start php-fpm.service 
systemctl enable php-fpm.service 

3.1.5创建站点目录,修改权限

mkdir -p /blog/wordpress
chown -R www.www /blog

3.1.6上传wordpress文件

rz wordpress.tar
tar xf wordpress.tar
cd wordpress
mv *  /blog/wordpress

3.1.7编写nginx server配置文件

vim /etc/nginx/conf.d/blog.conf

server{
    listen    80;
    server_name   blog.ashuai.com;
    fastcgi_buffers  512  64k;    #页面显示乱

    location / {
        root  /blog/wordpress;
        index  index.php;
    }
     location ~ \.php$ {
        root /blog/wordpress;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass  127.0.0.1:9000;   
        include fastcgi_params;   
   }
}  

3.1.8启动nginx

systemctl start nginx
systemctl enable nginx

4.第二个里程(在m01上操作)

4.1安装mariadb
yum install mariadb-server mariadb -y
4.2启动数据库
systemctl start mariadb
systemctl enable mariadb
4.3设置数据库管理员密码
mysqladmin -u root  password 123
4.4创建wordpress库
mysql -uroot -p123
create database wordpress;
#授权给wordpress用户库的权限
grant all on wordpress.* to 'wordpress'@'172.16.1.%' identified by '123';
4.5连接数据库
访问blog.ashuai.com(web01)

 

4.6web02和web03修改数据库配置
vim /blog/wordpress/wp-config.php
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define( 'DB_NAME', 'wordpress' );

/** MySQL数据库用户名 */
define( 'DB_USER', 'wordpress' );

/** MySQL数据库密码 */
define( 'DB_PASSWORD', '123' );

/** MySQL主机 */
define( 'DB_HOST', '172.16.1.51' );

/** 创建数据表时默认的文字编码 */
define( 'DB_CHARSET', 'utf8mb4' );
4.7成功搭建wordpress

 

5.第三个历程共享存储NFS(在nfs01上操作)

5.1安装软件
 yum install nfs-utils  rpcbind -y
5.2修改配置文件
vim /etc/exports
/blog/data    172.16.1.0/24(rw,sync)
5.3创建挂载目录
mkdir  -p /data/blog
chown -R nfsnobody.nfsnobody /data
chmod -R 777 /data
5.4启动服务
#先启动rpc服务
 systemctl start rpcbind.service 
 systemctl enable rpcbind.service 
#在启动nfs服务
 systemctl start nfs
 systemctl enable nfs
5.5在web01-03下载软件
yum install nfs-utils.x86_64 -y
5.6进行远程挂载(在web01-03操作)
mount -t nfs 172.16.1.31:/data/blog  /blog/wordpress/wp-content/uploads/

6.搭建sersync实时同步

参考sersync同步章节

7.搭建负载均衡服务器

7.1安装软件
 vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1    (#安装有问题改成0或注释掉)
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
yum install nginx -y
7.2创建管理nginx的虚拟用户www
useradd -M -s /sbin/noloin www
7.3编写nginx配置文件
vim /etc/nginx/nginx.conf
user www;
##############################################
vim /etc/nginx/conf.d/proxy.conf
upstream shuai {               #负载均衡
  server 172.16.1.7:80;
  server 172.16.1.8:80;
  server 172.16.1.9:80;
}
server{
listen 80;
server_name blog.ashuai.com;
location / {
      proxy_pass http://shuai;   #反向代理
      proxy_set_header Host $host;
       }
}
7.4启动服务
systemctl start nginx
systemctl enable nginx

 

posted @ 2021-10-28 14:32  张福帅  阅读(146)  评论(0)    收藏  举报