1.备份数据库和网站文件
将wordpress数据库保存为以当前日期命名的sql文件
mysqldump -u root -p --databases wordpress > wordpress_backup_`date +%Y_%m_%d"_"%H_%M_%S`.sql
打包所有wordpress网站文件
zip -r wordpress.zip /var/www/html
然后通过sftp将以上文件传输到新服务器上
2.在新服务器(CentOS)上配置wordpress环境
1.卸载php5安装php7
使用php -v 查看当前服务器php版本
这部分详细参考:博客园:centos安装php5、卸载php、安装php7
CentOS默认的php版本是5,wordpress通常需要7,所以先卸载
yum remove php
再使用以下指令来查看php及其安装的依赖(包)都有哪些,然后逐个卸载
rpm -qa | grep php
然后安装php及其常用组件
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64
yum install php70w-fpm
此时使用php -v 查看服务器版本,显示7.0表示正确
2.安装mysql、apache
centos 安装 php 7.0 mysql apache
注意mysql中的得有和原服务器中mysql相同的用户名以及密码。
mysql中导入sql数据
mysql -u root -p123456 wordpress < ./wordpress.sql
apache 重启指令:
systemctl restart httpd.service
3.修改文件权限
wordpress的wp-content/upload 文件夹需要比较高的权限,这里比较简单粗暴。这一步被遗漏时会出现500错误,日志中有报错详情。
chmod -R 777 xxxx
4.部署nginx反向代理
我的服务器上部署了约4个应用,占据了不同的端口号,所以需要通过nginx做反向代理,才能通过不同的二级域名来访问不同的应用
修改nginx.conf配置文件,在http字段中添加如下配置:
定义上游网站,其中wordpress位于端口号8081,另一个应用位于8080 upstream wordpress { server localhost:8081; } upstream app { server localhost:8080; } 添加服务器,server_name表示二级域名的名称 server { listen 80; server_name www.xiaomaidong.com; location / { proxy_pass http://wordpress; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } server { listen 80; server_name app.xiaomaidong.com; location / { proxy_pass http://app; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
这样就可以通过www.xiaomaidong.com访问wordpress,通过app.xiaomaidong.com访问另一个应用。可根据自己需要定义其他二级域名或顶级域,比如xiaomaidong.com。
5.修改域名解析到新服务器ip
如果开了cdn,可以先把cdn关了,不然生效很慢…
注意事项
出现错误时注意排查日志,apache日志位于/var/log/httpd,nginx日志位于/usr/local/nginx/logs
这样做还是比较麻烦,下次再改为docker试试。
点击量:22395