利用Nginx让IIS和tomcat共用80端口

项目:《安徽省儿童医院》主网站(PHP开发)与微信(JAVA开发)共用服务器

原来整合时使用的是jakarta桥接插件,但当时整合时就各种弄不懂,也是各种迷糊然后就好了,最终主网站用的域名是www.ahetyy.com,微信端用的是211.149.198.47/etyy

然后网站和微信一直都能使用,相安无事,但有一次莫名其妙地出了问题,不得其解。

在修复时打算按照原来的方式来,可是发现又不会弄了,因为当初怎么弄好的都不记得。

无奈之下在百度搜索时发现一篇《IIS tomcat共用80端口解决一个IP多个域名:使用Nginx反向代理方式使两者兼容》的文章,受其启发,准备改用Nginx来完成。

####1.下载
http://nginx.org/en/download.html 我当时下载的是nginx/Windows-1.7.8 版本。

####2.解压

####3.修改配置
nginx的配置看起来还是比较复杂的,现在的配置只是保证能使用,但不一定是最好的

修改Nginx的conf目录下的nginx.conf文件,修改server的配置如下:

server {
  listen       80;
  server_name  www.ahetyy.com;
  location ^~ /etyy {
      proxy_pass   http://localhost:8080/etyy;
      proxy_set_header Host $host;  
      proxy_set_header X-Real-IP $remote_addr;  
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
  location / {
          proxy_pass   http://localhost:81;
  }
}

其中server_name表示对外访问的域名,第一个location的规则是 任意以”/etyy”开头的请求都转发给http://localhost:8080/etyy也就是tomcat来处理,第二个location的规则是其余请求全都发给php的主网站处理。

特别注意:第一个location下的配置中的proxy_set_header的配置是必须的,否则最后打开http://www.ahetyy.com/etyy时页面请求的css和js路径都会是localhost:8080的,因为tomcat那边得到的请求就是localhost:8080的,需要将请求的头信息修改为真实请求的请求路径才行。(但是现在页面的base的路径上会有一个端口80,有点小小强迫症的我就忍了~)

####4.运行
cmd切换到nginx.exe的目录下,启动– start nginx 停止– nginx -s stop,有时会结束不掉,我就会手动关闭进程~

####5.设置Nginx以服务方式启动
(暂时没做,网上教程看着好复杂- -!),搞定!

分享到

SVN、GIT数据迁移

###SVN数据迁移
svn的管理使用的是Collabnet Subversion Edge。

#####1.安装服务
在目标机器上安装Collabnet Subversion Edge,简称CSE

#####2.复制版本库
将旧服务器上的repository全部复制到新服务器上

#####3.导入数据
在新服务器上打开CSE的管理后台http://localhost:3343/csvn, 在“版本库”页面选择“发现版本库”,这样就把之前的版本库都导入进去了

#####4.复制用户数据
从原机器中拷贝{安装路径} \data\conf下的svn_auth_file文件到新机器

#####5.导入用户数据
修改新机器{安装路径}\data\csvn-production-hsqldb.script文件。复制原机器中类似

INSERT INTO USER VALUES(1,2,'admin user','admin@example.com',TRUE,'f52c7457507a292a11bf8d274d720ee4','Super Administrator','admin')

的语句到新服务器的对应文件。

#####6.重置用户密码

#####7.重启CSE服务即可

###GIT数据迁移
GIT的数据迁移比较简单,GIT是采用mysmgit+copssh搭建的。

#####1.安装环境
新机器上搭建GIT环境,并建立每个需要备份的项目的空仓库(好像不新建也是可以的)

#####1.GIT仓库转移
选择一份最新版本的项目路径,执行

git remote set-url origin 资源库地址

#####2.GIT提交
直接将当前项目提交即可,这样新的仓库里也是有之前所有的提交记录的

分享到