在不添加端口的情况解决端口占用问题

网址的组成

http://localhost:8887

http
  • 指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应
域名(localhost)
  • 域名方便人类记忆,DNS会将域名解析成IP地址指定到对应的服务器
端口号(8887)
  • 请求发到服务器后,会根据端口找到对应的应用处理请求返回客户端数据

数据请求响应过程

  1. 客户与服务器建立连接;

  2. 客户向服务器提出请求;

  3. 服务器接受请求,并根据请求返回相应的文件作为应答;

  4. 客户与服务器关闭连接。

  5. 客户与服务器之间的HTTP连接是一种一次性连接,它限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接。这种一次性连接主要考虑到WWW服务器面向的是Internet中成干上万个用户,且只能提供有限个连接,故服务器不会让一个连接处于等待状态,及时地释放连接可以大大提高服务器的执行效率。

互联网数据传输过程.png

服务部署端口占用

  • http(默认80端口但是不会占用),若配置的服务也是80端口则直接通过域名即可访问,不用加端口号,

  • 一个应用只能占一个端口

Nginx反向代理(在不添加端口的情况解决多个域名访问一台服务器的不同应用)

  • Nginx默认占用80端口

  • Nginx是一个高性能的HTTP和反向代理web服务器

  • 反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源

  • 静态资源可以指向一个root目录

  • 动态资源指向一个请求地址( http://192.168.78.134:8080)

  • 客户通过域名发送请求,Nginx服务器监听到请求,将请求映射到对应域名的服务器如192.168.78.134下的8080端口,服务器处理后数据交给nginx,进而返回给客户端

#配置一个代理即tomcat1服务器
upstream tomcat_server1 {
   server 192.168.78.134:8080;
}

#配置一个代理即tomcat2服务器
upstream tomcat_server2 {
   server 192.168.78.135:8080;
}

#配置一个虚拟主机
server {
   listen 80;
   server_name aaa.test.com;
   location / {
       #域名aaa.test.com的请求全部转发到tomcat_server1即tomcat1服务上
       proxy_pass http://tomcat_server1;

       #欢迎页面,按照从左到右的顺序查找页面
       index index.jsp index.html index.htm;

   }
}

server {
   listen 80;
   server_name bbb.test.com;
   location / {
       #域名bbb.test.com的请求全部转发到tomcat_server2即tomcat2服务上
       proxy_pass http://tomcat_server2;

       index index.jsp index.html index.htm;
   }
}

你可能感兴趣的:(在不添加端口的情况解决端口占用问题)