环境:ubuntu19
1 搭建 wordpress
参考这里,一套走下来基本没问题;
注意:
1 搭建完成后,数据库默认端口号是3306,所以登陆数据库时有个地方填:localhost:3306
2 登录网页升级时遇到登录FTP,需要修改下Wordpress的配置文件 wp-config.php,加入这么一行:define('FS_METHOD', "direct");
即可,具体参考这里;
3 wordpress 的插件存放在 /var/www/html/wp-content/plugins 中,主题在 /var/www/html/wp-content/themes 中,可以在这里下载:
2 重装WordPress
- 1 删除mysql
然后按照上面sudo apt purge mysql-* sudo rm -rf /etc/mysql/ /var/lib/mysql sudo apt autoremove sudo apt autoreclean(如果提示指令有误,就把reclean改成clean)
搭建 wordpress
再次安装 mysql(包含创建 wordpress 数据库); - 2 删除安装目录下的 wp-config.php 文件,再次登录即可;
3 服务器转移
服务器转移分为两步:
- 移动/var/www/html文件夹
- 移动数据库
3.1 移动文件夹
这只需要把/var/www/html整个文件夹拷贝到新服务器的同样位置即可
3.2 移动数据库
数据库有Mysql管理的,所以先从旧服务器导出数据,在导入新服务器;
- 导出(在旧服务器上执行)
mysql的命令参考这里
将上面导出的文件传输到新服务器上;//登录进入数据库 mysql -u root -p //输入密码... mysql> show databases; //查看有哪些数据库存在 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | wordpress | +--------------------+ // 其中wordpress就是我们将要导出的数据库名称 mysql> exit //退出 mysqldump -u root -p wordpress > data.sql //导出数据库,存放在当前目录,名为data.sql,也可以使用绝对路径
- 导入(在新服务器上执行)
这里假设已经安装了mysql,先用上面的方法查询一下当前存在的数据库有哪些,如果有wordpress(之前创建的),需要先将其删除再导入,流程如下:mysql -u root -p mysql> show databases; //查看有哪些数据库存在 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | wordpress | +--------------------+ // 其中wordpress就是我们将要导出的数据库名称 mysql> drop database wordpress; //删除wordpress数据库 mysql> create database wordpress; //创建wordpress数据库 mysql> use wordpress; //进入wordpress数据库 source ~/data.sql //注意:这是之前导出的那份数据文件,目录根据实际情况而定 //查看当前 WordPress地址(URL)和 站点地址(URL)指向位置, //查出来应该是旧服务器的ip mysql> select * from wp_options limit 2; //修改 WordPress地址(URL)为新服务器ip UPDATE wp_options SET option_value="http://xx.xx.xx.xx" WHERE option_name="siteurl"; // 修改 站点地址(URL)为新服务器ip UPDATE wp_options SET option_value="http://xx.xx.xx.xx" WHERE option_name="home"; mysql> FLUSH PRIVILEGES; //使其生效 mysql> exit
4 使用的主题
本文采用的主题名为 Unos,在此基础上更改了部分功能:
- 1 删除代码显示框里的文本虚线
进入主题编辑器,打开 style.css 文件,搜索dashed
(虚线)关键字,将其注释掉,然后更新(一定要确保生效):tt { padding: 2px 5px; margin: 0 5px; /*border: dashed 1px;*/ }
5 使用插件
好用的几个插件:
WP Githuber MD | Markdown编辑器 |
---|---|
To Top | 返回顶部的按钮 |
6 自动备份
数据一直存放在云服务器上并不安全,所以要定时备份,这里实例把云服务器的数据备份到自己的linux笔记本上,备份过程用了两个 bash 脚本,一个存放在云服务器上,一个存放在本地:
- (云服务器上)/var/www/backup_server.sh
class="language-c">html_dir=html.tar.gz # html 文件夹
sql_data=data.sql # sql 数据
if [ -f "$html_dir" ]; then
mv $html_dir $html_dir".bak" # 重命名原来的文件
fi
if [ -f "$sql_data" ]; then
mv $sql_data $sql_data".bak"
fi
tar -czf html.tar.gz html # 压缩 html 文件夹
mysqldump -uroot -pTanrui52650401 wordpress > data.sql # 导出 sql 数据
echo "finished"
- (本地笔记本)~/wordpress/backup_local.sh
#!/usr/bin/expect
# 登陆到服务器导出数据
spawn ssh -p 0000 root@xx.xx.xx.xx # 替换成服务器ssh的端口和ip
expect "*password:"
send "0000000000\r" # 替换成服务器ssh的登陆密码
expect "*#"
send "cd /var/www/\r"
expect "*#"
send "bash backup_server.sh\r"
expect "finished"
send "exit\r"
# 把数据下载到本地
spawn scp -P 1995 root@xx.xx.xx.xx:/var/www/data.sql . # 替换成服务器的ip
expect "*password:"
send "0000000000\r" # 替换成服务器scp的登陆密码
expect "*#"
spawn scp -P 1995 root@xx.xx.xx.xx:/var/www/html.tar.gz . # 替换成服务器的ip
expect "*password:"
send "0000000000\r" # 替换成服务器的登陆密码
expect "*#"
interact
- 定时自动执行脚本
参考这里