# 部署原则

1. 每个jar包一定部署在独立的目录里，jar包的同目录下不允许有其他jar包，也不允许在子目录下部署其他jar包。

2. 建议在每个jar包目录下放一个run.sh和stop.sh文件（目录下有样例文件），run.sh文件指向的log输出建议统一命名为output.out

3. jar包目录下可以放jar包相关的配置文件，配置文件和2中的两个sh文件以及output.out日志之外的其他文件都需要整理在望名知意的文件目录下，如gpload相关配置文件放入`./gpload/`目录

4. 启动jar包时尽量避免使用root用户启动

## 关于接口调用

1. 前端调用接口（前后端分离部署）--包括后端接口和外部接口

    前端（nginx部署）调用接口，不论是后端接口还是外部接口，都要在前端nginx配置端口下添加接口转发，在前端统一使用不带ip和端口的方式调用。

    这样做的好处是如果需要再经过额外的转发，仅需要配置前端接口的转发即可，转https也不需要额外动作，前端在不同环境下对接口的访问都是统一的，不会出现内网和外网访问可能出现一个端口能调用，另一个调不通的情况。

2. 后端调用接口--主要是调用外部端口

    后端调用接口时，建议在部署机nginx上配置转发，代码中使用`127.0.0.1:转发端口`进行调用。

3. 非nginx部署--暂时无思路。
