参考文档:http://unit.nginx.org/configuration/#

安装

可以参考这两篇博客:

https://www.cnblogs.com/wang-li/p/9694391.html

https://www.cnblogs.com/wang-li/p/9684040.html

启动unit

$ 

启动的方式有两种,一种是control.unit.sock方式,还有一种就是如上方式了

加载unit配置

先来看看json文件吧,我们需要加载这个文件

$ cat /usr/local/unit/script/www.json
{
    "listeners": {
        "*:8300": {
            "application": "blogs"
        },
        "*:8310": {
            "application": "phpsite"
        }
    },

    "applications": {
        "blogs": {
            "type": "php7",
            ,
            "root": "/usr/local/nginx/php",
            "index": "index.php",

        "user": "php",
        "group": "php",

        "options": {
            "file": "/usr/local/php7/lib/php.ini"
            }
        },
        "phpsite": {
            "type": "php7",
            ,
            "root": "/usr/local/nginx/php",
            "index": "info.php",

        "user": "php",
        "group": "php",

        "options": {
            "file": "/usr/local/php7/lib/php.ini"
            }
        }

    }
}
$ 

利用curl加载josn文件至unit

$ sudo curl -X PUT -d@/usr/local/unit/script/www.json '127.0.0.1:8400/config'
{
    "success": "Reconfiguration done."
}
$

如果返回"success": "Reconfiguration done.",则就加载完毕
可以查看一下端口

$ netstat -tulnp | [-].
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp                           0.0.0.0:*               LISTEN      -
tcp                         0.0.0.0:*               LISTEN      -
tcp                           0.0.0.0:*               LISTEN      -
$

其中,8400是我们启动unit程序的时候,作为的控制unit API的端口,而8300,8310是在json中编写完毕的,用于监听php的

显示unit配置

显示完整配置

$ curl http://127.0.0.1:8400
{
    "config": {
        "listeners": {
            "*:8300": {
                "application": "blogs"
            },

            "*:8310": {
                "application": "phpsite"
            }
        },

        "applications": {
            "blogs": {
                "type": "php7",
                ,
                "root": "/usr/local/nginx/php",
                "index": "index.php",
                "user": "php",
                "group": "php",
                "options": {
                    "file": "/usr/local/php7/lib/php.ini"
                }
            },

            "phpsite": {
                "type": "php7",
                ,
                "root": "/usr/local/nginx/php",
                "index": "info.php",
                "user": "php",
                "group": "php",
                "options": {
                    "file": "/usr/local/php7/lib/php.ini"
                }
            }
        }
    }
}
$ 

显示部分配置

$ curl 'http://127.0.0.1:8400/config/applications/blogs'
{
    "type": "php7",
    ,
    "root": "/usr/local/nginx/php",
    "index": "index.php",
    "user": "php",
    "group": "php",
    "options": {
        "file": "/usr/local/php7/lib/php.ini"
    }
}
$ 

如果现在去访问8300 和 8310端口的话,会得到两种信息,8300会返回index.php的内容,而8310会返回info.php的内容

利用curl修改unit配置

修改listeners的application

$ curl -X PUT -d '"blogs"' '127.0.0.1:8400/config/listeners/*:8310/application'
{
    "success": "Reconfiguration done."
}
$

查看修改后的信息

$ curl '127.0.0.1:8400/config/listeners'
{
    "*:8300": {
        "application": "blogs"
    },

    "*:8310": {
        "application": "blogs"
    }
}
$ 

可见,8310的application已经由最初的phpsite修改为现在的blogs

修改phpsite的首页文件为index.php

$ curl -X PUT -d '"index.php"' '127.0.0.1:8400/config/applications/phpsite/index'
{
    "success": "Reconfiguration done."
}
$ 

查看修改后的信息

$ curl '127.0.0.1:8400/config/applications'
{
    "blogs": {
        "type": "php7",
        ,
        "root": "/usr/local/nginx/php",
        "index": "index.php",
        "user": "php",
        "group": "php",
        "options": {
            "file": "/usr/local/php7/lib/php.ini"
        }
    },

    "phpsite": {
        "type": "php7",
        ,
        "root": "/usr/local/nginx/php",
        "index": "index.php",
        "user": "php",
        "group": "php",
        "options": {
            "file": "/usr/local/php7/lib/php.ini"
        }
    }
}
$ 

可见,phpsite的index已经由当初的info.php变为现在的index.php了

不过,这个配置重新加载json文件后,又会按照文件内容进行改变了,所以,如果想下次加载文件后依然保持这个值的话,需要修改json文件才行

利用curl删除unit对象

现在想删除unit phpsited对象

$ curl -X DELETE '127.0.0.1:8400/config/listeners/*:8310'
{
    "success": "Reconfiguration done."
}
$ curl -X DELETE '127.0.0.1:8400/config/applications/phpsite'
{
    "success": "Reconfiguration done."
}
$ 

查看现在的unit配置

$ curl '127.0.0.1:8400'
{
    "config": {
        "listeners": {
            "*:8300": {
                "application": "blogs"
            }
        },

        "applications": {
            "blogs": {
                "type": "php7",
                ,
                "root": "/usr/local/nginx/php",
                "index": "index.php",
                "user": "php",
                "group": "php",
                "options": {
                    "file": "/usr/local/php7/lib/php.ini"
                }
            }
        }
    }
}
$ 

现在来看的话,配置就只有blogs配置了

其实后面还有一大堆的东西,比如ssl,全局设置等等,还包括,go和python设置等等...

nginx unit 的使用的更多相关文章

  1. svn + nginx unit + python3自动化发布web服务方法

    本周将python web服务管理更换成nginx unit以后发现接口性能有了明显的提升,访问速度快了不少.不过有个很大的问题就是使用svn自动化发布以后,服务并没有刷新使用新的代码运行,而又不懂得 ...

  2. 关于nginx unit服务非正常关闭后,无法重新启动问题的处理

    昨天在前领导技术大牛吕哥的帮忙下,python服务管理从nginx+supervisor+uwsgi+python3改为了轻便结构nginx + unit + python3,部署和配置起来顿时轻松起 ...

  3. nginx unit PHP

    2018-12-26 14:20:33 星期三 综述: nginx unit php 的关系: nginx -> 转发请求到 8300端口 -> unit 转发 8300 收到的请求 -& ...

  4. Nginx unit 源码安装初体验

    Nginx unit 源码安装初体验 上次介绍了从yum的安装方法(https://www.cnblogs.com/wang-li/p/9684040.html),这次将介绍源码安装,目前最新版为1. ...

  5. nginx unit nodejs 模块试用(续)

      最新(应该是18 年了)nginx unit 发布了新的版本,对于nodejs 的支持有很大的改进,上次测试过,问题还是 比较多,这次使用新版本在测试下对于nodejs 的支持,以及以前block ...

  6. nginx unit nodejs 模块试用

      unit 对于nodejs 的支持是在10.25 发布的,基本能用,但是依然有好多问题,当前在测试的时候就发现,请求之后会block , 相关的issue 已经有人反馈了,最好使用源码编译,方便测 ...

  7. nginx Unit 服务器

    转自: https://github.com/nginx/unit/pull/18/ 感谢: https://www.v2ex.com/t/389528 English 简体中文 繁體中文 NGINX ...

  8. nginx unit java 试用

    unit 当前已经支持java了,当时支持基于servlet 的开发模式,以下是一个简单的学习 基于官方的demo 环境准备 docker-compose文件   version: "3&q ...

  9. nginx unit的初探

    安装介绍: https://www.oschina.net/p/nginx-unit 可以看到,unit还是很强大的,居然特么都支持go 还有python 在/etc/yum.repos.d/unit ...

随机推荐

  1. wordpress评论回复自动发邮件的功能

    A.插件流,可以说WP强大的插件功能的确能省事不少. 插件的办法一般是两步:第一实现成功发邮件,第二时间评论自动回复,这就需要用到两个插件,一个是Configure SMTP,一个是Mail To C ...

  2. OpenStack Q版本新功能以及各核心组件功能对比

    OpenStack Q版本已经发布了一段时间了.今天, 小编来总结一下OpenStack Q版本核心组件的各项主要新功能, 再来汇总一下最近2年来OpenStack N.O.P.Q各版本核心组件的主要 ...

  3. Dubbo源码分析

    Dubbo源码分析1 Dubbo源码分析2 dubbo源码阅读:rpc请求处理流程(1) 架构设计:系统间通信(17)——服务治理与Dubbo 中篇(分析) 13. Dubbo原理解析-注册中心之Zo ...

  4. openstack网络

    OpenStack中neutron的2种ip.3种管理模式 Nova有固定IP和浮动IP的概念.固定IP被分发到创建的实例不再改变,浮动IP是一些可以和实例动态绑定和释放的IP地址. Nova支持3种 ...

  5. py库:把python打包成exe文件(pyinstaller)

    http://blog.csdn.net/be_quiet_endeavor/article/details/73929077 用Pyinstaller把Python3.4程序打包成可执行文件exe ...

  6. 《算法导论》——随机化快排RandomizedQuickSort

    今日算法:随机化快排RandomizedQuickSort 基础工作swap交换和partition分治 /* *交换数组的两个元素 *fromIndex和toIndex为要交换的两个元素的索引 */ ...

  7. WinForm c#操作Excel

    1)Excel 的 Range 对象 在可以对 Microsoft Office Excel 2003 中的任何范围执行操作前,必须将其表示为 Range 对象并使用此 Range 的方法和属性.Ra ...

  8. spring boot报Unsupported Media Type Content type '*/*;charset=UTF-8' not supported

    1.请求设置Content-Type:application/json即可 ajax一般默认:Content-Type: application/x-www-form-urlencoded;chars ...

  9. 阿里云视频直播PHP-SDK

    阿里云 视频直播 配置 及 PHP-SDK 接入教程准备工作域名管理配置鉴权地址生成器及DEMO演示-熟悉鉴权接入SDK推流回调的配置阿里云 视频直播 配置 及 PHP-SDK 接入教程 个人感觉,阿 ...

  10. python 爬虫启航

    1. 使用excel(简单使用) 数据- 自网站-导入 2.you-get python爬虫入门 1.环境配置 python,request,lxml 2.原理 爬虫的框架如下: 1.挑选种子URL: ...