命令行登录linux远程服务器,python项目部署与运行
bash命令行登录远程服务器,python项目部署与运行
1、登录远程服务器 eg: ssh -p [端口] [用户]@[ip]
--输入密码
2、进入项目目录:cd xxx
-----以下是基于已经安装了python,及配置好
3、创建虚拟环境:
pip install --user virtualenvwrapper # 安装 virtualenvwrapper
mkvirtualenv --python=python3.6 venv # 创建虚拟环境
4、cd 项目目录【必须进入项目下】
5、workon 进入3新建的虚拟环境
6、执行 nohub COMMAND &
nohup python /data/python/server.py > python.log3 2>&1 &
说明:
1、1是标准输出(
STDOUT)的文件描述符,2是标准错误(STDERR)的文件描述符1> python.log 简化为 > python.log,表示把标准输出重定向到python.log这个文件2、
2>&1 表示把标准错误重定向到标准输出,这里&1表示标准输出为什么需要将标准错误重定向到标准输出的原因,是因为标准错误没有缓冲区,而STDOUT有。
这就会导致 commond > python.log 2> python.log 文件python.log被两次打开,而STDOUT和 STDERR将会竞争覆盖,这肯定不是我门想要的
3、直接关闭shell/BASH窗口(我用的是SecureCRT,用的比较多的还有Xshell),而不用再输入exit这个命令来退出shell了
nohup和&的区别
- & : 指在后台运行
- nohup : 不挂断的运行,注意并没有后台运行的功能,,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行
链接:https://www.jianshu.com/p/4041c4e6e1b0
7、lsof -i:端口 # 查看对应端口的进程
8、kill pid # 杀死进程

浙公网安备 33010602011771号