博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS 7安装WordPress
阅读量:6801 次
发布时间:2019-06-26

本文共 2276 字,大约阅读时间需要 7 分钟。

在开始本文前,我假定你已经安装好了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

转载地址:http://iluwl.baihongyu.com/

你可能感兴趣的文章
js解析与序列化json数据(一)
查看>>
Oracle升级前备份和失败回退
查看>>
java设计模式-工厂方法模式
查看>>
SAP RFC通信模式
查看>>
基于jQuery+JSON的省市联动效果
查看>>
NABCD构建APP
查看>>
[数据结构]二叉树创建与遍历
查看>>
MySQL 5.6.26几种安装包的区别
查看>>
前端005/React生命周期
查看>>
LeetCode OJ - Symmetric Tree && Same Tree
查看>>
通讯录设计
查看>>
课后作业
查看>>
浮点数类型转换的及其内存模型
查看>>
1090: 整数幂(多实例测试)
查看>>
配置了java环境变量后不起作用
查看>>
Swift 函数式数据结构 - 链表
查看>>
L1-011 A-B Java 部分解
查看>>
HTTP/1.1与HTTP/1.0的区别[转]
查看>>
css 引用图片 相对路径
查看>>
sql server 用户“sa”登陆失败
查看>>