部署 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:\Windows\System32\drivers\etc\hosts 本地域名解析,一个一个配置,注释掉其他服务器 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:\Windows\System32\drivers\etc\hosts 本地域名解析,一个一个配置,注释掉其他服务器 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 相同
部署 WordPress 和 Wecenter的更多相关文章
- 如何搭建wordpress ,wecenter
14.什么是LNMP架构 LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写.L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可 ...
- 部署web01,web02,nfs,db01,backup,搭建wordpress,WeCenter,实现共享,热备,实时备份
小结 部署web01,web02,nfs,db01,backup,搭建wordpress,WeCenter,实现共享,热备,实时备份 1)在web01和web02上安装nginx和php 2)创建ww ...
- Centos7.4下用Docker-Compose部署WordPress(续)-服务器端用Nginx作为反向代理并添加SSL证书(阿里云免费DV证书)
前言 在我写完Centos7.4下用Docker-Compose部署WordPress这篇文章后,我的个人博客已经正式的开始运作.但考虑到网站访问的安全性以及今后可能会重复利用服务器来部署其他网站的可 ...
- Centos7.4下用Docker-Compose部署WordPress
前言 最近在学习Docker相关知识,通过阅读第一本Docker书后,正想着手实战用一下这个技术,但又不太敢直接在项目环境下动手.考虑足足三秒钟之后决定买个阿里云ECS搭建一个属于自己的基于Docke ...
- Docker swarm 实战-部署wordpress
Docker swarm 实战-部署wordpress 创建一个overlay的网络 docker network create -d overlay demo 6imq8da3vcwvj2n499k ...
- CentOS7下搭建基本LNMP环境,部署WordPress
系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nginx-1.12.2.tar.gz php 7.1.11 ...
- Docker Swarm应用--lnmp部署WordPress
一.简介 目的:使用Docker Swarm 搭建lnmp来部署WordPress 使用Dockerfile构建nginx.php镜像 将构建的镜像上传docker私有仓库 使用volume做work ...
- 用lnmp架构部署wordpress网站详细步骤
用lnmp架构部署wordpress网站 ①.下载和上传网站代码 用winscp或者xftp, 或者xshell下执行rz命令进行上传网站的包文件. ②.解压程序代码,并将程序代码保存到站点目录,并进 ...
- windows7搭建xmapp部署wordpress
前言 为了学习自动化,在网上搜索资料学习了一下在本机安装xmapp,搭建php环境,本机部署wordpress这个开源项目 内容 主要分成以下几步: 准备安装包,快速安装xmapp 根据实际需求,修改 ...
随机推荐
- CWE 4.3:强化你的数据自我保护能力
摘要:如何通过软件自动的检查法规中涉及的数据保护, 新版的CWE 4.3 给出了一个解决途径. 1. 按照惯例,先说故事 用12月初在深圳参加的"全球C++及系统软件技术大会"里C ...
- 基于 WebRTC 实现自定义编码分辨率发送
2020年如果问什么技术领域最火?毫无疑问:音视频.2020年远程办公和在线教育的强势发展,都离不开音视频的身影,视频会议.在线教学.娱乐直播等都是音视频的典型应用场景. 更加丰富的使用场景更需要我们 ...
- 【工具篇】Mysql的安装和使用
[导读]Mysql是数据分析师入门级的技能之一,对于很多小白同学来说,可能还没有机会接触SQL知识.那么我们如何熟悉和练习SQL呢,今天教大家安装两个软件:MySQL和Navicat.后续我们会推出S ...
- 阿里云OSS对象存储服务(一)
一.开通"对象存储OSS"服务 申请阿里云账号 实名认证 开通"对象存储OSS"服务 进入管理控制台 二.控制台使用 1.创建Bucket 命名:guli-fi ...
- JavaScript的数据类型和数据类型的检测
数据类型 JavaScript的基础数据类型有,NaN string undefined Null Boolen Symbol Bigint 这些都是基础数据类 ...
- 邮件解析 CNAME记录 A记录 NS记录 MX记录
域名配置 示例发信配置请至域名 service.i-test.cn DNS服务提供商处添加TXT记录,并保持SPF记录正确,否则会无法发信.*1.所有权验证类型 主机记录 主域名 记录值 状态TXT ...
- C++ Primer Plus读书笔记(八)函数探幽
1.内联函数 inline int square(x) {return x*x} 2.引用变量 int& 中的& 不是地址运算符,就想定义指针时的char* 一样,int&指的 ...
- Linux命令——netcat
简介 netcat的简写是nc,被设计为一个简单.可靠的网络工具,主要作用如下: 1 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口 2 端口的扫描,nc可 ...
- Centos虚拟机上安装部署Tenginx,以及部署过程中遇到的问题
Tenginx下载网址: Tenginx 官网地址:http://tengine.taobao.org/ Tenginx的官方网址中可以阅读Nginx的文档,可以选择中文进行阅读.下载Tengine- ...
- CF492B
题意 一条长为L的路,在n个不同的位置都放置了路灯,灯光半径相同,问半径至少为多少时灯光可以覆盖整条路. 那我们就先排序,使灯的位置是从路的一边依次排到另一边的 ,然后求出两两挨着的灯之间距离的最大值 ...