Django远程部署--命令收集

测试环境

1、数据库备份和恢复:

mysqldump -uroot -p cmdb > ~/Desktop/cmdb.sql

scp -r ~/Desktop/cmdb.sql [email protected]: /data/

ssh [email protected]
yes

sudo su -
cd /data/

mysql -uroot -p
use cmdb  (没有就提前创建一个cmdb数据库,空的)
source ./cmdb.sql    (备份导入cmdb.sql数据库数据)

2、启动Django不挂断,后台运行

方法一:

进入项目目录下,运行下面程序:

nohup python manage.py runserver 0.0.0.0:8004 &

nohup(no hang up)用途:不挂断的运行命令

&用途:在后台运行

nohup /root/start.sh &

在shell中回车提示:

[~]$ appending output to nohup.out     

原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。

注意:

在nohup执行成功后直接点击关闭程序按钮关闭终端,会断掉该命令对应的session,导致nohup对应的进程被通知一起shutdown。所以在使用nohup命令后台运行命令之后,需要使用exit正常退出当前账户,这样才能保证命令一直在后台运行。

提示:输出重定向

通常情况下,输出都是在显示器上,而输出重定向是指将输出方向进行调整,输出到文件当中: 
命令>文件(以覆盖的方式,把本来显示在屏幕上的内容,保存到了文件当中) 
命令>>文件(以追加的方式,把本来显示在屏幕上的内容,保存到了文件当中 )

 
命令 &>文件(以覆盖的方式,把正确输出和错误输出保存到同一个文件中 ) 
命令 &>> 文件(以追加的方式,把正确输出和错误输出保存到同一个文件中)

 
系统中的黑洞(回收站):/dev/null 
命令&>/dev/null 只执行不保存也不显示任何命令结果 
命令>>文件1 2>>文件2(把正确的输出追加到文件1 中,错误的输出追加到文件2中)

输入重定向(用处不是很多,有时候会在软件安装打补丁的时候用到)
启动Django,如不将输出结果(正确或错误)输出到指定文件,也可输出到黑洞

nohup python manage.py runserver 0.0.0.0:8004 &> /dev/null

关闭的话,就使用

ps aux | grep "cmdb"

kill -9 PID

 方法二:

这个比较高级,使用screen

1、安装screen

yum install -y screen

2、新建一个screen

screen -S xiedi

这样会新开一个窗口,然后执行命令即可

python manage.py runserver 0.0.0.0:9000

3、重开一个窗口,列出所有screen进程,如下

[root@docker ~]# screen -ls
There are screens on:
       3029.xiedi    (Attached)

4、如果想链接上这个会话(再次进入该程序),执行命令即可

screen -r 3029

 

 

 

 

 

 

 

 

你可能感兴趣的:(Django开发-Python)