本次搭建环境在
ubuntu16.04
nginx 1.10.0
django 1.10.0
uwsgi2.0.12
测试通过
首先需要安装nginx,可以通过命令
sudo apt-get install nginx
然后安装django
sudo apt-get install python-pip
sudo pip install django
接着安装uwsgi
sudo apt-get install uwsgi
还需要安装python插件
sudo apt-get install uwsgi-plugin-python
然后我们需要创建一个django的项目:
django-admin startproject mysite
然后切换到项目目录
cd mysite
尝试运行一下
./manage.py runserver 0.0.0.0:8000
这样应该就可以在浏览器中通过127.0.0.1:8000可以访问到服务器
然后我们再创建一个app
./manage.py startapp hello
这样就创建了一个名叫hello的app,我们打开mysite的settinng文件
vim mysite/settings.py
在INSTLALL_APP下面添上hello
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'hello',
]
接着打开hello/views.py
vim hello/views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def helloworld(request):
return HttpResponse('hello')
接着编辑mysite/urls.py
vim mysite/urls.py
from django.conf.urls import url
from django.contrib import admin
from hello import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'hello',views.hello),
]
首先将views作为模块导入,然后在urlpatterns中添加相应的url关联
这时候再运行服务器,访问127.0.0.1:8000/hello应嘎会在浏览器上出现hello
然后需要创建一个mysite_uwsgi.ini文件(比如我的项目目录为/home/edmond/workspace/django/mysite)
#mysite_uwsgi.ini
[uwsgi]
# Django-related settings
socket = :8000
# the base directory (full path)
chdir = /home/edmond/workspace/django/mysite
# Django s wsgi file
module = mysite.wsgi
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 4
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
最后我们配置一个ngnix的服务器,让它和uwsgi关联
在/etc/nginx/site-enable目录下创建一个新文件,内容如下:
server {
listen 8089 default_server;
listen [::]:8089 default_server;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
|
}
重启nginx服务
sudo service nginx restart
运行uwsgi
uwsgi --plugin python --ini mysit_uwsgi.ini
这个时候访问127.0.0.1:8089
uwsgi就会处理请求,把请求转给django,如果访问127.0.0.1:8089/hello可以看到界面上出现了hello