上一篇文章比较系统地讲了如何将wordpress迁移到apache环境下,特别提到apache能较好地完成web服务器任务,后来想到想在服务器上部署多个服务,并共用443端口,这种环境下较好的解决方案是安装Nginx来做反向代理。
一般web服务的反向代理配置较为简单,但wordpress在设计上有大量的动态代码,同时对内部数据的保护机制,使得它不能直接原位进行反向代理,直接反向代理将不能正确解释文件的链接,也不能正确渲染网站的样式。
所以再写一篇补充文章,简单谈谈wordpress手动迁移到apache的web服务器中,并用Nginx进行反向代理。
一、基础环境的搭建
包括操作系统、apache服务器、sql数据库、Nginx服务器等的安装调试,已在前面文章中有交待,可以参考。
另外需要准备域名和证书。
二、原始数据的打包上传
1、网站数据的打包上传
1.1 将原网站整个目录打包成压缩文件,wordpress.zip。
1.2 将 wordpress.zip 上传到服务器的 /var/www目录下
1.3 解压数据
unzip wordpress.zip
2、数据库的恢复
2.1 在原数据库中,将wordpress数据库导出为wordpress.sql文件
2.2 在原数据库中 新建mydb数据库,并将 wordpress.sql 文件导入其中
2.3 修改mydb数据库中的数据
2.3.1 将options字段中的siteurl和home的值修改为新使用的域名 https://aa.bb.com
2.3.2 将mydb 数据库中的网站链接全部替换为新的域名
update wp_posts set post_content=replace(post_content,'https://xxxxxx.com','https://aa.bb.com');
2.3.3 将 mydb 数据库 导出为 mydb.sql文件
2.4 将 mydb.sql文件 上传到服务器的 /home目录下
2.5 在服务器中新建wordpress数据库,并将 mydb.sql文件 导入其中
mysql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
use wordpress
source /home/mydb.sql;
三、apache文件修改
1、修改apache2.conf
在其中增加根目录 /var/www/wordpress
2、修改ports.conf
在其中增加侦听端口 LISTEN 12356
3、修改sites-available目录中000-default.conf文件
在其中增加虚拟主机
4、重启apache2
systemctl restart apache2
四、修改网站设置
1、 修改wp-config.php
在define(‘WP_DEBUG’, false);语句之前,插入一段代码
可以参考附录文件的说明。
2、 修改wp-includes目录中functions.php文件
可以参考附录文件的说明。
五、配置Nginx
1、 创建wordpress反向代理配置文件
server
{
listen 443 ssl;
server_name aa.bb.com;
index index.php index.html index.htm;
root /var/www/wordpress;
ssl_certificate /etc/ssl/private/aa.bb.com.crt;
ssl_certificate_key /etc/ssl/private/aa.bb.com.key;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://aa.bb.com:123456;
#以下代码使得web服务正确获得wordpress的链接地址
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
}
}
2、重启Nginx
systemctl restart nginx
六、浏览器中输入 https://aa.bb.com 验证网站能否正确运行。
上一篇文章是先用apache建好网站,并成功运行,是走一步看一步,这次是直接完成所有配置,一次性以反代方式运行网站。
附录: