wordpress从windows迁移到centos

在阿里云购买了ESC服务器,域名也完成了ICP备案,故将网站从vultr搬迁到阿里云,之前的系统是windows,现改为centos7.2。

准备

将数据库导出为.sql文件,我是使用远程连接,分别连接windows和centos服务器,可以在本地操作数据库,新建数据库,运行.sql文件即可导入网站数据。
将wordpress打包上传到centos服务器相应的目录下解压即可。

修改

修改wp-config.php中的用户名密码修改为自己的用户名密码,数据库名为刚才新建的数据库名,由于系统不同,我主要遇到了2个问题。
首先开启wp-config.php中wp_debug为true

问题1:找不到缓存文件

将C:\…..换成/var/www/html/….

问题2:Error establishing a database connection

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
方法1:
将wp-config.php中的localhost改为127.0.0.1,改为icp连接,不通过socket连接

方法2:
使用localhost时配置文件中必须有skip-grant-tables,不能有skip-name-resolve

[client]
socket=/tmp/mysql.sock 

[mysql]  
# 设置mysql客户端默认字符集  
default-character-set=utf8     
[mysqld]  
#skip-name-resolve 
skip-grant-tables
#设置3306端口  
port = 3306     
user=root
socket=/tmp/mysql.sock
# 设置mysql的安装目录  
basedir=/usr/local/mysql  
# 设置mysql数据库的数据的存放目录  
datadir=/usr/local/mysql/data  
# 允许最大连接数  
max_connections=200  
# 服务端使用的字符集默认为8比特编码的latin1字符集  
character-set-server=utf8  
# 创建新表时将使用的默认存储引擎  
default-storage-engine=INNODB  
lower_case_table_name=1  
max_allowed_packet=16M
log-error = /usr/local/mysql/data/error.log 
pid-file = /usr/local/mysql/data/mysql.pid  
key_buffer=16K
thread_stack=64K
thread_cache_size=4
sort_buffer=64K
net_buffer_length=2K

skip-name-resolve
它将禁止 MySql Server 对外部连接进行 DNS 解析,使用这一选项可以消除 MySql 进行 DNS 解析的时间。
但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求。

skip-grant-tables。 顾名思义,就是在启动mysql时不启动grant-tables

mysql.sock路径不对的修改方法

方法1:建立软连接
ln -s /tmp/mysql.socket /var/lib/mysql/mysql.sock

方法2:修改mysql配置文件
修改方法
方法3:修改PHP配置文件
若mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket的值不是步骤1中的/tmp/mysql.sock,则修改php.ini中的mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket值为 /tmp/mysql.sock
mysql.sock的作用

首页能访问,文章及目录连接不能

这是伪静态没有设置好的问题,不知道之前的为什么就能自己工作,不过还是配置一下就好了
打开WordPress后台,设置-》固定链接,最下方有伪静态代码

<IfModule mod_rewrite.c>
## blog.shadowwu.club重定向
RewriteCond %{HTTP_HOST} ^blog.shadowwu.club$ [NC]
RewriteRule ^(.*)$ https://www.shadowwu.club/$1 [L,R=301]
## wordpress伪静态
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>

在网站根目录下新建.htaccess文件,添加以上代码即可
另外,如果你的.htaccess没起作用,记得将httpd.conf中的配置:
AllowOverride None
改为
AllowOverride All

其中重定向代码

RewriteCond %{HTTP_HOST} ^blog.shadowwu.club$ [NC]
RewriteRule ^(.*)$ https://www.shadowwu.club/$1 [L,R=301]

必须在伪静态代码之前,因为.htaccess的执行顺序就是其优先级关系

文章默认图片不显示

找到主题,修改设置的域名即可

闲言碎语

以上就是wordpress的搬迁过程了,不过对于mysql的配置还不是很清楚,暂时也没有精力仔细研究,就先这样。

点赞

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注