Django项目在linux上运行
这是一篇关于如何在linux下,以后台进程的方式运行服务,命令改改基本上就通用了。
前言
我们在windows本地开发完Django项目后,需要把项目部署到linux环境下。
当然,直接在目录下敲击命令不就行了嘛(python manage.py runserver 0.0.0.0:8000),但是这是以前台的形式启动的;
如果你关闭了窗口,进程也随之结束,那我不关了呗,你行!!!!!!
如果想服务在后台运行,就得知道 nohup命令。
首先linux系统要先安装Django
pip3 install django==1.11.11
上传
将你的项目打包上传至linux服务器:
上传命令可以用 rz -y
,不知道的百度一下。
解压
[root@192.168.32.130 /python/django]$ unzip mysite.zip
Archive: mysite.zip
creating: mysite/
creating: mysite/.idea/
creating: mysite/.idea/inspectionProfiles/
inflating: mysite/.idea/misc.xml
inflating: mysite/.idea/modules.xml
inflating: mysite/.idea/mysite.iml
inflating: mysite/.idea/workspace.xml
creating: mysite/app01/
inflating: mysite/app01/admin.py
inflating: mysite/app01/apps.py
creating: mysite/app01/migrations/
extracting: mysite/app01/migrations/__init__.py
creating: mysite/app01/migrations/__pycache__/
inflating: mysite/app01/migrations/__pycache__/__init__.cpython-36.pyc
inflating: mysite/app01/models.py
inflating: mysite/app01/tests.py
inflating: mysite/app01/views.py
extracting: mysite/app01/__init__.py
creating: mysite/app01/__pycache__/
inflating: mysite/app01/__pycache__/admin.cpython-36.pyc
inflating: mysite/app01/__pycache__/apps.cpython-36.pyc
inflating: mysite/app01/__pycache__/models.cpython-36.pyc
inflating: mysite/app01/__pycache__/views.cpython-36.pyc
inflating: mysite/app01/__pycache__/__init__.cpython-36.pyc
inflating: mysite/db.sqlite3
inflating: mysite/manage.py
creating: mysite/mysite/
inflating: mysite/mysite/settings.py
inflating: mysite/mysite/urls.py
inflating: mysite/mysite/wsgi.py
extracting: mysite/mysite/__init__.py
creating: mysite/mysite/__pycache__/
inflating: mysite/mysite/__pycache__/settings.cpython-36.pyc
inflating: mysite/mysite/__pycache__/urls.cpython-36.pyc
inflating: mysite/mysite/__pycache__/wsgi.cpython-36.pyc
inflating: mysite/mysite/__pycache__/__init__.cpython-36.pyc
creating: mysite/templates/
inflating: mysite/templates/404.html
inflating: mysite/templates/home.html
inflating: mysite/templates/index.html
[root@192.168.32.130 /python/django/mysite]$ chmod +x manage.py
[root@192.168.32.130 /python/django/mysite]$ ll
total 28
drwxr-xr-x 4 root root 4096 Nov 21 2019 app01
-rw-r--r-- 1 root root 12288 Nov 21 2019 db.sqlite3
-rwxr-xr-x 1 root root 826 Nov 21 2019 manage.py
drwxr-xr-x 3 root root 4096 Nov 21 2019 mysite
drwxr-xr-x 2 root root 4096 Nov 21 2019 templates
制作启动脚本
制作启动脚本
[root@192.168.32.130 /python/django/mysite]$ vim start.sh
#/bin/bash
# File : start.sh
# Author: Jack秦
# Date : 2019/11/21
IP="0.0.0.0"
START_PORT=8000
RUN_PORT=`netstat -tunlp|grep ${START_PORT}|awk '{print $7}'|awk -F'/' '{print $1}'`
run_info="${IP}:${START_PORT}"
python_bin="/usr/local/bin/python3"
logfile="log_app.out"
if [ -n "${RUN_PORT}" ];then
kill -9 ${RUN_PORT}
fi
nohup ${python_bin} manage.py runserver ${run_info} >>${logfile} 2>&1 &
[root@192.168.32.130 /python/django/mysite]$ chmod +x start.sh
制作关闭脚本
[root@192.168.32.130 /python/django/mysite]$ vim stop.sh
#/bin/bash
# File : start.sh
# Author: Jack秦
# Date : 2019/11/21
START_PORT=8000
RUN_PORT=`netstat -tunlp|grep ${START_PORT}|awk '{print $7}'|awk -F'/' '{print $1}'`
kill -9 ${RUN_PORT}
[root@192.168.32.130 /python/django/mysite]$ chmod +x stop.sh
好了,至此,现在已经制作好了,执行./start.sh 就可以启动我们的django项目了
[root@192.168.32.130 /python/django/mysite]$ ./start.sh
[root@192.168.32.130 /python/django/mysite]$ netstat -tunlp|grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 130640/python3
那么我们在web浏览器输入我们的地址就可以访问我们的项目了
http://192.168.32.130:8000/index/