• 部署 WordPress 和 Wecenter


    基本环境部署(LNMP)

    安装 Nginx

    # 配置 nginx 官方源
    [root@web01 ~]# vi /etc/yum.repos.d/nginx.repo
    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true
    
    # 安装 nginx
    [root@web01 ~]# yum -y install nginx
    
    # 创建一个 nginx 执行用户 (也是 php-fpm 执行用户)
    [root@web01 ~]# useradd www -u 666 -r -s /sbin/nologin -M
    
    # 修改 nginx 启动用户
    [root@web01 ~]# vi /etc/nginx/nginx.conf 
    user  www;
    
    # 启动 nginx,并将 nginx 加入开机自启
    [root@web01 ~]# systemctl start nginx
    [root@web01 ~]# systemctl enable nginx
    
    # 检查 端口,进程
    [root@web01 ~]# netstat -lntup | grep nginx
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      10228/nginx: master 
    [root@web01 ~]# ps -ef | grep nginx
    root      10228      1  0 19:31 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
    www       10229  10228  0 19:31 ?        00:00:00 nginx: worker process
    root      10252   9943  0 19:31 pts/0    00:00:00 grep --color=auto nginx
    
    

    安装 PHP7.1

    # 在安装之前删除相关软件包,以确保全部重新安装
    [root@web01 ~]# yum remove php-mysql-5.4 php php-fpm php-common
    
    #配置第三方源
    [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 -y install 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
    
    # 修改 php-fpm 执行用户
    [root@web01 ~]# vi /etc/php-fpm.d/www.conf
    user = www
    group = www
    
    # 启动 php-fpm,并将 php-fpm 加入开机自启
    [root@web01 ~]# systemctl start php-fpm
    [root@web01 ~]# systemctl enable php-fpm
    
    # 检查 端口,进程
    [root@web01 conf.d]# netstat -lntup | grep 9000
    tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      10475/php-fpm: mast 
    [root@web01 conf.d]# ps -ef | grep php-fpm
    root      10475      1  0 19:42 ?        00:00:00 php-fpm: master process (/etc/php-fpm.conf)
    www       10476  10475  0 19:42 ?        00:00:00 php-fpm: pool www
    www       10477  10475  0 19:42 ?        00:00:00 php-fpm: pool www
    www       10478  10475  0 19:42 ?        00:00:00 php-fpm: pool www
    www       10479  10475  0 19:42 ?        00:00:00 php-fpm: pool www
    www       10480  10475  0 19:42 ?        00:00:00 php-fpm: pool www
    root      10512   9943  0 19:49 pts/0    00:00:00 grep --color=auto php-fpm
    

    安装 Mariadb

    # 安装 mariadb-server 软件包
    [root@db01 ~]# yum -y install mariadb-server
    
    # 开启 mariadb,并将 mariadb 加入开机自启
    [root@db01 ~]# systemctl start mariadb
    [root@db01 ~]# systemctl enable mariadb
    
    # 创建一个 mariadb 超级管理员用户,设置密码
    [root@db01 ~]# mysqladmin -uroot password '123'
    

    安装 NFS

    部署 NFS 服务端

    # 部署 NFS 服务端,安装 nfs-utils
    [root@nfs ~]# yum install -y nfs-utils rpcbind
    
    # 编辑 nfs-server 的配置文件(WordPress的共享存储目录为/wp_data,Wecenter的共享存储目录/zh_data)
    [root@nfs ~]# vi /etc/exports
    /wp_data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
    /zh_data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
    
    # 创建配置中的 共享目录 并指定属主和属组
    [root@nfs ~]# mkdir /wp_data /zh_data 
    [root@nfs ~]# chown www.www /wp_data /zh_data 
    
    # 检查配置文件是否生效
    [root@nfs ~]# cat /var/lib/nfs/etab
    
    # 创建 nfs-server 服务的匿名用户
    [root@nfs ~]# useradd www -u 666 -r -s /sbin/nologin -M
    
    # 重启 nfs-server 服务,并将 nfs-server 加入开机自启
    [root@nfs ~]# systemctl start nfs-server
    [root@nfs ~]# systemctl enable nfs-server
    

    部署 NFS 客户端

    # 部署 NFS 客户端,安装 nfs-utils  
    [root@web01 ~]# yum install -y nfs-utils rpcbind
    [root@web02 ~]# yum install -y nfs-utils rpcbind
    
    # 查看 NFS服务端 "房源"
    [root@web01 ~]# showmount -e 172.16.1.31
    Export list for 172.16.1.31:
    /wp_data 172.16.1.0/24
    /zh_data 172.16.1.0/24
    

    部署 WordPress

    需求:使用 LNMP 架构搭建 WordPress 软件,部署分布式集群服务器架构:

    服务器 WANIP LANIP 环境
    WEB01 10.0.0.7 172.16.1.7 nginx + php
    WEB02 10.0.0.8 172.16.1.8 nginx + php
    DB01 10.0.0.51 172.16.1.51 Msql
    NFS 10.0.0.31 172.16.1.31 NFS(需部署客户端)

    首台服务器 环境部署

    # 创建 nginx 配置文件,配置 fastcgi 代理,连接 `nginx 服务` 与 `fpm-php 服务`
    [root@web01 ~]# vi /etc/nginx/conf.d/blog.wqh.com.conf 
    server {
            listen 80;
            server_name blog.wqh.com;
            root /website/wordpress;
            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 ~]# mkdir -p /website/wordpress
    
    # 修改站点目录的 属主和属组(为了 nginx服务执行用户 可以访问,php服务执行用户 可以解析)
    [root@web01 ~]# chown www.www -R /website/wordpress/
    
    # 检测 nginx 和 php-fpm 是否连接成功
    [root@web01 ~]# vi /website/wordpress/index.php
    <?php
            phpinfo();
    ?>
    # 此文件只做检测使用,检测完需要立刻删除,此文件暴露会非常危险
    
    # 编辑 C:WindowsSystem32driversetchosts 本地域名解析,一个一个配置,注释掉其他服务器 IP
    10.0.0.7 blog.wqh.com
    #10.0.0.8 blog.wqh.com
    

    如果成功,访问 http://blog.wqh.com 会显示以下内容:

    # 如果出现了以上界面,证明 php-cgi 进程已经可以处理来自 nginx 服务的请求
    # 删除站点目录下的 index.php 文件(只是一个测试文件),解压 WordPress 软件包 到站点目录
    [root@web01 ~]# rm -f /website/wordpress/index.php
    [root@web01 ~]# unzip wordpress-5.0.3-zh_CN.tar.gz -d /website/wordpress/
    
    # 修改站点目录的 属主和属组(为了 nginx服务执行用户 可以访问,php服务执行用户 可以解析)
    [root@web01 ~]# chown www.www -R /website/wordpress/
    

    数据库服务器 环境部署

    # 在 数据库服务器 上创建 数据库 wordpress,并指定授权
    	# 授权所有权限   grant all privileges
    	# 授权所有库所有表 *.* 
    	# 将授权赋予给哪个用户,这个用户只能通过哪个网段过来(%所有) 'all'@'%'
    	# 授权该用户登录的密码 identified by
    
    [root@db01 ~]# mysql -uroot -p123
    MariaDB [(none)]> create database wordpress;
    MariaDB [(none)]> grant all on wordpress.* to wp_user@'%' identified by '123456';
    MariaDB [(none)]> exit
    Bye
    

    安装 WordPress

    此时可以打开浏览器,输入域名 http://zh.wqh.com ,配置数据库信息,并开始安装:

    其他服务器 环境部署

    在浏览器中配置完数据库后,WordPress 连接数据库的配置文件已经存在(在站点目录下),将nginx 配置文件站点目录 远程传送给其他服务器即可 。

    # 使用 scp 命令,将 nginx 配置文件 远程传输
    [root@web01 ~]# scp  /etc/nginx/conf.d/blog.wqh.com.conf 172.16.1.8:/etc/nginx/conf.d/
    
    # 使用 scp 命令,将 站点目录远程传输,使用 -p 选项保持原有属性(属主和属组)
    [root@web01 ~]# scp -rp /website/wordpress 172.16.1.8:/website
    

    NFS服务端/客户端 环境部署

    ## NFS 服务端(基本环境部署中已经做过)
    # 编辑 nfs-server 的配置文件(WordPress的共享存储目录为/wp_data,Wecenter的共享存储目录/zh_data)
    [root@nfs ~]# vi /etc/exports
    /wp_data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
    /zh_data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
    
    # 创建配置中的 共享目录 并指定属主和属组
    [root@nfs ~]# mkdir /wp_data
    [root@nfs ~]# chown www.www /wp_data
    
    # 重启 nfs-server服务
    [root@nfs ~]# systemctl restart nfs-server
    
    
    ## NFS 客户端
    # 将目录挂载到 NFS服务端,此时访问 /website/wordpress/wp-content/uploads/ 目录时,实际上是 NFS服务端的 /wp_data 目录
    [root@web01 ~]# mount -t nfs 172.16.1.31:/wp_data /website/wordpress/wp-content/uploads/
    
    # 将目录挂载到 NFS服务端,此时访问 /website/wordpress/wp-content/uploads/ 目录时,实际上是 NFS服务端的 /wp_data 目录
    [root@web02 ~]# mount -t nfs 172.16.1.31:/wp_data /website/wordpress/wp-content/uploads/
    
    # Wordpress 软件用户上传的静态资源会存储在站点目录下的 wp-content/uploads 中
    # uploads 目录,在初始安装后是没有的,如果网站用户上传过文件,才会创建
    # 如果站点目录下,没有 uploads 目录,可以自己创建,并更改 属主和属组
    

    番外:导入 WordPress 主题

    # 主题相关文件的路径(若是分布式架构,需要对此主题目录做 NFS共享存储)
    [root@web01 ~]# cd /website/wordpress/wp-content/themes
    # 默认存在的主题 twenty*
    [root@web01 themes]# ll
    total 16
    -rw-r--r-- 1 www www   28 Jun  5  2014 index.php
    drwxr-xr-x 8 www www 4096 Apr  1 05:00 twentynineteen
    drwxr-xr-x 5 www www 4096 Apr  1 05:00 twentyseventeen
    drwxr-xr-x 7 www www 4096 Apr  1 05:00 twentytwenty
    

    下载一些主题,解压到此目录即可,分享一波好看的主题
    原版Sakura主题 传送门
    改良版Sakura主题 传送门
    在主题配置页面,加入随机图片的API https://random.52ecy.cn/randbg.php?return=302



    部署 Wecenter

    需求:使用 LNMP 架构搭建 Wecenter 软件,部署分布式集群服务器架构:

    服务器 WANIP LANIP 环境
    WEB01 10.0.0.7 172.16.1.7 nginx + php
    WEB02 10.0.0.8 172.16.1.8 nginx + php
    DB01 10.0.0.51 172.16.1.51 Msql
    NFS 10.0.0.31 172.16.1.31 NFS(需部署客户端)

    首台服务器 环境部署

    # 创建 nginx 配置文件,配置 fastcgi 代理,连接 `nginx 服务` 与 `fpm-php 服务`
    [root@web01 ~]# vi /etc/nginx/conf.d/zh.wqh.com.conf 
    server {
            listen 80;
            server_name zh.wqh.com;
            root /website/zh;
            index index.php;
            location ~ .php$ {
                    fastcgi_pass 127.0.0.1:9000;
                    fastcgi_index index.php;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    include fastcgi_params;
            }
    }
    
    # 创建站点目录,解压 Wecenter 软件包 到站点目录
    [root@web01 ~]# mkdir -p /website/zh
    [root@web01 ~]# unzip WeCenter_3-2-1.zip -d /website/zh
    
    # 修改站点目录的 属主和属组(为了 nginx服务执行用户 可以访问,php服务执行用户 可以解析)
    [root@web01 ~]# chown www.www /website -R 
    
    # 设置好物理机的本地域名解析,打开浏览器访问 zh.wqh.com
    # 编辑 C:WindowsSystem32driversetchosts 本地域名解析,一个一个配置,注释掉其他服务器 IP
    10.0.0.7 blog.wqh.com zh.wqh.com
    #10.0.0.8 blog.wqh.com zh.wqh.com
    

    数据库服务器 环境部署

    # 在 数据库服务器 上创建 数据库 wecenter,并指定授权
    [root@db01 ~]# mysql -uroot -p123
    MariaDB [(none)]> create database wecenter;
    MariaDB [(none)]> grant all on wecenter.* to wc_user@'%' identified by '123456';
    MariaDB [(none)]> exit
    Bye
    

    安装 Wecenter

    此时可以打开浏览器,输入域名 http://zh.wqh.com ,配置数据库信息,并开始安装:

    其他服务器 环境部署

    在浏览器中配置完数据库后,Wecenter 连接数据库的配置文件已经存在(在站点目录下),将nginx 配置文件站点目录 远程传送给其他服务器即可 。

    # 使用 scp 命令,将 nginx 配置文件 远程传输
    [root@web01 ~]# scp  /etc/nginx/conf.d/zh.wqh.com.conf 172.16.1.8:/etc/nginx/conf.d/
    
    # 使用 scp 命令,将 站点目录远程传输,使用 -p 选项保持原有属性(属主和属组)
    [root@web01 ~]# scp -rp /website/zh 172.16.1.8:/website
    

    NFS服务端/客户端 环境部署

    ## NFS 服务端(基本环境部署中已经做过)
    # 编辑 nfs-server 的配置文件(WordPress的共享存储目录为/wp_data,Wecenter的共享存储目录/zh_data)
    [root@nfs ~]# vi /etc/exports
    /wp_data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
    /zh_data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
    
    # 创建配置中的 共享目录 并指定属主和属组
    [root@nfs ~]# mkdir /zh_data
    [root@nfs ~]# chown www.www /zh_data
    
    # 重启 nfs-server服务
    [root@nfs ~]# systemctl restart nfs-server
    
    
    ## NFS 客户端
    # 将目录挂载到 NFS服务端,此时访问 /website/zh/uploads/ 目录时,实际上是 NFS服务端的 /zh_data 目录
    [root@web01 ~]# mount -t nfs 172.16.1.31:/zh_data /website/zh/uploads/
    
    # 将目录挂载到 NFS服务端,此时访问 /website/zh/uploads/ 目录时,实际上是 NFS服务端的 /zh_data 目录
    [root@web02 ~]# mount -t nfs 172.16.1.31:/zh_data /website/zh/uploads/
    
    # Wecenter 软件用户上传的静态资源会存储在站点目录下的 uploads 中
    # uploads 目录,在初始安装后是没有的,如果网站用户上传过文件,才会创建
    # 如果站点目录下,没有 uploads 目录,可以自己创建,并更改 属主和属组
    # 这些特点 Wecenter 和 WordPress 相同
    
  • 相关阅读:
    Entity SQL 初入
    ObjectQuery查询及方法
    Entity Framework 的事务 DbTransaction
    Construct Binary Tree from Preorder and Inorder Traversal
    Reverse Linked List
    Best Time to Buy and Sell Stock
    Remove Duplicates from Sorted Array II
    Reverse Integer
    Implement Stack using Queues
    C++中const限定符的应用
  • 原文地址:https://www.cnblogs.com/zzzwqh/p/12925814.html
Copyright © 2020-2023  润新知