版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39581226/article/details/84190661
一.搭建项目
1.建立一个虚拟环境
建议个人学习和测试的话,直接建在 /home/ubuntu/用户/ 目录下,
virtualenv -p python3 py3env
2.启动虚拟环境
source py3env/bin/activate
3.安装django,之所以装这个版本是学习所需要,后面自己的项目最好与时俱进。
pip install django
4 .新建项目和app
django-admin startproject weixin #安装项目
cd weixin
python3 manage.py startapp newapp#安装app
python3 manage.py migrate #依赖
5.项目目录结构
(py3env) ubuntu@VM-0-7-ubuntu:~/ybb/weixin$ tree -L 2
.
├── manage.py
├── newapp
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ ├── models.py
│ ├── tests.py
│ └── views.py
└── weixin
├── __init__.py
├── __pycache__
├── settings.py
├── urls.py
└── wsgi.py
二.Django部署
1.修改weixin/weixin/settings.py
ALLOWED_HOSTS = ['*', ]
在ALLOWED_HOSTS 默认的空列表中填入你自己打算使用的域名,我这里测试的时候填的是*
,真正上线部署的时候不建议填成通配符的*
,而是要填允许访问的主机域名
INSTALLED_APPS = [
......,
'newapp', ]
INSTALLED_APPS 列表下增加newapp
,表示将newapp应用给安装注册上。
2.修改weixin/newapp/views.py
from django.shortcuts import render,HttpResponse
# Create your views here.
def index(request):
return HttpResponse('Hello ybb')
3.编辑weixin/weixin/urls.py
from django.conf.urls import url
from django.contrib import admin
from newapp import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/', views.index),
]
4.测试项目,运行结果(注意服务器端口开放有哪些)
python manage.py runserver 0.0.0.0:3389
三.uWSGI部署
1.同样的虚拟环境下安装:
pip3 install uwsgi
2.在项目目录下,编写一个用于简单测试uwsgi的python脚本,
vim test.py
3.test.py 代码
def application(env,start_response):
start_response('200 OK',[('Content-Type','text/html')])
return [b"Hello World"]
4.测试运行uWSGI
以下命令表示运行uwsgi服务,同样是在3389口上开放web访问。
* 注意--http
后是一个空格再接:
端口号。
uwsgi --http :3389 --wsgi-file test.py
ctrl+c中止程序,再来进行以下的测试。
5.使用uWSGI运行django项目
在虚拟环境下,进入到项目目录下后敲以下命令:
uwsgi --http :3389 --module weixin.wsgi
效果和之前的
python manage.py runserver 0.0.0.0:3389
一样
6.uWSGi热加载Djangoa项目
在启动命令后面加上参数:
uwsgi --http :3389 --module weixin.wsgi --py-autoreload=1
- 同样,这个时候访问服务器3389端口,也就是访问了django项目(weixin)。