Django项目部署在Linux以进程启动

开发完项目后,需要将项目部署到Linux环境。
 
下面是有关博客的部分开发代码:
(poc)[root@VM test_jenkins]# ll
总用量 348
drwxr-xr-x 4 jenkins jenkins    173 8月  29 16:08 account
drwxr-xr-x 4 jenkins jenkins    157 8月  29 16:08 blog
-rw-r--r-- 1 jenkins jenkins 352256 8月  29 16:08 db.sqlite3
-rw-r--r-- 1 jenkins jenkins    538 8月  29 16:08 manage.py
drwxr-xr-x 3 jenkins jenkins     93 8月  29 16:08 mysite
drwxr-xr-x 2 jenkins jenkins     35 8月  29 16:08 __pycache__
-rw-r--r-- 1 jenkins jenkins      0 8月  29 16:08 readme.txt
drwxr-xr-x 7 jenkins jenkins     86 8月  29 16:08 static
drwxr-xr-x 4 jenkins jenkins     88 8月  29 16:08 templates
drwxr-xr-x 2 jenkins jenkins     61 8月  29 16:08 testzq
drwxr-xr-x 4 jenkins jenkins     50 8月  29 16:08 venv

直接在当前目录下执行 python3 manage.py runserver 0.0.0.0:8000,但这是以前台的形式启动的。关闭了窗口,进程也就结束了。(必须用python3,因为python2不支持创建数据库表)

要实现服务在后台启动,用nohup命令。
 
进入manage.py所在的目录,新建启动脚本文件start.sh:先kill掉原来运行的项目,再启动
[root@VM test_jenkins]# vi start.sh
ps -aux | grep python3|xargs kill -9
nohup python3 manage.py runserver 0.0.0.0:8000 >>blog.log>&1 &

编写停止服务脚本stop.sh:

[root@SyslogVM test_jenkins]# vi stop.sh
ps -aux | grep python3|xargs kill -9

对start.sh与stop.sh赋权限:

chmod 755 start.sh
chmod 755 stop.sh

./start.sh启动Django;  ./stop.sh停止Django服务

查看启动后的进程:
 
 
问题:
1、执行./start.sh失败,错误如下:
错误的原因:得用python3以上的命令才能创建数据库,在当前环境安装的是python2
所以,我们要安装python3版本,Python3安装请参考 https://www.cnblogs.com/qingyuanyuanxi/p/7985626.html   可能也需要安装gcc( yum install gcc
 
2、启动服务报错: Invalid HTTP_HOST header: 'ip:8000'. You may need to add 'ip' to ALLOWED_HOSTS.
 
修改创建项目时生成的setting.py文件
将 ALLOWED_HOSTS = [] 改为 ALLOWED_HOSTS = ['*']
再次运行即可成功访问。
 
访问成功:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值