zoukankan      html  css  js  c++  java
  • 部署 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 相同
    
  • 相关阅读:
    java 下载文件
    springfox-swagger之swagger-bootstrap-ui
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    An internal error occurred during: Initializing Java Tooling.
    hexo 报错 Cannot read property 'replace' of null
    点击此电脑,查看属性获取计算机的基本信息,可以获取那些计算机基础知识信息呢
    微信、qq可以上网,但是浏览器却不能上网怎么办
    maven打包如何跳过测试
    Ubuntu16.04安装和配置RabbitMQ
    Jenkins持续集成实践之java项目自动化部署
  • 原文地址:https://www.cnblogs.com/zzzwqh/p/12925814.html
Copyright © 2011-2022 走看看