转载请注明出处:http://blog.csdn.net/anxpp/article/details/51808069,谢谢!
1、概述
上一篇博客(Centos7.2 搭建Apache+Php+Mysql环境)描述了本人个人博客(anxpp.com)服务器又winserver 2012 更换为centos7.2,并演示了运行环境的搭建,今天在这个基础上,添加了nginx作反向代理服务器。
因为本人有两台服务器,一台有公网ip(下文简称server1),另一台没有公网ip(下文简称server2),但是与前一台在同一局域网。 所以本人按上一篇博客的过程,将整个博客系统从server1移到了server2中,然后在server1中使用nginx反向代理。
2、数据迁移及相关工作
server2中的环境搭建这里就不多说了,请参考文首提到的上一篇文章。
首先要将server1中的网站数据和数据库中的数据,在server2中需要安装ssh工具,方便文件的上传。
2.1、ssh
安装:
启动ssh服务:
2.2、导出、上传数据
在server1中,直接使用scp将数据上传到server2中。
将本地数据上传到服务器的命令使用方法如下:
scp [可选参数] file_source file_target
本人实际使用如下:
如果修改过server的ssh服务端口,请加上参数“-p port”,参数“-r”表示递归上传目录中及所有子目录中的文件。
因为数据在内网中传送,所以速度相当快。
接下来将mysql中的数据备份出来,此处直接备份为sql文件:
随后会验证密码,若通过即可成功备份为sql文件。
其中anxppblog为本人数据库名。
接着将该文件上传到server2中,使用如下命令恢复带数据库:
2.3、关闭server1中相关服务
博客系统已经准备好。
3、nginx的使用
3.1、安装和运行
首先安装,直接使用yum安装即可:
nginx很小,很快就能装好。
安装好后直接启动起来:
3.2、配置反向代理
默认安装配置文件位于:/etc/nginx/nginx.conf
vi打开:
反向代理主要配置的参数是“proxy_pass”
找到配置信息“location /”,在里面添加:
这样反向代理就配置好了。
此时,可能我们的博客还只能访问首页(因为很多博客系统的子路径是通过获取http header中的Host与资源的相对路径拼凑而成的),所以在proxy_pass参数下,添加proxy_set_header参数用于更改其中的信息:
OK,至此,博客系统已经恢复正常运行了。
4、总结
经测试,博客的响应速度明显提升,我们还可以进一步配置nginx的Buffer和Cache缓存进一步优化访问速度。
nginx配置反向代理共涉及21个指令,夜已深,此处就不多说了。
这也算是一种网站架构的优化吧。
如果大家也要做类似的事情,若有问题,可以一起探讨。
后续会围绕博客更新Docker相关文章,简单介绍网站架构的演化。