转载自本人博客:阿里云ECS低成本部署WordPress博客(个人总结)
以下内容为作者的搭建本站过程,以及遇到的问题和解决方法。撰写此文章主要用于作者回顾总结,不具有权威性,不保证正确性,仅供参考。欢迎各位在留言区讨论交流。
一、购买域名
作者在阿里云万网购买的域名,所以以下内容以阿里云万网为示例。也可以在腾讯云、百度云等网站购买。在搜索框中搜索需要的域名,选择.top、.xyz、.net就可以。
购买之后打开域名控制台,注意如果要购买国内服务器,需要进行ICP备案。如果购买香港服务器、国外服务器,则不需要进行备案。
二、购买云服务器(ECS)
进入云服务器,点击立即购买,点击顶部栏快速购买
配置选择如图所示,选择基础配置(2核(vCPU) 2 GiB | ESSD Entry 40GiB)即可,价格为99元/年,此处因作者已经购买过了,所以价格不是99元/年。镜像推荐选择Alibaba Cloud Linux 3.2104 LTS 64位,预装应用不选择。因为后续通过一键部署脚本进行部署有镜像系统版本要求,所以此处不要选择错误。
付费类型选择包年包月,如果选择按量付费则无法进行ICP备案。地域选择距离所在城市最近的地域即可。
接下来选择分配公网IPv4地址,带宽计费选择按固定带宽,带宽值选择3就够用了。
购买实例数量为1,购买时长选择1年,自动续费根据情况选择开启或关闭。
如果不出意外,配置费用为99元/年,点击确认下单,根据网页指引支付即可。建议可以再续费一年,因为99计划可能在2027年结束。
三、部署WordPress
点击快速搭建WordPress,进入阿里云文档后,点击标题右侧的一键部署按钮。
第一步:在弹出的窗口中切换地域为购买ECS中选择的地域。
第二步:实例来源选择已有实例,之后点击选择实例按钮,选择刚刚购买过的实例(云服务器)。
第三步:点击立即部署,等待其自动部署完成即可。
部署完成后,单击查看效果地址,系统自动跳转到WordPress配置页面,此页面填写的参数为:
- 站点标题:即为博客网站的标题,如我的网站标题为“SunJK的小窝”。
- 用户名:新建登录WordPress的用户名
- 密码:为用户设置密码
- 您的电子邮件
四、ICP备案
打开网站备案,之后选择自己备案,云服务选择之前购买的ECS云服务器即可。接下来根据网页指引进行备案。注意备案进行时要关闭域名解析。备案过程留意阿里云官方客服电话和工信部短信通知。
五、解析域名
将域名指向实例的公网IP(如1.23.45.67),打开云解析DNS,选择第一步购买的域名,单击后打开解析设置,点击添加记录。记录类型选择A,主机记录选www,解析请求来源选择默认,记录值选择实例的公网IP(可以打开云服务器实例,列表右滑,IP地址列查看),TTL不需要更改。重复以上添加记录步骤,主机记录选@,其他不变。
操作列点击启用,启用后点击生效检测,打开新页面后等待解析完成,下滑查看解析结果是否为实例的公网IP,如果是的话说明解析成功。返回上一网页,操作列点击禁用。等待备案成功后再启用即可。
六、将实例公网IP替换为新域名
作者建议在备案完成后再进行这一步,因为备案未完成时不能解析域名,可能导致WordPress后台跳转页面时默认打开域名而非公网地址,导致打不开网页。
打开云服务器实例,操作列点击远程连接,选择通过Workbench远程连接,登录时可能需要输入用户名和密码,点击重置密码,根据网页指引重置。重置之后用户名填写root,密码填写设置的新密码,点击登录。
打开后不要先登录数据库,数据库临时密码是自动生成的,但输入自动生成的密码时无法打开数据库,会出现以下错误:Access denied for user ‘root’@’localhost’ (using password: YES) 。所以要更改临时密码。
更改数据库密码
参考自:mysql登录报错:ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
以下内容需要掌握基本的linux指令和vim操作。
vim /etc/my.cnf
在[mysqld]后添加skip-grant-tables
sudo systemctl restart mysqld
mysql -u root -p(输入密码时不输入密码,直接回车)
set password for‘root'@‘localhost’=password(‘Admin123@qwe’);(密码自行设置)
如果执行以上命令报错ERROR 1290 (HY000),尝试执行:
flush privileges;
如果执行以上命令显示SQL语法错误,尝试执行:
SET PASSWORD FOR 'root'@'localhost' = 'Admin123@qwe';(密码自行设置)
再执行:
flush privileges;
exit;
再把my.ini的skip-grant-tables删除或者注释掉。
sudo systemctl restart mysqld
设置新域名
mysql -u root -p 回车,输入密码(注意密码不会在屏幕上显示),回车
use wordpress;
update wp_options set option_value = replace(option_value, 'http://实例公网IP', 'http://www.example.com') where option_name = 'home' OR option_name = 'siteurl';(替换实例公网IP为你的公网IP地址,替换http://www.example.com为你的域名)
exit;
为WordPress设置新域名成功。
七、搭建FTP
上传主题时,可能会要求输入主机名、FTP用户名、FTP密码。需要先搭建FTP。
在Linux实例中搭建FTP服务器,严格按照此页面的步骤执行即可。
主机名为你的实例公网IP,FTP用户名和密码为搭建FTP时输入的用户名和密码。
八、安装主题
因本文主题为搭建博客,故不做主题推荐和进一步的美化教程,建议参考:个人博客主题分享(WordPress)。
九、常见问题
- WordPress上传主题,报“上传的文件尺寸超过upload_max_filesize文件中定义的php.ini值”错误或者上传过程中打开网页提示413 Request Entity Too Large
参考自:上传的文件尺寸超过upload_max_filesize文件中定义的php.ini值的解决方法
查找php.ini位置:find / -name php.ini
打开php.ini:sudo vim php.ini
搜索upload_max_filesize及post_max_size属性并改大属性值
重启nginx服务:systemctl restart nginx
重启php服务:systemctl restart php.fpm
注意不要通过第三方ftp连接工具替换php.ini文件,可能会导致nginx服务无法启动!如果无法正常打开服务,从第三步重新开始(我踩的坑)。 - 上传主题提示无法创建目录。它的父目录是否可以被服务器写入?
参考自:踩了大坑:wordpress后台 无法将上传的文件移动至wp-content
为/usr/share/nginx/html/wordpress目录赋予777权限:chmod -R 777 /usr/share/nginx/html/wordpress - 因为需要更改的配置内容比较多,如果遇到其他问题,建议一步一步排查错误,擅于利用搜索引擎。欢迎在留言区讨论交流。
参考链接:
在Linux实例中搭建FTP服务器
搭建WordPress网站
快速搭建WordPress
上传的文件尺寸超过upload_max_filesize文件中定义的php.ini值的解决方法
踩了大坑:wordpress后台 无法将上传的文件移动至wp-content
mysql登录报错:ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
个人博客主题分享(WordPress)
转载请注明出处