使用lnmp搭建wordpress及wecenter(类似知乎)

要求

两台web主机后端共用数据库和nfs存储,浏览器访问任意一台web页面相同,并且数据上传后,访问无影响。页面一致。

环境

主机名 WANIP LANIP 角色
web01 10.0.0.7 172.16.1.7 web服务器、nfs客户端、mysql客户端、php服务端
web02 10.0.0.8 172.16.1.8 web服务器、nfs客户端、mysql客户端、php服务端
db01 10.0.0.51 172.16.1.51 mysql服务端
nfs 10.0.0.31 172.16.1.31 nfs服务端

操作步骤

1 .两台web服务安装配置

# web01和web02安装nginx
· 本地已经存在各种安装包,所以直接本地安装
[root@web01 /tmp]# yum localinstall -y nginx-1.18.0-1.el7.ngx.x86_64.rpm 
[root@web02 /tmp]#  yum localinstall -y nginx-1.18.0-1.el7.ngx.x86_64.rpm 

# web01和web02安装php
[root@web01 /tmp]# yum localinstall -y php*
[root@web02 /tmp]# yum localinstall -y php*

# 创建用户组,统一用户
[root@web01 /tmp]# groupadd www -g 666
[root@web01 /tmp]# useradd www -u 666 -g 666 -s /sbin/nologin -M
[root@web02 /tmp]# groupadd www -g 666
[root@web02 /tmp]# useradd www -u 666 -g 666 -s /sbin/nologin -M

# 修改nginx配置文件统一用户
[root@web01 /tmp]# vim /etc/nginx/nginx.conf 
user  www;
[root@web02 /tmp]# vim /etc/nginx/nginx.conf 
user  www;

# 修改php配置文件统一用户
[root@web01 /tmp]# vim /etc/php-fpm.d/www.conf 
user = www
group = www
[root@web02 /tmp]# vim /etc/php-fpm.d/www.conf 
user = www
group = www

# 启动服务加入开启自启(web01和web02相同)
[root@web01 /tmp]# systemctl start nginx
[root@web01 /tmp]# systemctl enable nginx
[root@web01 /tmp]# systemctl start php-fpm
[root@web01 /tmp]# systemctl enable php-fpm

# 查看端口是否开启
[root@web01 /tmp]# netstat -lntup|grep -E '80|9000'
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      7212/php-fpm: maste 
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7187/nginx: master  

# 书写nginx配置文件与php建立连接,以下为wordpress配置 
[root@web01 /]# vim /etc/nginx/conf.d/www.tcy.com.conf
server {
        listen 80;
        server_name www.wp.com;
        root /code/wp;
        index index.php index.html;

        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include /etc/nginx/fastcgi_params;

        }
}

# 书写nginx配置文件与php建立连接,以下为知乎搭建配置
[root@web01 /etc/nginx/conf.d]# vim www.zh.com.conf 
server {
        listen 80;
        server_name www.zh.com;
        root /code/zh;
        index index.php index.html;

        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include /etc/nginx/fastcgi_params;

        }
}

# 将如上两份配置文件scp到web02中
[root@web01 /etc/nginx/conf.d]# scp www.wp.com.conf www.zh.com.conf [email protected]:/etc/nginx/conf.d/

# 根据配置文件内容创建对应两个目录(web01和web02都需操作)
[root@web01 /]# mkdir /code/wp /code/zh -p

# 更改权限(web01和web02都需操作)
[root@web01 ~]# chown -R www.www /code/wp
[root@web01 ~]# chown -R www.www /code/zh

# 测试nginx和php是否建立连接(web02可测可不测)
[root@web01 /code/wp]# vim wp.php
<?php
        phpinfo();
?>

[root@web01 /code/zh]# vim /code/zh/zh.php
<?php
        phpinfo();
?>

# 重启nginx服务
[root@web01 /code/zh]# systemctl reload nginx


# 页面访问结果(图一)


  • 图一

2. 数据库安装配置

# 数据库安装
[root@db01 ~]# yum install -y mariadb-server

# 启动数据库
[root@db01 ~]# systemctl start mariadb

# 对数据库登录配置密码
[root@db01 ~]# mysqladmin -uroot password '123'

# 登录数据库
[root@db01 ~]# mysql -uroot -p123

# 登录后创建wordpress和知乎对应库
MariaDB [(none)]> create database wp;
Query OK, 1 row affected (0.00 sec)

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

# 创建wordpress和知乎连接数据库用户
MariaDB [(none)]> grant all on *.* to wp_user@'%' identified by '123';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all on *.* to zh_user@'%' identified by '123';
Query OK, 0 rows affected (0.00 sec)

# 退出数据库
quit

3. nfs搭建及配置

# nfs服务端安装
[root@nfs ~]# yum install -y nfs-utils

# nfs客户端安装(即web01和web02)
[root@web01 ~]# yum install -y nfs-utils
[root@web02 ~]# yum install -y nfs-utils

# 修改nfs配置文件
[root@nfs ~]# vim /etc/exports
/data 172.16.1.0/24(sync,rw,all_squash,anonuid=666,anongid=666)

# 根据配置文件创建对应目录及用户
[root@nfs ~]# groupadd www -g 666
[root@nfs ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
[root@nfs ~]# mkdir /data
[root@nfs ~]# chown -R www.www /data

# 启动服务并加入开机自启动
[root@nfs ~]# systemctl start nfs-server
[root@nfs ~]# systemctl enable nfs-server

# 客户端检测结果
[root@web01 /code/wp]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24

4.wordpress搭建

# 将安装包上传至站点目录下
[root@web01 /code/wp]# ll
total 10844
-rw-r--r-- 1 root root 11098483 May 20 14:38 wordpress-5.0.3-zh_CN.tar.gz

# 安装包解压
[root@web01 /code/wp]# tar -xf wordpress-5.0.3-zh_CN.tar.gz 

# 将解压目录里面的文件移动到站点目录底下
[root@web01 /code/wp]# mv wordpress/* ./

# 页面访问web01,和数据库建立连接(图二、图三、图四、图五所示)

# 将web01注册连接服务器后的各种信息全部scp到web02的站点目录(web02即不用登陆连接操作)
· 因博客具备判断机制,当首次连接博客会自动跳转连接数据库界面,并需要输入各种信息,当web01连接数据库并完成操作后,在web01站点目录下会自动产生连接数据库文件,如对web01站点目录直接scp到web02,则web02可以直接访问网站并且无需进入连接数据库界面。
[root@web01 /code/wp]# scp /code/wp/* [email protected]:/code/wp/

# 修改权限(两台web都需操作)
[root@web01 /code/wp]# chown -R www.www /code/wp
[root@web02 /code/wp]# chown -R www.www /code/wp


# 连接进入wordpress中(图六)

# 书写博客,上传图片,让web01产生对应upload目录(图七)

# 查看对应目录下是否产生upload目录
[root@web01 /code/wp/wp-content]# ll
total 8
-rw-r--r-- 1 www www   28 Jan  9  2012 index.php
drwxr-xr-x 4 www www 4096 Jan 11  2019 languages
drwxr-xr-x 3 www www   55 Jan 11  2019 plugins
drwxr-xr-x 5 www www   89 Jan 11  2019 themes
drwxr-xr-x 3 www www   18 May 22 00:23 uploads

# 因挂载后原本文件内容会消失,需要首先将内容scp到nfs共享存储目录下,再进行挂载
[root@web01 /code/wp/wp-content/uploads]# scp -r 2020/ [email protected]:/data

# 将站点目录共享存储到nfs
[root@web01 /code/wp/wp-content/uploads]# mount -t nfs 172.16.1.31:/data /code/wp/wp-content/uploads/
[root@web01 /code/wp/wp-content/uploads]# df -h
Filesystem         Size  Used Avail Use% Mounted on
/dev/sda3           19G  1.5G   18G   8% /
devtmpfs           476M     0  476M   0% /dev
tmpfs              487M     0  487M   0% /dev/shm
tmpfs              487M  7.7M  479M   2% /run
tmpfs              487M     0  487M   0% /sys/fs/cgroup
/dev/sda1          497M  120M  378M  25% /boot
tmpfs               98M     0   98M   0% /run/user/0
172.16.1.31:/data   19G  1.3G   18G   7% /code/wp/wp-content/uploads

# web02创建目录并且挂载
[root@web02 ~]# mkdir /code/wp/wp-content/uploads/ -p
[root@web02 ~]# mount -t nfs 172.16.1.31:/data /code/wp/wp-content/uploads/

# 测试用web02登录(图八)

  • 访问web01进行第一次连接配置(图二)

  • 填写数据库中创建库名,wordpress连接数据库用户和密码(图三)

  • 开始安装(图四)

  • 安装成功(图五)

  • 图六

  • 图七

  • web02登录结果(图八)

5.知乎搭建

# 上传知乎包
[root@web01 /code/zh]# ll
total 8256
-rw-r--r-- 1 root root 8451194 May 21 16:52 WeCenter_3-2-1.zip

# 解压
[root@web01 /code/zh]# unzip WeCenter_3-2-1.zip 

# 将解压目录下包含index文件内容全部移动到站点目录下
[root@web01 /code/zh]# mv WeCenter_3-2-1/* ./

# 权限配置
[root@web01 ~]#  chown -R www.www /code/zh

# 网页访问,直接选择下一步(图九)

# 根据数据库中创建,填写对应信息,(图十)

# 创建登录用户(图十一)

# 进入知乎,上传图片到web中,产生upload目录 (图十二)
[root@web01 /code/wp/wp-content]# ll
total 8
-rw-r--r-- 1 www www   28 Jan  9  2012 index.php
drwxr-xr-x 4 www www 4096 Jan 11  2019 languages
drwxr-xr-x 3 www www   55 Jan 11  2019 plugins
drwxr-xr-x 5 www www   89 Jan 11  2019 themes
drwxr-xr-x 3 www www   18 May 22 00:35 uploads

# 将web01的站点目录下内容全部scp到web02站点目录下,并修改权限
[root@web01 /code/wp]# scp -r ./* [email protected]:/code/zh/
[root@web02 ~]#  chown -R www.www /code/zh

# 修改配置文件(nfs中操作)
[root@nfs /data]# vim /etc/exports
/data 172.16.1.0/24(sync,rw,all_squash,anonuid=666,anongid=666)
/nfs 172.16.1.0/24(sync,rw,all_squash,anonuid=666,anongid=666)

# 建立新的共享存储目录(nfs中操作)
[root@nfs /data]# mkdir /nfs
[root@nfs /data]# chown -R www.www /nfs
[root@nfs /data]# systemctl restart nfs-server

# 将web01中的数据scp到nfs中,然后挂载
[root@web01 /code/zh/uploads]# scp -r ./* [email protected]:/nfs
[root@web01 /code/zh/uploads]# mount -t nfs 172.16.1.31:/nfs /code/zh/uploads/
[root@web01 /code/zh/uploads]# df -h
Filesystem         Size  Used Avail Use% Mounted on
/dev/sda3           19G  1.6G   17G   9% /
devtmpfs           476M     0  476M   0% /dev
tmpfs              487M     0  487M   0% /dev/shm
tmpfs              487M  7.7M  479M   2% /run
tmpfs              487M     0  487M   0% /sys/fs/cgroup
/dev/sda1          497M  120M  378M  25% /boot
tmpfs               98M     0   98M   0% /run/user/0
172.16.1.31:/data   19G  1.3G   18G   7% /code/wp/wp-content/uploads
172.16.1.31:/nfs    19G  1.3G   18G   7% /code/zh/uploads
                       

# web02挂载
[root@web02 /code/zh/install]# mount -t nfs 172.16.1.31:/nfs /code/zh/uploads/

# 页面测试,结果为图十三和十四对比图
  • 图九

  • 图十

  • 图十一

  • 图十二

  • 图十三

  • 图十四

猜你喜欢

转载自www.cnblogs.com/tcy1/p/12944502.html