教程说明

环境要求

  • Maven
  • JDK8
  • Nginx-1.14.0(内置)

javaapp

我写了一个嵌入式 Tomcat 的 Java 服务,代码在 javaapp 目录,基于 maven 管理。这个服务可以通过在启动时指定 -Dtomcat.connector.port-Dtomcat.context.path 来分别指定服务启动时的端口号和 context。这样可以很方便的模拟多个服务器的场景。

例如:

  1. java -Dtomcat.connector.port=9030 -Dtomcat.context.path=/app -cp "JavaWebApp/WEB-INF/classes;JavaWebApp/WEB-INF/lib/*" io.github.dunwu.app.Main
  • io.github.dunwu.app.Main 是这个 Java 服务的启动类。
  • JavaWebApp/WEB-INF/classes;JavaWebApp/WEB-INF/lib/* 是 class 路径和 lib 路径,必须指定,否则无法识别启动类。

如上的配置参数,可以启动一个端口号为 9030,上下文为 /app 的服务。访问路径为:http://localhost:9030/app。

reactadmin

一个简单的 React 应用。用于演示静态站点场景。

reactapp

一个简单的 React 应用,生产环境时,会访问后台 API。用于演示前后端分离的应用场景。

nginx-1.14.0

nginx-1.14.0 是 Nginx 的 windows 环境的 1.14.0 官方版本。之所以把它完整的放入本项目中也是为了方便演示。

我添加了两个 bat 脚本,可以启动和关闭 nginx 服务。

在 Nginx 默认配置文件 nginx.conf 中我通过配置 include demos/*.conf;Nginx/demos/nginx-1.14.0/conf/demos 目录中所有 Nginx 配置示例都引入。

scripts

scripts 中包含了运行示例的启动脚本。目前只支持 windows 下运行,当然想基于此教程改造为在 Linux 下运行也不难,将 nginx-1.14.0 替换为 Linux 版本,bat 脚本修改为 shell 即可。

运行步骤:

  1. 首先必须执行 build-javaapp.bat 构建 javaapp
  2. 想运行哪个 demo,就执行对应的 demoxx-start.bat 脚本。

添加 hosts

因为示例中使用的不是公网域名,域名服务器不能识别。所以,要演示示例,还需要修改本地 hosts。

  • windows 的 host 路径一般在:C:\Windows\System32\drivers\etc\hosts
  • linxu 的 host 路径一般在:/etc/hosts