文件名称

表示这个路由配置存储在服务器上的文件名

建议使用项目或者域名做名称

注意是.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

表示对应的服务没有容器在运行!

超级管理员
贴代码框架
贴代码框架PasteForm的在线文档,主要介绍理念和特性及实际案例!
贴代码文档
什么才叫操作文档?对于操作人员来说,遇到哪个字段不懂意思,点击下即可查阅说明,这就是最好的文档!
PasteSpider在线操作文档
PasteSpider是专门为开发者开发的部署工具,五分钟上手,小内存服务器也可以使用,使用旁载模式,运行更安全!!!目前仅支持linux的服务器,win服务器的版本将在不久到来!
贴代码在线客服文档
是客服系统也是营销系统,支持丰富的话术配置,支持自定义消息格式,支持多站点入驻模式,一键部署快速搭建!