情景:
前期使用WordPress+xampp+Windows系统,在自己笔记本上本地做网站开发。开发完毕后,需要部署到阿里云中的云虚拟主机上(linux系统)。
本文总结一下具体部署步骤和部署问题的解决方案(尽量将会出现的问题在部署前先解决掉)
前期准备:
云端要有:云虚拟主机(linux)+mysql数据库(部署过过程需要用到数据库的信息)
说明:编码问题(会遇到的问题),mysql数据库mysql5.5以后支持了utf8mb4编码集,wordpress配置文件使用的是utf8mb4。mysql数据库使用5.5之前的版本的话会遇到编码的问题
本文说明:
本工程的index文件位于/htdocs下,所以访问连接直接为网站地址http://www.test.com(在10步中根据自己的网站实际情况修改数据库脚本中的地址信息)
云虚拟主机:登录阿里云–控制台–域名与网站–云虚拟主机
本文采用的部署方式,主要目的是提高部署效率,避免出现中文乱码问题,将修改工作在上传前做好
部署步骤:
部署简介:
- 阿里云虚拟主机申请
- 修改php版本(部署开始)
- 重置数据库密码
- 备份自己的网站工程
- 找到.htacess文件去掉里面多余的代码即可
- 修改wp-config.php这个文件中的数据库的配置
- 打包工程文件(zip或tar格式)
- 导出mysql数据库脚本
- 修改数据库脚本中的编码属性
- 修改数据库脚本中的地址信息
- ftp上传工程文件压缩包
- 网站搬家
- 移动工程文件
- 导入数据库脚本
- 浏览器访问浏览器访问
部署详情:
-
阿里云虚拟主机申请
本文提供具体的部署流程,阿里云虚拟主机申请流程可以参考
https://blog.youkuaiyun.com/u014604106/article/details/56067970 -
修改虚拟云主机的php版本(部署开始)
思路: 先查看自己工程的php版本,再修改虚拟云主机的php版本。
原因: 阿里云虚拟主机linux的PHP版本默认是5.2,而Wordpress要求PHP版本是与工程的php版本一致,如果使用PHP5.2,有些功能页面会用不了打不开。通过站点信息–高级环境设置–PHP版本设置。重新设置PHP版本后需要重新设置数据库密码,加密模式要选择41位加密。
步骤:
1.查看自己工程的php版本
启动xampp的apache和mysql
浏览器输入链接,查看php版本信息http://localhost/dashboard/phpinfo.php
2.修改虚拟云主机的php版本
-
重置数据库密码
思路: 重新设置PHP版本后需要重新设置数据库密码,加密模式要选择41位加密。
步骤:
注:选择41位机密模式` -
备份自己的网站工程
原因: 留存原始版工程,部署期间出问题,可以从原始工程中恢复文件 -
找到.htacess文件将内容替换为下面的内容
备份完工程后开始对工程文件进行部署的修改
思路: 将.htacess文件将内容替换为下面的内容
原因: 可能会出现首页空白
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ./index.php [L]
</IfModule>
# END WordPress
-
修改wp-config.php这个文件中的数据库的配置
思路: 在网站工程的根目录下找到wp-config.php,更改新的数据库地址,数据库名、用户名、密码、编码格式,其他不做修改。
原因: mysql数据库mysql5.5以后支持了utf8mb4编码集,wordpress配置文件使用的是utf8mb4。mysql数据库使用5.5之前的版本的话会遇到编码的问题,所以使用5.5版本前的数据库,在填写信息时要将编码格式改为utf8
步骤:
1.查看阿里云数据库信息
2修改wp-config.php这个文件中的数据库的配置
-
打包工程文件(zip或tar格式)
思路: 我使用的xampp环境,即将htdocs目录下的所有wordpress文件压缩。
原因: 因为阿里云虚拟主机linux在线解压只支持这两种格式; -
导出mysql数据库脚本
原因: 避免出现Unknown character set: 'utf8mb4’错误和中文编码问题
步骤:
“输出”中文件的字符集选“utf8”
“格式特定选项”中选择兼容旧版本的Mysql服务器为“MYSQL40”
-
修改数据库脚本中的编码属性
原因: 避免出现Unknown character set: 'utf8mb4’错误和中文编码问题
报错信息:
步骤:
-
修改数据库脚本中的地址信息
原因: 在导入数据前,一次性修改所有地址,避免后期使用sql修改表的方式(使用sql的这种方式很繁琐,每个表都需要查询修改。而在数据库脚本中直接替换很省时间,一次性解决问题)
步骤:
-
ftp上传工程文件压缩包
思路: 使用FTP工具将前面导出的两个文件上传到站点根目录htdocs中 -
网站搬家
思路: 将工程文件解压
步骤: 工具与服务–网站搬家–新建搬家任务,跳过,不搬数据库,网站压缩包选择上传到站点目录的网站压缩文件,点击保存就可以了。
-
移动工程文件
思路: 将解压的文件移动到站点根目录htdocs,因为解压后的网站文件是站点根目录下的一个文件夹里面的,需要将文件夹里面的所有文件移动到站点根目录。使用FTP工具在站点根目录下找到解压后的文件夹,打开全选移动到站点根目录htdocs -
导入数据库脚本
思路: 通过阿里云的DMS导入数据库脚本
-
浏览器访问
思路: 经过上面的步骤,部署完毕,浏览器访问即可http://www.test.com