独立部署

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

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

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

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

    使用步骤如下:

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

    使用方法

    1. 创建应用配置文件 /etc/systemd/system/gfapp.service, 内容如上;
    2. 使用 重新加载服务;
    3. 执行 systemctl start gfapp 来启动服务;
    4. 最后执行 systemctl status gfapp 来查看服务运行的状态信息;
    5. 执行 systemctl enable gfapp 将服务添加到开机启动项;
    • 注意:执行的 gfapp 是使用文件名作为服务名;

    Screen 是一款由 GNU 计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
    安装方式: sudo apt install -y screen(debian 系列), sudo yum install -y screen (centos)

    • screen -S yourname -> 新建一个叫 yourname 的 session
    • screen -ls -> 列出当前所有的 session
    • screen -r yourname -> 回到 yourname 这个 session
    • screen -d yourname -> 远程detach某个 session
    • screen -d -r yourname -> 结束当前 session 并回到 yourname 这个 session

    使用方法:

    1. 使用命令 screen -S gfapp 创建一个 session;
    2. 在新终端窗口中执行 ./gf-app 即可;
    3. 执行 ctrl-a, ctrl-d 暂时离开当前session;
    4. 执行 screen -r gfapp 返回命令窗口; 若返回不成功, 可能是该窗口被占用(Attached)了, 可以尝试使用 screen -Dr gfapp;
    5. 执行 screen -X -S gfapp quit 结束程序;