• 独立部署
    • 1. nohup
    • 2. tmux
    • 3. supervisor

    独立部署

    使用GF开发的应用程序可以独立地部署到服务器上,设置为后台守护进程运行即可。这种模式常用在简单的API服务项目中。

    服务器我们推荐使用*nix服务器系列(包括:Linux, MacOS, *BSD),以下使用Ubuntu系统为例,介绍如何部署使用GF框架开发的项目。

    1. nohup

    我们可以使用简单的nohup命令来运行应用程序,使其作为后台守护进程运行,即使远程连接的SSH断开也不会影响程序的执行。在流行的Linux发行版中往往都默认安装好了nohup命令工具。命令如下:

    1. nohup ./gf-app &

    2. tmux

    tmux是一款Linux下的终端复用工具,可以开启不同的终端窗口来将应用程序作为后台守护进程执行,即使远程连接的SSH断开也不会影响程序的执行。在ubuntu系统下直接使用sudo apt-get install tmux安装即可。使用以下步骤将应用程序后台运行。

    1. tmux new -s gf-app
    2. 在新终端窗口中执行./gf-app即可;
    3. 使用crt + B & D快捷键可以退出当前终端窗口;
    4. 使用tmux attach -t gf-app可进入到之前的终端窗口;

    3. supervisor

    supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。官方网站:http://supervisord.org/常见配置如下:

    1. [program:gf-app]
    2. user=root
    3. command=/var/www/main
    4. stdout_logfile=/var/log/gf-app-stdout.log
    5. stderr_logfile=/var/log/gf-app-stderr.log
    6. autostart=true
    7. autorestart=true

    使用步骤如下:

    1. 使用sudo service supervisor start启动supervisor服务;
    2. 创建应用配置文件/etc/supervisor/conf.d/gf-app.conf, 内容如上;
    3. 使用sudo supervisorctl进入supervisor管理终端;
    4. 使用reload重新读取配置文件并重启当前supoervisor管理的所有进程;
    5. 也可以使用update重新加载配置(默认不重启),随后使用start gf-app启动指定的应用程序;
    6. 随后可以使用status指令查看当前supervisor管理的进程状态;