
为项目创建nginx的路由规则,适用于绑定了域名的服务!
表示这个路由配置存储在服务器上的文件名
建议使用项目或者域名做名称
注意是.conf结尾
比如
www.xxx.com.conf
这个用于模板里面的,在里面用
{{ Host }}
表示
如果你里面没使用这个变量,也可以不配置
这个路由配置作用于哪个项目
为啥不是作用于服务?
前面说的
如果用一个域名能够访问的,一般可以概述为一个项目
然后使用upstream拆分的为服务
所以项目路由是以项目划分的
环境作为运行服务的横向分割
比如配置测试环境为
test.xxx.com.conf
正式环境为
www.xxx.com.conf
所以项目路由的配置和环境有关
是否启用nginx有2个点!
1.这里配置是否启用,状态是否打开
2.服务那边的配置 是否勾选了更新Nginx
生成的.conf文件存放于哪些服务器
这个要基于实际情况配置
这里内容比较多
需要查看宏相关的
也要查看模板的写法
不过我们提供了Http的一个模板
还有一个是https的模板
其实有了模板代码,你可以自己尝试修改修改
模板的写法资料如下
//http://dotliquidmarkup.org/
//https://shopify.github.io/liquid/tags/template/
对应导入的数据模型如下
#多端口模式
// {% assign ports={{app.listen_ports}} | split:"," %}
// {{ ports[0] }}
/// <summary>
/// 项目
/// </summary>
public class TemProject
{
/// <summary>
/// 项目ID
/// </summary>
public int Id { get; set; }
/// <summary>
/// 项目代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 项目名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 项目域名 路由文件中配置
/// </summary>
public string Host { get; set; }
/// <summary>
/// 服务
/// </summary>
public List<TemService> services { get; set; }
}
/// <summary>
/// 服务
/// </summary>
public class TemService
{
/// <summary>
/// 服务ID
/// </summary>
public int Id { get; set; }
/// <summary>
/// 服务代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 模式
/// </summary>
public List<TemModel> models { get; set; }
}
/// <summary>
/// 模式环境
/// </summary>
public class TemModel
{
/// <summary>
/// 模式ID
/// </summary>
public int Id { get; set; }
/// <summary>
/// 模式名称 default prod test 等
/// </summary>
public string Name { get; set; }
/// <summary>
/// 容器
/// </summary>
public List<TemApp> apps { get; set; }
}
/// <summary>
/// 容器
/// </summary>
public class TemApp
{
/// <summary>
/// 容器IDSpider里面的
/// </summary>
public int Id { get; set; }
/// <summary>
/// 容器名称
/// </summary>
public string AppName { get; set; }
/// <summary>
/// 容器ID字符串
/// </summary>
public string AppId { get; set; }
/// <summary>
/// 所在服务器ID
/// </summary>
public int LinuxId { get; set; }
/// <summary>
/// APP的IP地址
/// </summary>
public string Address { get; set; }
/// <summary>
/// 监听端口 默认80
/// </summary>
public string ListenPorts { get; set; }
/// <summary>
/// 外部端口
/// </summary>
public string OutPorts { get; set; }
/// <summary>
/// 服务器外IP
/// </summary>
public string RemoteIP { get; set; }
/// <summary>
/// 服务器名称 用于绑定Host
/// </summary>
public string LinuxName { get; set; }
/// <summary>
/// 服务器局域网IP
/// </summary>
public string LocalIP { get; set; }
}修改模板后
点击后面的预览可以查看结果!
保存后,回到列表页面,点击后面的重新载入
重新载入
会在对应服务器执行
nginx -t && nginx -s reload
这样可以看看有没有错误,好进行及时修改!
执行结果可以去任务列表查看!
基于模板内容和上面的配置和正在运行的服务
预览生成的.conf的内容
注意如果
upstream里面的server的IP为
127.0.0.1
表示对应的服务没有容器在运行!