• 使用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 root@10.0.0.8:/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/* root@10.0.0.8:/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/ root@10.0.0.31:/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 ./* root@10.0.0.8:/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 ./* root@10.0.0.31:/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/
    
    # 页面测试,结果为图十三和十四对比图
    
    • 图九

    • 图十

    • 图十一

    • 图十二

    • 图十三

    • 图十四
  • 相关阅读:
    .net的25个小技巧
    使用ASP.Net2.0国际化你的网站祥解
    国外C#开源项目(转)
    千千阙歌
    js中var的有或无重复声明和以后的声明
    XMLHttpRequest
    java参数与引用
    Total Commander
    XMLDOM 的async属性
    Java内嵌类
  • 原文地址:https://www.cnblogs.com/tcy1/p/12944502.html
Copyright © 2020-2023  润新知