Skip to content

Instantly share code, notes, and snippets.

@oxUnd
Last active August 29, 2015 14:10
Show Gist options
  • Save oxUnd/7b769a6c4d210f0cdd9f to your computer and use it in GitHub Desktop.
Save oxUnd/7b769a6c4d210f0cdd9f to your computer and use it in GitHub Desktop.
FIS-0

fis本地开发之本地server篇

诚然,为了开发的便利高效,不得不用并行开发的方式--后端开发和前端开发并行开发,这时候问题就来了。对于一个同样的项目,并行开发如何拆分比较容易实现并达到真正的高效,我们在此处选择了以模板为分界点,数据为桥的开发方式。

前端开发人员负责模板及其周边的静态资源的开发工作,而后端和前端逻辑用数据作为桥梁进行串接,在这样一种开发模式下开发起初只需要制定好数据规则就可以愉快的进行开发了。

在前端这块,为了能畅通的使用这些数据进行开发,不得不进行本地模拟线上环境,使用模拟数据进行渲染,而恰巧需要一个便捷的本地server来充当服务器的角色。这篇讲述一下这个server的方方面面。

server呢可以选择比较时髦的nginxlighttpdapache等,当然fis已经集成了若干解析后端脚本的服务。

fis在支持本地server这块主要支持了node、java、php的渲染,算是支持了主流的一大半以上的后端语言的渲染。也提供了方便的命令

$ fis server -h

就像大多数服务器那样,支持两种模式rewrite非rewrite,当rewrite了以后呢,所有的请求会转发到某一个后端脚本上面;比如

$ fis server start --type php --rewrite index.php

所有的请求都会到index.php脚本,然后呢就可以在这块解析请求返回想返回的数据了。

有心的同学可以看到我在调用命令的时候加了--type,对,整个server在没有设置--type的时候是尝试启动模式;启动优先级是php->java->node,而设置某一个--type就会启动你想要的能解析后端脚本的服务。

当然了在没有--rewrite的时候,是非rewrite模式,会列出fis server open这个目录下的所有文件及文件夹。

我们再来看看帮助信息

➜   fis server -h

  Usage: server <command> [options]

  Commands:

    start                  start server
    stop                   shutdown server
    restart                restart server
    info                   output server info
    open                   open document root directory
    clean                  clean files in document root
    install <name>         install server framework

  Options:

    -h, --help                     output usage information
    -p, --port <int>               server listen port
    --root <path>                  document root
    --type <php|java|node>         process language
    --rewrite [script]             enable rewrite mode
    --repos <url>                  install repository
    --timeout <seconds>            start timeout
    --php_exec <path>              path to php-cgi executable file
    --php_exec_args <args>         php-cgi arguments
    --php_fcgi_children <int>      the number of php-cgi processes
    --php_fcgi_max_requests <int>  the max number of requests
    --include <glob>               clean include filter
    --exclude <glob>               clean exclude filter

其实可以看到更多的选项,其中我想给大家展示一下--php_exec--timeout

很多同学在启动fis本地server的时候,会发现php-cgi找不到;在这个时候呢可以随便到php.net下载一个你系统支持的php,安装或解压以后会发现一个执行文件php-cgi(windows叫php-cgi.exe

然后在启动的时候只要把这个php-cgi的路径指给fis即可。

$ fis server start --php_exec <path-to-php-cgi>

如果不想在每次启动时加上长长的参数,可以把<path-to-php-install-dir>/bin这个目录设置到环境变量里面。

另外呢,启动的时候还有可能超时,这时候可以适当的通过--timeout设置长一点的超时时间即可。

$ fis server start --timeout 10000

说到这里,fis的server也介绍完了,在整个fis中,server不是强绑定的,你喜欢什么就可以用什么。下次我们说点别的,比如本地模拟环境的设计。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment