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/
Django项目在linux上运行的更多相关文章
- 【无私分享:ASP.NET CORE 项目实战(第十章)】发布项目到 Linux 上运行 Core 项目
目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win7)上用虚拟机建了个 CentOS7 ,来演示下 ...
- 发布项目到 Linux 上运行 Core 项目
发布项目到 Linux 上运行 Core 项目 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win ...
- 在Linux上运行C#
众所周知,C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Win 9x.ME.NT.2000.XP和Win CE之类的操作系统.但是,现在却有了一个叫做Mono的项目,它的目 ...
- Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台
转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Linux:ubu ...
- .netcore 在linux 上运行 Helllo World 例子
要想在linux上运行netcore ,需要在linux 安装netcore SKD 下面分两步完成, 首先我的操作系统是 Ubuntu 14.04 ,不同版本可以参考 官网给出的连接 https:/ ...
- Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用
Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...
- 不装mono,你的.NET程序照样可以在Linux上运行!
让.NET应用程序在linux上运行,目前通用的做法就是在Linux上安装mono,然后通过”mono your.exe“命令运行这个程序. 这种运行.net程序的办法有两个弱点,一个是需要客户机安装 ...
- Wine——在Linux上运行Windows软件
官网:https://www.winehq.org/ 参考: wikipedia 教你使用Wine在Linux上运行Windows软件 如何安装和使用Wine,以便在Linux上运行Windows应用 ...
- 部署网站: 配置项目到iis上运行报目录错误
配置项目到iis上运行报目录错误 以下三种方法可使用: 1.添加文件访问权限 everyone (线上环境慎用) 2.重新注册iis 3.web.config 加一段话 在<system.we ...
随机推荐
- 20140315 模板类pair的用法 2、visual 2010调整代码格式是ctrl+k+
1.模板类pair的用法 包含头文件#include<utility> http://blog.csdn.net/laixingjun/article/details/9005200 ...
- angularJS和requireJS和angularAMD
最近因为要用到angularJS开发项目,因为涉及到的静态资源比较多,所以想把js文件通过requireJS来按需加载,这两个框架以前都使用过,但是结合到一起还没有用过,那就试一下,看能否达到目的. ...
- markdown转为pdf文件
要求: 把.md格式转为.pdf格式,并批量处理,最后将多个pdf文件合并为一个pdf并以文件名作为书签名 解决思路: 1.md格式的markdown文件转为html 为了将 md 格式转换成 htm ...
- IntelliJ IDEA创建springboot项目
1.创建新项目. 2. 3.Group 是包名,Artifact是项目名. 4.springboot版本尽量选择最高版本,且不要选择SNAPSHOP版本. 5.路径可自定义,默认为D://IDEA/M ...
- websocket接口测试
1.先在jmeter的插件管理器安装webSocket的插件,WebSocket 常规选项解释如下: ip:测试服务器域名 Streaming Connection:请求之后是否保持连接,勾选之后在同 ...
- Linux系统搭建Red5服务器
Linux系统搭建Red5服务器 Red5 是 支持Windows,Linux等多平台的RTMP流媒体服务器,Windows下搭建相对容易,图形界面操作比较简单,Linux服务器的环境下没有图形界面, ...
- K8S之WebApi部署
转载声明 本文转自:ASP.NET Core on K8S学习初探(3)部署API到K8S 1.下载镜像 docker pull edisonsaonian/k8s-demo 因为是测试流程,直接把文 ...
- 深度探索C++对象模型之第二章:构造函数语意学之成员初始值列表
当我们需要设置class member的初值时,要么是经过member initialization list ,要么在construcotr内. 一.先讨论必须使用member initializa ...
- C/C++ 公有函数无法返回私有的类对象解决方案
{ 能出这种错的说明还需要提升C++,增强对类的理解 解决方案:把你的私有的对象的私有的拷贝构造或者同类赋值改为公开的 }
- TopCoder代码格式模板
$BEGINCUT$ $PROBLEMDESC$ $ENDCUT$ #include<bits/stdc++.h> using namespace std; class $CLASSNAM ...