Django+Nginx+Uwsgi 上线部署
Posted Luke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django+Nginx+Uwsgi 上线部署相关的知识,希望对你有一定的参考价值。
使用环境
Python 3.6
CentOS 7.4
安装Python3.6
tar命令解压安装Python
去官网下载对应的python.tgz压缩包。
tar -zxvf Python-3.6.6.tgz mkdir /usr/local/python3 cd Python-3.6.6 ./configure --prefix=/usr/local/python3 make && make install ln -s /usr/local/python3/bin/python3 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
yum安装Python
sudo yum -y update # 更新下yum源 sudo yum -y install yum-utils # 安装扩展程序和插件 sudo yum -y groupinstall development # 安装CentOS开发工具 (用于允许您从源代码构建和编译软件) sudo yum -y install epel-release #安装EPEL sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm # 安装IUS软件源
sudo yum -y install python36u # 安装python3.6* sudo yum -y install python36u-pip # 安装pip # 查看是否安装成功 python3.6 -V pip3.6 -V # 添加软连接 ln -s /usr/bin/python3.6 /usr/bin/python3 ln -s /usr/bin/pip3.6 /usr/bin/pip3 python3 -m pip install --upgrade pip # 更新pip
Django安装
1. 使用pip安装django
#pip3 install django # 注意我使用的是python3所以用pip3安装,如需安装指定版本 django == *.*.*
2. 检测是否安装成功,不报错,则安装成功
# python3 # import django
创建一个Django项目
1. 新建一个django项目,并cd到当前项目文件下
[root@VM_0_3_centos /]# django-admin.py startproject project_name [root@VM_0_3_centos /]# cd ./project_name [root@VM_0_3_centos project_name]# ls manage.py project_name #
project_name/project_name目录下的文件
_init_.py是python包的目录必须的
settings.py是项目的设置
urls.py是项目的url配置文件
wsgi.py是部署服务器时用到的文件
2. 新建一个应用到 project_name 目录下(是第一层的project_name ,不是project_name里的project_name 。)
[root@VM_0_3_centos project_name]# python3 manage.py startapp apptest [root@VM_0_3_centos project_name]# ls apptest manage.py project_name
3. cd到新建的应用apptest目录下,修改views.py,添加一个index函数
[root@VM_0_3_centos apptest]# vim views.py [root@VM_0_3_centos apptest]# ls admin.py apps.py __init__.py migrations models.py tests.py views.py
#coding:utf-8 from django.http import HttpResponse def index(request): return HttpResponse(u"欢迎!")
4. 在settings.py中,在INSTALLED_APPS中添加刚刚创建的应用apptest,并将ALLOWED_HOSTS=[],修改为ALLOWED_HOSTS=[‘*‘]
[root@VM_0_3_centos project_name]# cd ./project_name/ [root@VM_0_3_centos project_name]# ls __init__.py __pycache__ settings.py urls.py wsgi.py [root@VM_0_3_centos project_name]# vim urls.py
5. 接着在urls.py中,添加新路由
[root@VM_0_3_centos project_name]# vim settings.py
6. 接下来就可以启动Django项目了,cd到项目目录下
[root@VM_0_3_centos project_name]# cd - /project_name [root@VM_0_3_centos project_name]# ls apptest manage.py project_name [root@VM_0_3_centos project_name]# python3 manage.py runserver 118.25.60.11:8000
上面这种启动方式,是前台启动,要想在断开连接后继续使用就要用到后台启动了。
nohup python manage.py runserver 0:8000 & # 0代表所有
以上是关于Django+Nginx+Uwsgi 上线部署的主要内容,如果未能解决你的问题,请参考以下文章
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04(最新最详细版)
Python3+django+nginx+uwsgi使用场景部署