2018-12-26 14:20:33 星期三

综述: nginx unit php 的关系:

nginx -> 转发请求到 8300端口 -> unit 转发 8300 收到的请求 -> PHP

首先, 配置unit, 设置转发哪个端口的请求, 转发给哪个PHP文件, PHP的配置文件地址, 启动的进程数等

然后, 配置nginx, 将匹配到的域名/ip/端口, 通过 proxy 相关指令转发到 unit监听并转发的端口

而unit本身也还会监听某一个端口或sock文件, 用来接收配置信息的更改请求

具体操作

第一步: 安装, 我用的是centos 6 官网 http://unit.nginx.org/installation/#centos-packages

第二步: 启动 如果是按照官网, 通过yum 进行安装的, 启动方法就是

/usr/sbin/unitd --control 127.0.0.1:8224
2018/12/26 14:26:11 [info] 13924#13924 unit started

此时

ps -ef | grep unit
root : ? :: unit: main v1. [/usr/sbin/unitd --control 127.0.0.1:]
nobody : ? :: unit: controller
nobody : ? :: unit: router

第三步: 创建配置文件 , 复制并修改官网的json, 创建json文件: /etc/unit/test.json

{
"listeners": {
"*:8300": {
"application": "test"
}
}, "applications": {
"test": {
"type": "php",
"processes": ,
"root": "/www/unit/test",
"index": "index.php" }
}
}

第四步: 用curl命令将这个json文件发送给unit, 创建对象 (注意官网是通过 unix-socket 进程间通信的方法去发送json配置文件给unit的守护进程的, 在这里直接发送到unit监听的端口)

curl -X PUT -d @/etc/unit/test.json  http://localhost:8224/config 

此时多了两个application进程:

ps -ef | grep unit
root : ? :: unit: main v1. [/usr/sbin/unitd]
nobody : ? :: unit: controller
nobody : ? :: unit: router
root : ? :: unit: "test" application
root : ? :: unit: "test" application

第五步: 查看已发送的配置

curl http://127.0.0.1:8224

第六步: 更改json配置文件, 进程数设置为5, 并重新发送配置, 再查看进程数: application进程变为5个

ps -ef | grep unit
root : ? :: unit: main v1. [/usr/sbin/unitd --control 127.0.0.1:]
nobody : ? :: unit: controller
nobody : ? :: unit: router
root : ? :: unit: "test" application
root : ? :: unit: "test" application
root : ? :: unit: "test" application
root : ? :: unit: "test" application
root : ? :: unit: "test" application

未完待续.....

nginx unit PHP的更多相关文章

  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 源码安装初体验

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

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

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

  5. nginx unit nodejs 模块试用

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

  6. nginx Unit 服务器

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

  7. nginx unit java 试用

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

  8. nginx unit 的使用

    参考文档:http://unit.nginx.org/configuration/# 安装 可以参考这两篇博客: https://www.cnblogs.com/wang-li/p/9694391.h ...

  9. nginx unit的初探

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

随机推荐

  1. Python selenium —— 一定要会用selenium的等待,三种等待方式解读

    发现太多人不会用等待了,博主今天实在是忍不住要给大家讲讲等待的必要性. 很多人在群里问,这个下拉框定位不到.那个弹出框定位不到…各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加 ...

  2. 一入OI深似海 2 —— 初中三年,颓废PJ

    初中,OI似乎没有真正进入我的生活. 三年PJ在我的生活中占比很少. 每天都是平淡无奇的文化课,晚上在写完作业之后还能休息一会儿. 每周六下午的OI课很短暂, 大部分时间我还是把我的重心放在学习上. ...

  3. java 枚举2

    package com.wsy.test; public enum Color { RED("红色",1),GREEN("绿色",2),BLUE("蓝 ...

  4. cocos creator入门

    前面的话 Cocos Creator 是一个完整的游戏开发解决方案,包括了 cocos2d-x 引擎的 JavaScript 实现,以及快速开发游戏所需要的各种图形界面工具.Cocos Creator ...

  5. 熟悉常用的HBase操作

    1. 以下关系型数据库中的表和数据,要求将其转换为适合于HBase存储的表并插入数据: 学生表(Student)(不包括最后一列) 学号(S_No) 姓名(S_Name) 性别(S_Sex) 年龄(S ...

  6. mac下安装gradle

    安装 gradle brew install gradle 配置Path环境 vim .bash_profile // 写入 export PATH="${PATH}:/usr/local/ ...

  7. 关于package,import,和“找不到可以加载的主类”报错之间的关系

    正在回顾java基础 目录结构如下: 一 以下代码,进入Example所在的文件夹, javac和java都不会报错 public class Example{ public static void ...

  8. 第一周java学习总结

    学号 20175206 <Java程序设计>第一周学习总结 教材学习内容总结 第一章是关于JAVA入门的注意事项: 第一章主要按照顺序讲了JAVA的地位,诞生,特点,JDK的安装,一些ja ...

  9. 编写高质量的Python代码系列(七)之协作开发

    如果多个人要开发同一个Python程序,那就得仔细商量代码的写法了.即使你是一个人开发,也需要理解其他人所写的模块.本节讲解多人协作开发Python程序时所用的标准工具及最佳做法. 第四十九条:为每个 ...

  10. .NET技术-2.0. 操作数据库-EF

    .NET技术-2.0. 操作数据库-EF 项目参见: EF安装配置 参见: https://www.cnblogs.com/1285026182YUAN/p/10772330.html https:/ ...