在开始本文前,我假定你已经安装好了nginx、php-fpm和mariaDB(或mysql)。它们的安装过程可参考我以前的文章。

1. 安装EPEL(Extra Packages for Enterprise Linux ):

# yum install epel-release

2. 安装wordpress:

# yum install wordpress

安装好的wordpress在/usr/share/wordpress.

(以下步骤参考wordpress官网www.wordpress.org)

3. 配置文件在/etc/wordpress/wp-config.php,在/usr/share/wordpress下也有该文件的link

4. 在修改上述配置之前,我们需要先配置好数据库。

4.1 开启mariadb server:

# systemctl enable mariadb

# systemctl start mariadb

4.2 设置mariadb的root密码:

#  mysqladmin -u root password your_mariadb_password

4.3 建立数据库和操作员:

# create database your_database_name;

# grant all privileges on your_database_name.* to "operator_name"@"localhost" identified by "operator_passwd";

# flush privileges;

# exit

5. 我们使用nginx,因此将wp-config.php的读权限赋予nginx:

# chgrp nginx wp-config.php

6. 修改wp-config.php:

修改DB_NAME、DB_USER、DB_PASSWORD;

使用wordpress的在线salt generator产生Security Keys,替换原文件里的相应内容;

(salt generator: https://api.wordpress.org/secret-key/1.1/salt/)

9. 将wordpress安装目录复制到/usr/share/nginx/blog,原/usr/share/wordpress作为备份。复制完成后,删除新目录里wp-config.php的link,以文件形式从原始位置(/etc/wordpress/wp-config.php)重新复制一份。注意该文件权限应该不允许一般用户进行读操作(660或640);

10. 将blog目录的own和group修改为网站文件所有者(一般为上传网站的FTP账号)(-R);

说明1:此处假定你的php-fpm按照我前面的blog进行了配置,使用了FTP账号作为php-fpm的user/group。

11. 执行https://your_web_site/blog/wp-admin/install.php

说明:因为前面我们已经手工修改了wp-config.php,所以此处不需要setup-config.php。

12. 配置blog用户名和密码,注意和上面的db用户不是一回事

13. 如果上一步submit后出现403,可能是没有将index.php加入nginx的默认首页,简单添加一下到location /就好了

14. 然后就可以看到Dashboard了。

15. 安全说明

1) 对于php文件,nginx并不会读取文件内容,而是将文件位置和名称直接扔给php-fpm,所以很多博客上说的“nginx需要对php有读权限”的说法是错误的。这是一个影响网站安全的重要的点。只有在nginx不需要php读权限的基础上,我们才可以将wp-config.php的权限设置为600,仅将该文件读权限开放给php-fpm,而nginx只需要文件所在目录的读权限就可以了。

16. 更改语言

在wp-content目录下新建一个目录languages,将你从wordpress.org下载得到的中文语言包解压后的文件放到该目录。回到browser,在dashboard里选择语言并save。

17. 低配置服务器上的优化

17.1  /etc/my.cnf

在[mysqld]下增加一行:

performance_schema=off

17.2 /etc/my.cnf.d/server.cnf

在[mysqld]下增加:

innodb_buffer_pool_size = 32M
          key_buffer_size = 4M

# 说明:很多文章都会让你把innodb_buffer_pool_size 设置为服务器内存的80%,但这是以讹传讹的做法。按mariadb官方wiki/FAQ,仅当服务器内存>4G时,将innodb_buffer_pool_size设置为空闲内存(跑了其他所有服务,单单没有开maridb的情况下的free memory,而不是服务器配置内存!)的80%。对于低配置服务器,该值应该比默认值(128M)更小。key_buffer_size的值没有查到建议值,这里我按同等比例减小。

17.3 /etc/php-fpm.d/www.conf

pm.max_children = 10

pm.start_servers = 2

pm.max_spare_servers = 5

CentOS 7安装WordPress的更多相关文章

  1. 于CentOS 6 安装 Wordpress

    1.两种方式给Wordpress 首先,你可以去wordpress最新的官方网站看看wordpress多少下载.例wordpress 3.9.1下载地址: http://cn.wordpress.or ...

  2. CentOS 7 安装 WordPress,PHP,Nginx,MySQL(MariaDB),FTP

    主要资料参考:https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-st ...

  3. centos 快速安装wordpress

    1.两种方式得到Wordpress 首先你可以去wordpress官方网站看下最新的wordpress的下载地址多少.比如wordpress 3.9.1的下载地址是: http://cn.wordpr ...

  4. CentOS 7 安装wordpress

    1.安装php 要安装php 7,必须使用下面的命令在Centos7系统上安装并启用epel和remi存储库. 输入一下代码, yum install http://rpms.remirepo.net ...

  5. CentOS上安装WordPress搭建博客平台

    前两天在服务器上搭建了AMP,今天试着在上面安装了一个WordPress(中文:http://cn.wordpress.org/,英文:http://wordpress.org/),我安装的是英文最新 ...

  6. centos 7 安装WordPress的参考博文

    安装方法: https://www.cnblogs.com/flankershen/p/7476415.html 安装完,测试不成功的解决办法: https://blog.csdn.net/u0104 ...

  7. centos下安装wordpress

    https://www.jianshu.com/p/2439dc2187b2 https://blog.csdn.net/liuhelong/article/details/79924014

  8. centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节课

    centos  lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress  安装phpmyadmin  定时备份mysql两种方法  第二十五节 ...

  9. 在centos 6.9安装wordpress,浏览器不能访问问题

    在centos 6.9安装wordpress浏览器访问先出现403错误,然后提示access denied nginx错误打印FastCGI sent in stderr: "Unable ...

随机推荐

  1. linux中执行shell命令的几种常用方法

    1 切换到shell脚本所在目录执行shell脚本: cd /test/shell ./test.sh 2 以绝对路径的方式执行shell脚本: /test/shell/test.sh 3 直接使用b ...

  2. mybat使用注解的方式如@Select写sql

    package com.polymer.app.mapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibati ...

  3. h5 中软键盘弹出后,点击退出键盘,页面无法恢复

    input 绑定blur事件,设置 window.scroll(0,0);

  4. [poj P1475] Pushing Boxes

    [poj P1475] Pushing Boxes Time Limit: 2000MS   Memory Limit: 131072K   Special Judge Description Ima ...

  5. 【转】 SQL - 生成指定范围内的随机数

    DECLARE @Result INT DECLARE @Upper INT DECLARE @Lower INT SET @Lower = 1 SET @Upper = 10 SELECT @Res ...

  6. EOS使用

    公司要玩区块链,听说EOS交易快,就弄来玩玩.弄了一天终于编译成功了. Scanning dependencies of target nodeos [%] Building CXX object p ...

  7. 常用模块Part(1)

    collections模块 time模块 random模块 os模块 sys模块 collections模块 这个模块实现了一些很好的数据结构,它们能帮助你解决各种实际问题 在这里主要介绍几种数据结构 ...

  8. day38-多进程多线程-进程池

    强大的Manage上一篇的数据共享的方式只有两种结构Value和Array.Python中提供了强大的Manage专门用来做数据共享的,其支持的类型非常多,包括,Value, Array,list,d ...

  9. 阶段01Java基础day24多线程+GUI

    25.01_多线程(多线程方法) 1.yield让出cpu 2.setPriority()设置线程的优先级 25.02_多线程(单例设计模式)(掌握) 单例设计模式:保证类在内存中只有一个对象. 如何 ...

  10. 《JavaScript Dom 编程艺术》读书笔记-第9章

    SS-DOM,本章内容: style属性 如何检索样式 如何改变样式三页一体的网页 结构层:由HTML或XHTML之类的标记语言负责创建.标签(tag)也就是尖括号里的单词,对网页内容的语义含义做出了 ...