Register

  • 点击获取
  •   

已有账号直接登录    

公告:

热门文章 Ubuntu14.04安装配置mosquito及websocket启用。

时间:2017-10-14 作者:RainFly   分类: Linux嵌入式   热度: 11427°  评论:6  
时间:2017-10-14   分类: Linux嵌入式    热度:11427   评论:6

设计思路:利用MQTT协议 实现底层硬件和web实时双向通讯。

mosquito:http://mosquitto.org/files/source/

libwebsockets:https://gitee.com/woniu201/libwebsockets

安装步骤:

    1.下载并编译liewevsocket

$ tar zxvf libwebsockets-1.4-chrome43-firefox-36.tar.gz $ cd libwebsockets-1.4-chrome43-firefox-36 $ mkdir build $ cd build $ cmake ..(PS:apt-get install cmake 安装cmake工具) $ make install $ ldconfig

    2.编译安装mosquito

$ wget http://mosquitto.org/files/source/mosquitto-1.4.2.tar.gz $ tar zxvf mosquitto-1.4.2.tar.gz $ cd mosquitto-1.4.2 更改configure.mk中 WITH_WEBSOCKETS:=no 变成(这一步是做WebSocket支持) WITH_WEBSOCKETS:=yes $ make $ make install $ cp mosquitto.conf /etc/mosquitto

编译过程可能遇到一些错误,

解决编译过程中找不到ares.h的问题:HTTP://www.cnblogs.com/xiaoerhei/p/3777157.html

mosquitoo 默认的端口是1883 websockets默认是9001

请在/etc/mosquitto/mosquitto.conf 的“Default Listener” 一节添加如下几行: port 1883 listener 9001 protocol websockets

但是在阿里云ECS主机后台需要配置开放端口,9001端口无法开启,配置为1884.

    3.添加用户且重新启动进程

$ adduser mosquitto $ reboot //重新启动进程 $ mosquitto -c /etc/mosquitto/mosquitto.conf -d

查看所有端口是否已经打开 netstat -anp 

测试可以正常访问的!

热门文章 Linux Web服务器和下位机TCP交互(Socket多线程编程)

时间:2017-9-1 作者:RainFly   分类: Linux嵌入式   热度: 8387°  评论:8  
时间:2017-9-1   分类: Linux嵌入式    热度:8387   评论:8

    由于多个项目需求(关于云服务器云支付等方式触发远程设备响应),之前使用过HTTPSQL轮询法,希望通过此种方法实现底层和云服务器数据交互,且大量占用服务器,只需要保持TCP连接。服务器始终保留其线程;

使用工具 HTOP  进程管理工具。(支持鼠标操作)

    关于 HTOP使用方法: 百度

思路:通过linux网络编程,实现服务器和客户端一直保持连接,且服务器保留客户端唯一ID 和动态的socketfd 

{中转服务器有一个map表,客户名+socket}

如果下位机有主动事件,则通过TCP协议将数据发送给终端处理 或者通过HTTP协议将数据提交到web服务器来处理

若服务器有主动事件,只可以通过TCP协议将指定数据发送到指定的ID中 (通过socketfd)(难点:ID和socketfd需要对应且动态变化(重启或者意外事件))

可以通过一个内存缓存区来存放 ID和socketfd;  (如果利用内存缓冲区存放,若web服务器无法获得socket)

通过数据库存放;

使用linux C访问数据库 需要安装一个特定的包

sudo apt-get install libmysqlclient15-dev

热门文章 IC卡系统研究

时间:2017-8-17 作者:RainFly   分类: Linux嵌入式   热度: 9171°  评论:6  
时间:2017-8-17   分类: Linux嵌入式    热度:9171   评论:6

最近项目上面需要用到刷卡系统,继而研究了一下对IC 相关的资料进行学习

项目平台 Windows 10 

刷卡器  ZLG600A-T2 V1.03

上位机  QT4.8和zlg调试工具

IC卡  S50普通白卡

普通S50 IC卡存储结构: MF1 卡分为 16 个扇区,每区有 4 块(块 0~块 3),共 64 块,按块号编址为 0~63。第 0 扇区的块 0(即 绝对地址块 0)用于存放芯片商,卡商相关代码,已经固化不可更改。其他各扇区的块 0,块 1,块 2 为数 据块,用于存贮用户数据;块 3 为各扇区控制块,用于存放密码 A,存取控制条件设置,密码 B。各区控 制块结构相同,具体如下图所示:

如果需要对其IC进行读写就需要验证秘钥AB,验证完成后可以对数据块(0~63块)进行任意读写

每个块拥有 16个字节空间,16x64=1024Bytes= 1K Bytes  即 容量为 8K 位 EEPROM; 

注意:密码验证正确后,直接往第三区写数据就可以了,可以修改整个扇区的秘钥A,控制位,秘钥B,

注意控制位,因为控制位代表了新密码的权限及对数据位的控制,如果写入进去后就会把卡锁死了!

控制位 FF 07 80 69

参考文档  http://pan.baidu.com/s/1o85Id1C

热门文章 快速将VIM打造成IDE工具

时间:2017-7-28 作者:RainFly   分类: Linux嵌入式   热度: 7877°  评论:1  
时间:2017-7-28   分类: Linux嵌入式    热度:7877   评论:1

SUPER TAB 工具

http://www.vim.org/scripts/script.php?script_id=1643下载安装版。这个安装包跟先前的几个Vim插件不同,它是一个vba文件,即Vimball格式的安装包,这种格式安装包提供傻瓜式的安装插件的方法。        1)用Vim打开.vba安装包文件。        2)在Vim命令行下运行命令“UseVimball ~/.vim”。此命令将安装包解压缩到~/.vim目录。VImball安装方式的便利之处在于你可以在任何目录打开.vba包安装,而不用切换到安装目的地目录。而且不用运行helptags命令安装帮助文档。        3)在~/.vimrc文件中加入以下这行: let g:SuperTabDefaultCompletionType="context"   

CTAGS

http://www.cnblogs.com/willsonli/p/6555179.html

热门文章 实现ESP8266模块同远程web服务器交互请求

时间:2017-7-21 作者:RainFly   分类: Linux嵌入式   热度: 12147°  评论:7  
时间:2017-7-21   分类: Linux嵌入式    热度:12147   评论:7

实验材料: 1.ESP 8266模块 

                 2 有公网IPv4的web服务器(当然也可以通过域名访问,这里先测试通过IP地址建立TCP连接)

实验原理:

      原理很简单,通过串口向ESP8266发送一系列指令,由于8266内置了TCP协议栈,我们只需要通过指令建立TCP连接,当连接建立完成后,直接发送GET/POST请求,接受到web服务器传输过来的数据链接,通过这些交互数据分析,从而实现开发板和web服务器之间的数据互换。

步骤:

    1. 配置ESP为站点模式,连接到可以正常访问英特网的热点上面。

    2. 配置模块为透传模式 

    3.建立TCP连接   IP 端口号等

    4直接发送 请求查看串口返回的参数值 GET /index.html  HTTP/1.1      (TCP请求可以加密)

注意事项

   测试的时候 发送指令总是回复400 错误,经过查找发现由于协议中回车换行为加上引起无法提交POST请求

    POST /1.php HTTP/1.1\r\nHost: 192.168.0.107\r\nConnection: keep-alive\r\nContent-Length: 34\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\nfirstname=hello&lastname=123&age=123\r\n

<html> <body> <form action="" method="post"> Firstname: <input type="text" name="firstname" /> Lastname: <input type="text" name="lastname" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html> <?php $con = mysql_connect("localhost","root","root"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("test", $con); $sql="INSERT INTO Persons (FirstName, LastName, Age) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "1 record added"; mysql_close($con) ?>

由于是网络配置器 所以发送的数据很正常,但是通过wifi串口发送的时候 /r/n会由于ascii编码 而不是回车 继而串口发送总是失败,我利用ASCII码转HEX工具将 所有发送文件转为十六进制

然后通过十六进制 进行串口数据发送

至此通过串口芯片发送POST请求到指定云服务,实例完成。以下提供所用到的软件

软件压缩包来源:百度网盘  | 大小:MB  | 提取密码: | 解压密码:www.rainfly.cn 已经过安全软件检测无毒,请您放心下载。          若链接失效可联系管理员!

热门文章 STM32F107VC互联型芯片建立Keil5工程

时间:2017-7-5 作者:RainFly   分类: STM32   热度: 6213°  评论:5  
时间:2017-7-5   分类: STM32    热度:6213   评论:5

    使用STM32F107VC芯片配置工程的时候,出现一些报错,继而写此文档。

建立三个文件夹

文件夹CORE内包含

FW 是官方提供固件库 USER 是编译的主文件,和一些重要文件

建立keil 5工程

添加两个宏和头文件

运行后基本上没有错误和警告了, 

注意事项:

1. .s启动文件选择

 

2.宏定义的选择

选择的文件是 startup_stm32f10x_cl.s 和 STM32F10X_CL

热门文章 STM32学习笔记之IIC总线

时间:2017-6-28 作者:RainFly   分类: STM32   热度: 9004°  评论:1  
时间:2017-6-28   分类: STM32    热度:9004   评论:1

        基于对STM32F103的手册可以看出来,具备两路IIC总线端口,其实我们不使用系统提供的IIC硬件,通过做成普通IO口来模拟ICC总线,完成对IIC总线的了解和学习。

首先是对IIC总线的工作原理进行了解:

IIC系统由一条串行数据线SDA和一条串行时钟线SCL组成。主机按一定的通信协议向从机寻址和进行信息 传输。在数据传输时,由主机初始化一次数据传输,主机使数据在SDA线上传输的同时还通过SCL线传输时钟。信息传输的对象和方向以及信息传输的开始和终 止均由主机决定。

每个器件都有一个唯一的地址,而且可以是单接收的器件(例如:LCD驱动器)或者可以接收也可以发送的器件(例如:存储器)。发送器或接收器可以在主模式或从模式下操作,这取决于芯片是否必须启动数据的传输还是仅仅被寻址。

//初始化IIC void IIC_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE ); //GPIOB时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11; 配置IIC引脚 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_SetBits(GPIOB,GPIO_Pin_10|GPIO_Pin_11); }

通过对PB10 PB11配置IO来做成对其初始化要求。

开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。

//启动IIC void IIC_Start(void) { SDA_OUT(); IIC_SDA=1; //将SDA和SCL都拉置高电平,然后进行一定的延时 IIC_SCL=1; delay_us(4); IIC_SDA=0;//START:when CLK is high,DATA change form high to low delay_us(4); //SDA产生由高电平向低电平的跳变的时候,从而产生一个启动信号 IIC_SCL=0; //锁住IIC总线 } //终止信号 void IIC_Stop(void) { SDA_OUT(); IIC_SCL=0; IIC_SDA=0;//STOP:when CLK is high DATA change form low to high delay_us(4); IIC_SCL=1; IIC_SDA=1; //发送iic终止信号 delay_us(4); //延时产生一个控制信号 }

热门文章 STM32学习笔记1之通用GPIO

时间:2017-6-19 作者:RainFly   分类: STM32   热度: 7618°  评论:5  
时间:2017-6-19   分类: STM32    热度:7618   评论:5

开篇:

        已经很久未更新相关内容,由于工作原因,开始学习STM32,会将学习和工作遇到的任何问题和进展,都写下来,如果需要的伙伴可以加上书签在下面留言给我,共同探讨进步。

学习平台:    芯片:STM32F10x     库函数版本:V3.5.0         开发板:百为

由于需要马上上手,继而对于底层寄存器操作认识先行搁置,只要是已开发为主,所以采用官方提供的API接口 通过这些接口来实现对STM3210X的软件编写,

官方提供的固件库 :http://pan.baidu.com/s/1bp6bgcf

GPIO的函数和变量 GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //LED0-->PB.5 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; typedef struct { uint16_t GPIO_Pin; /*!< Specifies the GPIO pins to be configured. //0-15对应的管脚号 This parameter can be any value of @ref GPIO_pins_define */ GPIOSpeed_TypeDef GPIO_Speed; /*!< Specifies the speed for the selected pins. //io口传输频率 This parameter can be a value of @ref GPIOSpeed_TypeDef */ GPIOMode_TypeDef GPIO_Mode; /*!< Specifies the operating mode for the selected pins. 选择输入或输出且是否其他功能 This parameter can be a value of @ref GPIOMode_TypeDef */ }GPIO_InitTypeDef;

#define GPIO_Pin_0                 ((uint16_t)0x0001)  /*!< Pin 0 selected */ #define GPIO_Pin_1                 ((uint16_t)0x0002)  /*!< Pin 1 selected */ #define GPIO_Pin_2                 ((uint16_t)0x0004)  /*!< Pin 2 selected */ #define GPIO_Pin_3                 ((uint16_t)0x0008)  /*!< Pin 3 selected */ #define GPIO_Pin_4                 ((uint16_t)0x0010)  /*!< Pin 4 selected */ #define GPIO_Pin_5                 ((uint16_t)0x0020)  /*!< Pin 5 selected */ #define GPIO_Pin_6                 ((uint16_t)0x0040)  /*!< Pin 6 selected */ #define GPIO_Pin_7                 ((uint16_t)0x0080)  /*!< Pin 7 selected */ #define GPIO_Pin_8                 ((uint16_t)0x0100)  /*!< Pin 8 selected */ #define GPIO_Pin_9                 ((uint16_t)0x0200)  /*!< Pin 9 selected */ #define GPIO_Pin_10                ((uint16_t)0x0400)  /*!< Pin 10 selected */ #define GPIO_Pin_11                ((uint16_t)0x0800)  /*!< Pin 11 selected */ #define GPIO_Pin_12                ((uint16_t)0x1000)  /*!< Pin 12 selected */ #define GPIO_Pin_13                ((uint16_t)0x2000)  /*!< Pin 13 selected */ #define GPIO_Pin_14                ((uint16_t)0x4000)  /*!< Pin 14 selected */ #define GPIO_Pin_15                ((uint16_t)0x8000)  /*!< Pin 15 selected */ #define GPIO_Pin_All               ((uint16_t)0xFFFF)  /*!< All pins selected */ typedef enum { GPIO_Speed_10MHz = 1, //选择传输MHz GPIO_Speed_2MHz, GPIO_Speed_50MHz }GPIOSpeed_TypeDef; typedef enum { GPIO_Mode_AIN = 0x0, GPIO_Mode_IN_FLOATING = 0x04, GPIO_Mode_IPD = 0x28, GPIO_Mode_IPU = 0x48, GPIO_Mode_Out_OD = 0x14, GPIO_Mode_Out_PP = 0x10, GPIO_Mode_AF_OD = 0x1C, GPIO_Mode_AF_PP = 0x18 }GPIOMode_TypeDef; GPIO_Init(GPIOB, &GPIO_InitStructure); //设置GPIOB为初始化的IO引脚,且将GPIO_IniStructure对应刚才设置的结构体     指针所包含的 PIN SPEED MODE)初始化 GPIO_SetBits(GPIOB,GPIO_Pin_5);//置1   GPIO_ResetBits(GPIOB,GPIO_Pin_5); //清0 还有很多复用功能,继续添加

热门文章 串级控制系统的基本原理

时间:2017-3-31 作者:RainFly   分类:   热度: 20739°  评论:2  
时间:2017-3-31   分类:    热度:20739   评论:2

    由于笔者毕业设计用到串级控制系统,所以稍加研究了一下。

串级控制系统的基本原理     采用不止一个控制器,而且控制器间相串接,一个控制器的输出作为另‘—个控制器的设定值的系统,称为串级控制系统。串级控制系统是按其结构命名的。     例如,铝炉锅筒液位是一个重要的工艺参数。液位过低,影响产汽量,且易烧干而发生事故;液位过高,影响蒸汽质量,因此对锅筒液位府严加控制。锅简液位有多种控制方案:     (1)图5—1a所示是结水流量定值控制。该控制方案保持给水流量为定值,对于克服给水流员或压力的波动有效,但由于锅简液位是开环,因此,锅筒液位不能保持恒定。     (2)图5—1b所示是锅筒液位定值控制。该控制方案选择锅简液位作为被控变量,选择给水流量作为操纵变量。由于被控过程的滞后大,时间常数大,因此,锅筒液位控制系统的控制品质不佳。尤其当给水流量和压力波动时影响更大。

   (3)锅简液位为主被控变量,给水流量为副被控变量,给水流量为操纵变量组成串级控制,如图5—1c所示。该控制方案以锅筒液位作为主被控变量,抓住了生产过程的主要矛盾;通过副被控变量组成的副回路.能够及时克服给水流量或压力的波动,大大削弱了它们 的波动对锅筒液他的影响。该控制系统投运后,取得了良好的控制效果。     图5—1中,IJ、叮分别为液位、给水流量变送器,Lc、rc分别为液位

   图5。2中,主被控变量yI是串级控制系统中要保持平稳控制的主要被控变量。例如, 示例中的锅筒液位。副被控变量72是串级控制系统的辅助被控变量。例如,示例中的给水流量。通常,控制系统中的主要扰动影响首先在副被控变量反映。氏(z)和氏(‘)分别是主、副控制器的传递函数。主控制器的输出作为副控制器的设定值,组成串联连接的结构。 因此,主控制器输出QI等于副控制器的设定L o由于主控制器的输出随偏差e J而变化.即副控制器是在外部设定情况下工作,此时是随动控制。主控制器在内部设定情况下工作,因此是定值控制。示例中的液位控制器是主控制器,给水流量控制器是副控制器。rI和r2是主、副控制器的设定。G p、(‘)和G4(‘)分别是主、副被控对象传递函数。GmI(‘)和612d(‘)分别是主、副被控变量的检测变送环节传递函数。7“和yd分别是主、副被控变量的测量值。风和F2分别是进入主、副被控对象的扰动。扰动通道传递函数分别为cf2(s)和GR(‘)。把由G6(‘)、G,(‘)、c4(‘)和Gd(s)组成的控制回路称为副(控制)回路,或副环。把由氏 (s)和副回路、汽(s)和G,。l(‘)组成的控制回路称为主(控制)回路,或主环。控制系统的调节过程如下:当给水压力或流量波动时,锅筒液位还没有变化,因此,主控制器输出不变,给水流量控制器因扰动的影响,使给水流量测量值变化,按定值控制系统 的调节过程,副控制器改变控制阀开度,使给水流量稳定。与此同时,给水流量的变化也影响锅筒液位,使主控制器输出.即副控制器的设定变化,副控制器的设定和测旦的同时变化,进一步加速了控制系统克服扰动的调节过程,使主被控变量锅筒液位回复到设定值。当锅简液位和给水流量同时变化时.主控制器通过主环及时调节副控制器的设定,使给水流量变化保持锅筒液位恒定,而副控制器一方面接收主控制器的输出信号,同时、根据给水流量测量值的变化进行调节,使给水流量跟踪设定值变化,使给水流量能根据锅筒液伦及时调整,最终使锚筒液位迅速回复到设定值。     串级控制系统中有关的传递函数如下:

  串级控制系统是由两个或两个以上的控制器串联连接,一个控制器输出是另一个控制器 设定。主控制回路是定值控制系统。对主控制器的输出而言,副控制回路是随动控制系统, 对进入副问路的扰动而言,副控制回路是定值控制系统。

热门文章 国内域名供应商将更改至实名认证

时间:2017-3-31 作者:RainFly   分类: 计算机知识   热度: 10246°  评论:4  
时间:2017-3-31   分类: 计算机知识    热度:10246   评论:4

    

       国内域名注册商阿里云发布通知称,将对所有域名全面展开域名实名认证工作,如果在5月份还未完成域名实名认证工作,将强制暂停解析域名,使域名无法正常访问,待实名认证通过后方可恢复正常使用。

自2016年8月开始,阿里云所有新注册的网站域名都需要实名认证,完成域名所有者实名认证后才能正常使用,否则域名就会被注册局锁定。此次则涉及到老域名的实名认证,所有2016年前注册或转入的老域名也被要求实名认证。

通知原文如下:

        尊敬的用户,您好! 根据《中国互联网络域名管理办法》的规定,域名注册申请者应提交真实、准确、完整的域名注册信息。 按照工信部2017年全面域名实名认证的要求,目前阿里云已接到相关注册局通知,若您的域名在规定时间内未通过实名审核,注册局将暂停解析(Serverhold),无法正常访问。待实名认证通过后方可恢复正常使用。涉及的域名包括:.com/.net /.top/.xyz/.vip /.club/.shop/.wang/.ren: a)截止2017年5月15日,未完成实名认证的.top/.xyz/.vip/.club/.shop/.wang/.ren域名将被注册局暂停解析; b)截止2017年5月31日,未完成实名认证的.com/.net域名将被注册局暂停解析。 请您务必按以下要求,尽快完成以上后缀域名的实名认证,以避免由于未通过实名审核而影响您网站/邮箱或网络应用的正常使用。具体如下: 1、如果您的域名属于上述域名后缀,且目前尚未完成实名认证的,请尽快提交资料完成实名认证审核。 实名认证提交的资料包括: ①  居民身份证扫描件(个人) ②公司营业执照或组织机构代码证扫描件(企业) 2、如果您的域名属于上述域名后缀,目前显示为“已实名认证”,但属于相关注册局实名认证开始时间(详见下表)之前注册的存量历史域名,请注意相关注册局将对其实名认证资料进行核验(二次复审)。 复审结果将于2017年4月1日左右更新,若复审不通过,则需要您重新提交资料进行实名认证。 请您届时留意阿里云系统通知,登录查看复审后域名的实名认证状态,并按提示操作。 3、为了配合尽快完成实名认证审核工作, 自2017年4月30日起,如果您的域名属于上述域名后缀,仍未提交实名认证或审核失败的域名,其管理功能将受到限制,届时您将不能进行新增&修改解析、DNS修改及其他相关等操作。通过实名认证后,上述限制解除。

热门文章 centos 6 编译nodejs环境并部署nodejs应用

时间:2017-1-3 作者:RainFly   分类: Web程序设计   热度: 11683°  评论:8  
时间:2017-1-3   分类: Web程序设计    热度:11683   评论:8

该环境安装非常简单,这里简单记录下linux(centos环境下)的源码安装,做个记录。

平台:centos 6 环境:python 2.6 环境安装包地址:http://nodejs.cn/download/  可以这里下载源码编译。

安装步骤:

1,安装编译代码的开发工具

yum -y groupinstall "Development Tools"

2,下载安装包。 到node官网下载,这里下载源码编译最新安装包:https://nodejs.org/dist/v6.2.0/node-v6.2.0.tar.gz 进入/usr/local/src

wget https://nodejs.org/dist/v6.2.0/node-v6.2.0.tar.gz tar zxvf node-v6.2.0.tar.gz cd node-v6.2.0 ./configure make make install

3,安装模块express和forever。

现在已经安装了Node.js, 准备部署应用程序, 首先要使用Node.js的模块管理器npm安装Express middleware 和forever:

npm -g install express forever

4,建立超级链接。

ln -s /usr/local/bin/node /usr/bin/node ln -s /usr/local/lib/node /usr/lib/node ln -s /usr/local/bin/npm /usr/bin/npm ln -s /usr/local/bin/node-waf /usr/bin/node-waf ln -s /usr/local/bin/forever /usr/bin/forever

运行node -v可以看到版本说明没问题。

5,部署应用程序。 比如:

forever start app.js &

这样扔到后台运行,端口默认1337. 查看运行当中的应用:

forever list

退出应用:

forever stop 0

返回顶部    首页    捐赠支持    手气不错    友情链接    关于我们    站长工具    站长介绍    手机版本    后台登陆   
版权所有:雨夜轩    站长:RainFly    特别鸣谢   文章归档   皖ICP备15003600号-1   百度统计
Copyright©2015雨夜轩 Powered by emlog强力驱动 七牛CDN全球加速 360站长联盟安全认证 中国博客联盟荣誉成员 可信赖网站 谷歌地图   百度地图   
页面加载耗时:0.047秒 数据库查询次数:126次
背景设置
$