Windows下进行域名映射并配置Nginx反向代理

2,699 阅读2分钟

前言

    一个项目从开发到上线会有不同的环境,如开发环境、测试环境、预发布环境、生产环境等,不同环境的项目访问地址是不一样的,访问地址不同也可能会导致一些问题的产生,为了避免这些问题,可以使不同环境的访问地址相同,这可以通过配置域名来实现。

一、在Windows开发环境中配置访问地址与域名的映射

    1、找到windows下的hosts文件,windows10在C:\Windows\System32\drivers\etc目录下;

    2、通过管理员权限打开hosts文件,因为保存的时候需要管理员权限才能保存;

    3、在hosts文件中添加访问地址与域名的映射,如:127.0.0.1 maibao.cms.com ,如果项目已经部署到远程服务器,可以把127.0.0.1修改为远程服务器的地址;

    4、保存之后可以通过域名进行访问了,如:maibao.cms.com:8082 ,但由于一个应用通常是由内部的多个服务器提供服务的,用户在访问时不可能使用端口进行访问,而应该由服务器内部决定使用哪个服务器给用户提供服务,这就需要用到反向代理了。

二、在Windows开发环境中安装nginx并进行反向代理

下载地址:nginx.org/en/download…

    1、解压nginx-1.14.0.zip到使用目录下;

    2、在解压目录的conf目录下,找到nginx.conf修改server代理的IP地址和端口号;

    3、将server修改成如下所示:   

 
  1. server {
  2.         listen       80;
  3.         #域名名称
  4.         server_name  maibao.cms.com;
  5.  
  6.         location / {
  7.             #代理的ip地址和端口号
  8.             proxy_pass http://127.0.0.1:8082/;
  9.             #代理的连接超时时间(单位:毫秒)
  10.             proxy_connect_timeout 600;
  11.             #代理的读取资源超时时间(单位:毫秒)
  12.             proxy_read_timeout 600;
  13.         }
  14.  
  15.         error_page   500 502 503 504  /50x.html;
  16.         location = /50x.html {
  17.             root   html;
  18.         }
  19.     }

    也可使用如下方式:   

 
  1. upstream tomcatserver_cms{
  2.        server 127.0.0.1:8082;
  3.     }
  4.  
  5.     server {
  6.         listen       80;
  7.         server_name  maibao.cms.com;
  8.  
  9.         location / {
  10.             proxy_pass http://tomcatserver_cms/;
  11.         proxy_connect_timeout 600;
  12.         proxy_read_timeout 600;
  13.         }
  14.  
  15.         error_page   500 502 503 504  /50x.html;
  16.         location = /50x.html {
  17.             root   html;
  18.         }
  19.     }

    4、在nginx根目录下启动nginx命令:start nginx;

    5、查看nginx是否启动

    (1) 查看logs目录下是否有nginx.pid文件,如果有说明nginx是启动状态的,如果没有说明nginx已经停止

    (2) 查看80端口是否启动,查看命令是:netstat -ano|findstr :80 ;

    6、修改配置文件后重启nginx命令:nginx -s reload;

    7、停止nginx命令:nginx -s stop