一次接口网站IIS6切换成IIS7失误造成的影响

首先上环境:

原接口网站服务器windows2003R2 32bit     IIS6.0

新服务器windows2008R2 64bit          IIS7.0

网站前端用nginx做反向代理

1;操作步骤

首先把站点拷贝到新服务器上

这一步没有什么问题 一个ftp搞定 另外我们网站环境用了一个同步源 sersync2--rsync的操作 所以并不影响了开发传代码

2;测试

本机修改hosts 路径为C:\Windows\System32\drivers\etc

192.168.1.50 www.AAA.com

##这步相当关键,之后因为这里测试不严谨导致一系列故障

3;修改nginx配置文件

##附上我做nginx反向代理测试的config文件

user  www www;

worker_processes  1;

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {

worker_connections  1024;

}

http {

include       mime.types;

default_type  application/octet-stream;

#log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘

#                  ‘$status $body_bytes_sent "$http_referer" ‘

#                  ‘"$http_user_agent" "$http_x_forwarded_for"‘;

#access_log  logs/access.log  main;

sendfile        on;

#tcp_nopush     on;

#keepalive_timeout  0;

keepalive_timeout  65;

#gzip  on;

#172.18.18.217

upstream 172.18.18.217{

server 172.18.18.217:80;

}

server {

listen       80;

server_name  test.com;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {

proxy_pass          http://172.18.18.217;

proxy_set_header    Host            $host;

proxy_set_header    X-Real-IP       $remote_addr;

proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;

}

#error_page  404              /404.html;

# redirect server error pages to the static page /50x.html

#

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80

#

#location ~ \.php$ {

#    proxy_pass   http://127.0.0.1;

#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

#location ~ \.php$ {

#    root           html;

#    fastcgi_pass   127.0.0.1:9000;

#    fastcgi_index  index.php;

#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

#    include        fastcgi_params;

#}

# deny access to .htaccess files, if Apache‘s document root

# concurs with nginx‘s one

#

#location ~ /\.ht {

#    deny  all;

#}

}

# another virtual host using mix of IP-, name-, and port-based configuration

#

#server {

#    listen       8000;

#    listen       somename:8080;

#    server_name  somename  alias  another.alias;

#    location / {

#        root   html;

#        index  index.html index.htm;

#    }

#}

# HTTPS server

#

#server {

#    listen       443 ssl;

#    server_name  localhost;

#    ssl_certificate      cert.pem;

#    ssl_certificate_key  cert.key;

#    ssl_session_cache    shared:SSL:1m;

#    ssl_session_timeout  5m;

#    ssl_ciphers  HIGH:!aNULL:!MD5;

#    ssl_prefer_server_ciphers  on;

#    location / {

#        root   html;

#        index  index.html index.htm;

#    }

#}

}

4;另准备一台nginx反向代理服务器,跟源nginx配置文件一模一样

##这个当时没考虑到,但是因为以前我就做个一个在线上的nginx服务器的备份服务器 线上服务器和备用服务器没有采取高可用,但是也同时利用了sersync2---rsync,之后出问题的时候我才知道自己有多明智(搞不定之后,我用了这台备用的nginx--原网站接口服务器)

5;正式切换

其实也就是在线上nginx服务器上将原来的 upstream更换成另外一个而已  不叙述了,nginx反带不难 这里有个相当重要的操作就是一定要

./nginx -t 检测配置文件写的是否正确,再reload加载 我们这一步相当的严谨做了

问题爆发

1;我们切换过去之后发现 网站刚刚还能打开,之后就不能够打开了

突然一下 20~30个网站接口全挂了,开发全部来找我,自己说实话也慌了。

解决:我们发现了一个让人哭笑不得的问题,新的服务器被我们安装了一个服务器安全狗 所以你懂的。nginx反向代理和负载 后端web服务器又防火墙的话一定要加个白名单

这里在切换之后或者在切换之前再弄一台nginx反带  用ab测试 分别测试不同的网站接口(nginx有缓存功能,如果一直用ab测试相同的网站并无意义,可能还需要多台ab客户端)

2;突然冒出以一个网站接口打开报错

说实话,我对网站代码报错也不懂,开发一个劲的找我(他也是从别人手上接手的代码,还没看过的) 之后一个开发查了下报错信息发现这个程序需要.net3.5环境 问我安装了没有

我说没有,情况可想而知

这里一说明我们测试(上面第2步)并不严谨  二说明我们配置服务器环境的时候也没考虑到位

3;开发给了我一个建议说从32位系统搬迁到64位上 最好在IIS7上还是使用32位的.net环境  不然里面出现了些异常更加难查 更改如下图

一次简单的网站切换竟然导致了这么多问题,细节很重要啊。

时间: 2024-09-30 15:48:54

一次接口网站IIS6切换成IIS7失误造成的影响的相关文章

ASP.NET程序从IIS6移植到IIS7时出现500.22错误

最可能的原因:  •    此应用程序在 system.web/httpModules 节中定义配置.  可尝试的操作:  •    将配置迁移到 system.webServer/modules 节.也可以手动这样做,或通过在命令行中使用 AppCmd 来这样做 - 例如,%SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/".使用 AppCmd 迁移应用程序将使它能够在集成模式下工作,并能继续在

IIS5.1、IIS6.0、IIS7.5中安装配置MVC 3

本文主要介绍在IIS5.1.IIS6.0.IIS7.5中安装配置MVC 3的具体办法! 正文: IIS5.1 1. 安装Microsoft .net FrameWork 4.0安装包; 2. 安装ASP.NET MVC 3; 3. 在IIS中发布网站,创建虚拟目录,ASP.NET版本选择4.0.30196: 4. 添加MVC的解析: 右击IIS中的虚拟目录选择“属性”-“虚拟目录”-“配置”-“映射”-“添加”,配置如下: 可执行文件:C:\WINDOWS\Microsoft.NET\Frame

linux 普通用户切换成root免密码

[[email protected] ~]# vim /etc/pam.d/su 下面是/etc/pam.d/su文件的内容 1 #%PAM-1.0 2 auth sufficient pam_rootok.so 3 # Uncomment the following line to implicitly trust users in the "wheel" group. 4 #auth sufficient pam_wheel.so trust use_uid 5 # Uncomme

Magento 切换成中文后没有数据信息解决办法

一款基于Google Closure compiler压缩Js文件插件. 快捷键: Ctrl+Alt+M            当前文件内压缩Js代码(不推荐) Ctrl+Alt+Shift+M   压缩Js并生成压缩文件 *.min.js 安装成功重启,如果报错,在配置里改一个参数,"compiler": "uglify_js", { // the closure compiler adds new lines every 500 characters // fo

联通专线切换成移动专线问题故障解决

公司业务需求,把原来的联通线路切换成移动的线路,本来很简单的问题,只要把原来的专线路由器上的联通口拔掉,插上移动线路就行了. 对方反馈插上去路由器网口不亮 经过登陆对方路由器发现端口模式是半双工模式 登录对方路由器 #config #(config)# (config)#interface GIabitEhernet0/0 (config-if)#duplex full wr 问题解决

Win10专业版如何切换成Win7模式的输入法

小编今天为大家分享Win10如何切换成Win7模式的输入法.相信大家在从win7升到win10的时候对于输入法操作一定会感到不适应,那么我们应该怎么解决这个问题呢?相信大家一定会喜欢,那么今天给大家介绍一下! 1.首先添加语言 点击系统托盘中的输入法图标---语言首选项---"添加语言",选择"英语"---打开,选择"英语(美国)"---添加,或者,右击左下角开始图标,打开控制面板---时钟.语言和区域---语言,点击"添加语言&quo

php从接口获取数据转成可以用的数组或其他(含转换编码)

程序开发,时常会用到将接口的json数据转换成程序可以用的,因为今天看到一个比较好的程序,贴上来,以备随时查看: /** * 将对象转成数组,并按要求转换编码 * * @param array $array 待转编码数组 * @param 标记 $flag 1为从GBK到UTF-8 0为从UTF-8到GBK * @return 编码后数组 */ function changeCoding($array,$flag=true){ if(is_object($array)||is_array($ar

Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Discuz!

Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Discuz! log.latermoon.com/

api接口网站

https://www.showdoc.cc/ 最近在玩node,没更新 新的技术点,上面的是我用到的一款免费好用api文档接口网站. 接下来,我还是更新下加密的技术点吧.很久之前有研究过加密解密的. 再接下来,我也不知道要加什么技术点了,很多技术都不会,但我也在做点新的东西,以后,争取努力更新这个博客. 我还有个人的技术文档.以后要么更新博客,要么更新技术文档 http://www.yueqingfang.cn/markdown 原文地址:https://www.cnblogs.com/huo