Bootstrap

ubantu 远程部署+使用 screen 保持web服务持续服务

ubantu 使用 screen 保持web服务持续服务

前言

在Linux 中部署好项目后 需要开启一个服务保持后端一直接收请求
但是窗口是一直开着的 一旦关闭窗口 服务也跟随着关闭,如果需要远程部署那就需要重启项目 那自己电脑上的窗户也需要一直开着 保持会话

远程部署

windows 提交代码到linux服务器

可使用 scp 命令 windows 开启cmd 管理窗口 直接可用

scp -r C:\Users\kefan\Desktop\test  kefan@192.168.85.128:/var/www

解释:
C:\Users\kefan\Desktop\test ==>> 是指windows目录下的需要提交的目录 test 整个文件夹
kefan ==>> 是指linux 下的用户名 确保该用户有足够的权限
192.168.85.128 ==>> 是指 服务器地址
/var/www ==>> 服务器需要上传到的文件内
当前命令是把windows里的test整个文件夹 上传到 linux的 /var/www文件夹内 上传成功后 linux www里会多一个test文件夹 注意windows 使用反 \ 而linux 使用正 /

重启项目

tips: 如果只需要更换前端代码 那么不需要重启后端 直接替换前端的文件夹即可 nginx是热更新的 你更新后刷新页面即可 如果更换了后端代码就需要重启后端

我使用的是 putty 链接数据库 链接上后
需要一个库 screen ubantu安装 apt-get install screen
使用注意 最好使用root用户创建 这样不会被其他操作意外杀掉
使用 sudo su 进入根用户之后

screen -S openser # 创建一个名为openser的screen
screen -r openser # 启用openser

python3 manage.py runserver -h 192.168.85.128 -p 8080 --processes 10 # [执行后端程序代码]

执行后端程序后 可以按 ctrl A +D 退出当前screen 后端程序 或者 exit 执行之后直接关闭窗口 退出都不会停止后端程序的执行

注意 下一次部署时 需要先进入根用户 再输入 screen -ls 查看openser的进程pid 之后使用 kill PID 关闭这个screen 再重新执行 因为 你之前运行占用了 8080 端口 需要先释放端口

常用screen 命令

screen -S openser  // 开启一个名为openser 的screen
screen -ls  // 查看所有会话  查看pid 杀进程用
screen -S old_name -X sessionname new_name // 给screen 改名字 old_name 改为 new_name  
;