网站首页 > 技术教程 正文
因为项目需要,现在想将A服务器上的网站(代码)转移到B服务器上,但是不想重新做域名解析,因为这段时间网站收录方面都比较优秀,冒然修改解析怕对网站收录有影响。所以借助一下Nginx的反向代理,将域名从A服务器反向代理到B服务器。
首先将B服务器的环境做成和A一致(Nginx+PHP7.2+Mysql)。将A服务器上的代码以及数据库同步到B服务器上。
不用修改代码中的站点配置,只需要修改Nginx的配置:
A服务器的配置:
upstream proxy_server{
server B_SERVER_IP:8080;
}
server {
listen 80;
server_name www.domain.com m.domain.com;
index index.html index.htm index.php;
## send request back to apache ##
location / {
proxy_pass http://proxy_server;
#Proxy Settings
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
通过以上配置,将域名解析反向代理到B_SERVER_IP:8080中,注意端口,因为我A和B服务器都做了配置分割,在default配置中,监听的80端口,并且配置了server_name _。所以一切以IP直接解析过来的访问都走了default这个配置,没有到指定的配置下。在不想修改default规则的前提下,我把B服务器上的需要被反向代理访问的站点,listen 8080,server_name IP,所以A服务器配置中需要设置被访问的B服务器的IP时,需要修改端口为8080。如果想玩负载均衡,可以在upstream proxy_server下配置多台webserver的ip,并且通过设置weight权重来配比访问。
upstream proxy_server{
server B_SERVER_IP:8080 weight=1;
server C_SERVER_IP:8080 weight=1;
}
权重越高,被访问的机率越大。如上所示,weight都为1,那机率为50%,50%
B服务器的配置
server {
listen 8080;
server_name IP;
root /home/www/wwwroot/website;
index index.php index.html index.htm;
charset utf8;
location ~ \.php(/|$)
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
#include fastcgi_params;
}
#针对Thinkphp 3.2 做的优化,不开启PATH_INFO,直接用rewrite指向到兼容模式的URL
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
}
通过这样的配置,在访问网站时,域名先解析到A服务器上,然后A服务器将所有的访问请求反向代理到B服务器中,B服务器对请求做相关的处理后,返回给A服务器。从而达到不需要修改域名解析,将代码部署到B服务器中。同理也可以实现负载均衡。
猜你喜欢
- 2024-09-19 Tomcat获取Nginx反向代理的客户端域名
- 2024-09-19 详解Nginx 运维之域名验证的方法示例
- 2024-09-19 在centos7 创建基于域名的虚拟主机nginx服务器
- 2024-09-19 在 Go 代码中如何绑定 Host?(git绑定github)
- 2024-09-19 记录使用Nginx完成一个域名根据User-Agent适配PC和手机
- 2024-09-19 nginx反向代理禁止ip访问及泛解析访问限制(禁止非法域名解析)
- 2024-09-19 Nginx 反向代理任意请求的域名(nginx反向代理域名访问)
- 2024-09-19 高性能Nginx服务器-DNS域名解析概述
- 2024-09-19 搭建gitlab自定义域名(gitlab局域网搭建)
- 2024-09-19 【Docker入门】Nginx反向代理做前端,多个Docker容器共存做后端
你 发表评论:
欢迎- 最近发表
-
- Linux新手必看:几种方法帮你查看CPU核心数量
- linux基础命令之lscpu命令(linux中ls命令的用法)
- Linux lscpu 命令使用详解(linux常用ls命令)
- 如何查询 Linux 中 CPU 的数量?这几个命令要知道!
- 在linux上怎么查看cpu信息(linux如何查看cpu信息)
- 查看 CPU 的命令和磁盘 IO 的命令
- 如何在CentOS7上改变网卡名(centos怎么改网卡名字)
- 网工必备Linux网络管理命令(网工必备linux网络管理命令是什么)
- Linux 网络命令知多少(linux 网络 命令)
- Linux通过命令行连接wifi的方式(linux命令行连接无线网)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)