digitalocean 下 centos 搭建 wordpress过程

博主昨天把blog迁移到digitalocean啦~特地来个傻瓜式配置教程。

本文包括如下内容

  • centos下安装wordpress过程
  • 开启mod_rewrite模块
  • 开启GZIP压缩网页
  • 上传图片/文件失败解决办法
  • YOAST SEO  sitemap 404 解决办法

主机配置

  • centos 6.7 *32
  • 5$ /m
    • ps:   点击该链接注册可以获得10$  : digitalocean
  • 新加坡结点

等一会儿就好了:

digitalocean-create-img-finished

happy coding ^ ^

 

工具准备

使用windwos的童鞋需要准备如下工具之一,因为要用命令行的方式来操作服务器。为此,需要一个能支持SSH登录的软件。

  • Xshell : SSH登录,推荐这个,界面漂亮。
  • Xftp: SFTP传文件工具,和Xshell师出同门,推荐
  • SSH Secure Shell Client 这个也有SSH 登录的功能,但对中文乱码。 它还有可视化的界面来传文件,类似FTP
  • putty:很简洁的一个ssh工具

 

 

获取需要资源

打开你的SSH登录软件,连接到digitalocean上,(用户密码还有IP地址你建好一个服务器会发到你的邮箱:) )第一次进去要求修改密码。

修改完后,依次输入如下命令,获取资源,设置开机启动,启动服务

  • yum -y install mysql-server httpd php php-mysql unzip wget
  • chkconfig httpd on
  • chkconfig mysqld on
  • /etc/init.d/mysqld start
  • /etc/init.d/httpd start

 

 

mysql 设置

  • 登录mysql
    • mysql -u root -p
  • 创建root密码
    • 这一步主要是为了安全起见~mysql默认root密码为空,这不安全
    • SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpass’);
  • 创建数据库
    • create database wordpress;
  • 创建用户(把hrwhisper改成你的用户即可)
    • create user hrwhisper@localhost;
  • 设置密码
    • set password for hrwhisper@localhost=password(“123456”);
  • 设置权限(需要给这个新用户权限访问数据库)
    • grant all privileges on wordpress.* to hrwhisper@localhost identified by ‘123456’;

做完上面的步骤后

  • FLUSH PRIVILEGES;
  • exit;

 

 

wordpress获取和配置

获取

  • 获取第一步我们已经yum 安装了 wget~所以只要执行下面的命令就可以,这里假定当前终端目录为~(当前用户的根目录)
    • wget http://wordpress.org/latest.tar.gz
  • 解压
    • tar -xzvf latest.tar.gz

 

配置wordpress

  • 创建wp-config.php文件
    • cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php
  • 编辑(如果没有vim那么yum install vim下)
    • vim ~/wordpress/wp-config.php

这里简单介绍下vim使用:

  • vim 用方向键控制u 撤销,i插入模式 保存esc然后输入:wq即可

edit-wordpress-database-info

  • 以博主刚才的为例:
    • DB_NAME : wordpress
    • DB_USER: hrwhisper
    • DB_PASSWORD:123456

接下来

  • 复制到 web 目录下
    • mkdir -p /var/www/html (如果文件夹不存在)
    • cp -r ~/wordpress/* /var/www/html
  • 用浏览器访问试试

 

 

导入数据库

如果不是新站,而是原来的站点呢?那么需要进行数据库的导入。

将数据库上传到服务器。(博主用Xftp 协议用SFTP,不要用ftp,SFTP安全 )

登录数据库后,进行如下操作

  • 选择数据库
    • mysql>use abc;
  • 设置数据库编码
    • mysql>set names utf8;
  • 导入数据(注意sql文件的路径)
    •   mysql>source /home/abc/abc.sql;

 

 


 

 

下面介绍博主配置好后使用中出现的问题和解决办法

 

开启mod_rewrite

如果你更改了wordpress固定链接,那么mod_rewrite是要开启的~不然就一片404啦

  1. vim /etc/httpd/conf/httpd.conf
  2. AllowOverride None 改为 AllowOverride All (在 <Directory “/var/www/html”>里)
  3. 在/var/www/html/ 里编写.htaccess文件
  4. 重起服务器,终端中输入
    • service httpd restart

博主这里是338行

apache-mod_rewrite-open

参考: http://dev.antoinesolutions.com/apache-server/mod_rewrite

 

 

开启GZIP压缩网页

有两种方法,mod_gzip 和mod_deflate,用一个即可。

mod_gzip 和mod_deflate的主要区别

  • 第一个区别是安装它们的Apache Web服务器版本的差异。Apache 1.x系列没有内建网页压缩技术,所以才去用额外的第三方mod_gzip 模块来执行压缩。而Apache 2.x官方在开发的时候,就把网页压缩考虑进去,内建了mod_deflate 这个模块,用以取代mod_gzip。虽然两者都是使用的Gzip压缩算法,它们的运作原理是类似的。
  • 第二个区别是压缩质量。mod_deflate 压缩速度略快而mod_gzip 的压缩比略高。一般默认情况下,mod_gzip 会比mod_deflate 多出4%~6%的压缩量。
  • 第三个区别是对服务器资源的占用。 一般来说mod_gzip 对服务器CPU的占用要高一些。mod_deflate 是专门为确保服务器的性能而使用的一个压缩模块,mod_deflate 需要较少的资源来压缩文件。这意味着在高流量的服务器,使用mod_deflate 可能会比mod_gzip 加载速度更快。

mod_deflate

推荐这种方法,把下面的内容写在 .htaccess中即可

 

mod_gzip

需要自己开启mod_gzip模块,然后把下面的内容写在 .htaccess中即可

 

GZIP测试工具

https://varvy.com/tools/gzip/

输入你的站点,然后看看是不是压缩了呢?

 

 

上传图片失败解决办法

不要相信网上一堆chmod 777的方法,虽然是可行的,但是不安全

正确的方法应该是修改文件所有者:

  • chown -R apache /var/www/html/wp-content/uploads

当然你也可以把整个改成apache,这样你升级插件什么的也不会有问题

  • chown -R apache /var/www/html/

 

如果提示的内容是missing a temporary folder

修改/etc/php.ini ,指定个临时目录

  • upload_tmp_dir = /tmp/

重启服务器即可

  • service httpd restart

 

YOAST SEO sitemap 404 解决办法

博主发现YOAST SEO 创建的sitemap访问直接 404。

修改  .htaccess file,把下面内容加在wordpress rewrite规则前面就可以啦

# Yoast SEO – XML Sitemap Rewrite Fix
RewriteEngine On
RewriteBase /
RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L]
RewriteRule ^locations.kml$ /index.php?sitemap=wpseo_local_kml [L]
RewriteRule ^geo_sitemap.xml$ /index.php?sitemap=geo [L]
RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L]
RewriteRule ^([a-z]+)?-?sitemap.xsl$ /index.php?xsl=$1 [L]
# END Yoast SEO – XML Sitemap Rewrite Fix

参考 http://kb.yoast.com/article/77-my-sitemap-index-is-giving-a-404-error-what-should-i-do

 

 

参考资料

本博客若无特殊说明则由 hrwhisper 原创发布
转载请点名出处:细语呢喃 > digitalocean 下 centos 搭建 wordpress过程
本文地址:https://www.hrwhisper.me/installing-wordpress-on-centos/

听说长得好看的已经打赏了

建站经验 , , . permalink.

7 thoughts on “digitalocean 下 centos 搭建 wordpress过程

  1. 创建用户(把hrwhisper改成你的用户即可)
    create use hrwhisper@localhost;
    should be
    create user hrwhisper@localhost;

  2. 很有帮助非常感谢
    有两个地方博主应该是不小心写错了
    I. mysql 设置里设置新用户权限时用户名和上面的不统一
    II. 配置wordpress里DB_HOST应该改为DB_PASSWORD

Leave a Reply

Your email address will not be published. Required fields are marked *