您的位置:首页 > 运维架构 > 反向代理

Nginx反向代理服务器(博客架构优化)

2016-07-02 01:48 537 查看
转载请注明出处:/article/11912771.html,谢谢!


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

安装:
yum install openssh-server


启动ssh服务:
systemctl start sshd


2.2、导出、上传数据

在server1中,直接使用scp将数据上传到server2中。

将本地数据上传到服务器的命令使用方法如下:

scp [可选参数] file_source file_target

本人实际使用如下:
scp -r /var/www/html root@server2ip:/var/www/


如果修改过server的ssh服务端口,请加上参数“-p port”,参数“-r”表示递归上传目录中及所有子目录中的文件。

因为数据在内网中传送,所以速度相当快。

接下来将mysql中的数据备份出来,此处直接备份为sql文件:
mysqldump -u root -p anxppblog > anxppblog.sql


随后会验证密码,若通过即可成功备份为sql文件。

其中anxppblog为本人数据库名。

接着将该文件上传到server2中,使用如下命令恢复带数据库:
mysql -uroot -ppassword;
create database anxppblog DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql->use anxppblog;
mysql->set names utf8;
mysql->source anxppblog.sql;



2.3、关闭server1中相关服务

systemctl stop mariadb     #关闭服务
systemctl disable mariadb #取消自启动
systemctl stop httpd
systemctl diable httpd


博客系统已经准备好。


3、nginx的使用


3.1、安装和运行

首先安装,直接使用yum安装即可:
yum install nginx;


nginx很小,很快就能装好。

安装好后直接启动起来:
systemctl start nginx
systemctl enable nginx


3.2、配置反向代理

默认安装配置文件位于:/etc/nginx/nginx.conf

vi打开:
vi /etc/nginx/nginx.conf


反向代理主要配置的参数是“proxy_pass”

找到配置信息“location /”,在里面添加:
proxy_pass http://server2的ip/;


这样反向代理就配置好了。

此时,可能我们的博客还只能访问首页(因为很多博客系统的子路径是通过获取http header中的Host与资源的相对路径拼凑而成的),所以在proxy_pass参数下,添加proxy_set_header参数用于更改其中的信息:
proxy_set_header Host anxpp.com;


OK,至此,博客系统已经恢复正常运行了。


4、总结

经测试,博客的响应速度明显提升,我们还可以进一步配置nginx的Buffer和Cache缓存进一步优化访问速度。

nginx配置反向代理共涉及21个指令,夜已深,此处就不多说了。

这也算是一种网站架构的优化吧。

如果大家也要做类似的事情,若有问题,可以一起探讨。

个人博客:anxpp.com

后续会围绕博客更新Docker相关文章,简单介绍网站架构的演化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: