网站搭建相关问题?

网站搭建萌新,有些疑惑希望大佬们可以解答:

  1. nginx、tomcat与云服务器(如阿里云、腾讯云等)、机房实体服务器有啥区别?
  2. 搭建网站的时候什么时候用nginx和tomcat,以及详细原因(比如为啥tomcat大多用于前端到后端的中间件,而nginx为啥大多用于用户到浏览器的中间件?)
  3. 搭建网站,前后端分别部署在不同云服务器上,以前端访问后端为例,在已实现跨域的前提下,能否通过 前端向后端云服务器的公网ip发生http请求 实现将前端数据(如登陆表单等)发送到后端
  4. 为啥阿里云、腾讯云的服务器公网ip不能直接访问?(即:在浏览器url栏输入公网ip通常无法连接,而必须通过软件等实现?)

ps:萌新一枚,勿喷勿喷

阅读 1k
avatarAI BotBETA

nginx和Tomcat都是非常常见的Web服务器软件,它们在网站搭建过程中起着非常重要的作用。

  1. nginx、tomcat与云服务器(如阿里云、腾讯云等)、机房实体服务器的区别
* **nginx** 是一个轻量级的 Web 服务器/反向代理服务器,它主要用于处理 HTTP 请求,并可以作为反向代理服务器将来自客户端的请求转发到其他服务器上。
* **Tomcat** 是一个开源的 Java Web 应用服务器,它主要用于托管 Java Web 应用程序,可以处理 HTTP 和 HTTPS 请求,并支持 Servlet 和 JSP 技术。
* **云服务器(如阿里云、腾讯云等)** 是虚拟服务器,它们在云端运行,提供计算、存储和网络资源等服务。云服务器可以按需提供所需的资源,并且可以根据需要进行扩展或缩减。
* **机房实体服务器** 是物理服务器,它们在特定的机房中运行,需要手动进行配置和维护。
  1. 什么时候使用nginx和Tomcat,以及详细原因
* **nginx** 通常用作反向代理服务器和负载均衡器。当你有多个 Web 应用服务器(如 Tomcat)需要部署在同一台或多台机器上时,nginx 可以作为反向代理服务器接收来自客户端的请求,然后根据负载均衡策略将请求转发到相应的 Web 应用服务器上。此外,nginx 还具有缓存、SSL 加密等功能,所以也常用于作为 SSL 终止的地方。
* **Tomcat** 通常用作 Java Web 应用程序的服务器。如果你的网站是基于 Java 开发的,那么使用 Tomcat 作为 Web 应用服务器是非常方便的。Tomcat 可以处理 HTTP 和 HTTPS 请求,支持 Servlet 和 JSP 技术,并提供了一个良好的管理和监控环境。
  1. 前后端分别部署在不同服务器上,以前端访问后端为例,在已实现跨域的前提下,能否通过前端向后端服务器的公网ip发生http请求实现将前端数据(如登陆表单等)发送到后端

在已经实现跨域的前提下,可以通过前端向后端服务器的公网 IP 发送 HTTP 请求来实现前端数据(如登陆表单等)发送到后端。但是需要注意以下几点:

* 前端和后端需要协商好跨域的细节,例如使用 CORS(跨源资源共享)协议或其他跨域技术。
* 前端发送的请求必须符合跨域的规则,否则后端服务器可能会将其视为非法的跨域请求并拒绝处理。
* 由于公网 IP 是公开的,因此需要确保后端服务器的安全性,以防止来自外部的恶意攻击。
  1. 为啥服务器公网ip不能直接访问?

直接通过服务器的公网 IP 访问网站通常会失败,原因可能有以下几点:

* **安全性限制**:服务器的公网 IP 是公开的,任何人都可以通过该 IP 访问服务器上的资源。为了保护服务器的安全,通常会在服务器上设置防火墙来限制对外开放的端口和访问权限。这意味着只有通过特定的端口或协议才能访问服务器上的资源。
* **服务未启动或未正确配置**:即使服务器的公网 IP 可以直接访问,但仍然需要注意服务是否已经启动并且配置正确。例如,如果 Tomcat 服务未启动或配置不正确,它将无法正确处理传入的请求。
2 个回答
✓ 已被采纳
  1. nginx、tomcat只是一个中间件,一个软件,他需要跑在实体机器上面。就像你的windows电脑安装了一个浏览器。
  2. 搭建网站时候看情况使用nginx、tomcat。你需要知道web应用默认使用80、443接口,如果你仅有一个WEB应用,不用nginx也没有事。你有多个web应用,需要共同使用80、443,那你就最好需要一个nginx这类的反向代理工具,将从80、443的进入流量按规则分配到你的后端应用。
  3. 可以,只需要将后端服务端口暴露出来即可
  4. 你需要知道几件事:

    1. 你的防火墙开了没有?需要确认云服务商的防火墙时候开通了80、443端口,可以使流量进入
    2. 如果使用域名解析、或者IP直接访问80、443,由于国内政策法规,你是否对域名、服务器进行备案?

1: 机房实体服务器就好比自己电脑,云服务器就好比电脑上的网络邻居给你共享了一个存放文件的地方,机房实体服务器云服务器 属于同一个东西,搭建网站必须。
tomcat 就是一个软件,一般 java 开发的网站(一般说后端程序),才用就用他来做WEB服务,比如还有 nginxApache等,而 nginx 一般用来做转发用,一般用在最前面

比如一个云服务器多个网站,java开发的情况下一般这样

首先用 tomcat WEB服务来启动
比如网站一:http://127.0.0.1:8081
比如网站二:http://127.0.0.1:8082

然后用 nginx 转发,那么用户真正访问的是
比如网站一:http://aaa.com 会转发到 http://127.0.0.1:8081 上去
比如网站二:http://bbb.com 会转发到 http://127.0.0.1:8082 上去

2:nginx一般什么时候都会用,而 tomcat 看你后台什么开发的

3:可以,现在都这么干的

4: 公网IP不能访问,首先要看你网站有没有部署好,第二看80端口有没有允许访问,如果安装好了 nginx ,80 端口允许访问的情况下,IP直接可以访问,可以看到nginx欢迎页面

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题