本文共 2813 字,大约阅读时间需要 9 分钟。
1.安装nginx
yum install -y nginx(需要epel源)
2.安装环境
可以考虑使用虚拟化环境,本处不再使用
3.安装uwsgi
yum groupinstall "Development tools"yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-develpip install uwsgi
4.安装django
pip install django==1.11
5.创建django项目
django-admin startproject mysite
6.创建app
python manage.py startapp app01
7.修改mysite/settings.py
ALLOWED_HOSTS = ['*']
8.修改mysite/urls.py
from app01 import viewsurlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^hello_django/', views.hello),]
9.修改app01/views.py
from django.shortcuts import render,HttpResponse# Create your views here.def hello(request): print('request is :',request) return HttpResponse('django is ok ')
10.启动程序
uwsgi --http :8000 --module mysite.wsgi
11.uwsgi配置文件
uwsgi支持ini、xml等多种配置方式,本文以 ini 为例, 在/etc/目录下新建uwsgi_nginx.ini,添加如下配置:[uwsgi]http = 0.0.0.0:8000#the local unix socket file than commnuincate to Nginxsocket = /data/mysite/mysit.socket# the base directory (full path)chdir = /data/mysite# Django's wsgi filewsgi-file = mysite/wsgi.py# maximum number of worker processesprocesses = 4#thread numbers startched in each worker processthreads = 2# clear environment on exitvacuum = truedaemonize = /data/mysite/uwsgi.logpy-autoreload=1
11.准备配置文件
uwsgi_param QUERY_STRING $query_string;uwsgi_param REQUEST_METHOD $request_method;uwsgi_param CONTENT_TYPE $content_type;uwsgi_param CONTENT_LENGTH $content_length;uwsgi_param REQUEST_URI $request_uri;uwsgi_param PATH_INFO $document_uri;uwsgi_param DOCUMENT_ROOT $document_root;uwsgi_param SERVER_PROTOCOL $server_protocol;uwsgi_param REQUEST_SCHEME $scheme;uwsgi_param HTTPS $https if_not_empty;uwsgi_param REMOTE_ADDR $remote_addr;uwsgi_param REMOTE_PORT $remote_port;uwsgi_param SERVER_PORT $server_port;uwsgi_param SERVER_NAME $server_name;
12.修改配置文件权限
chown nginx.root uwsgi_params
13.修改nginx配置文件
location / { include /data/mysite/conf/uwsgi_params; proxy_pass http://127.0.0.1:8000; root html; index index.html index.htm; } }location /static{ alias /data/mysite/static; } #nginx处理媒体资源location /media{ alias /data/mysite/media; }
ps: nginx 连接uwsgi一共有三种方式
方式一: uwsgi.ini 里面指定为http = 127.0.0.1:8000nginx的配置文件里面需要写proxy_pass http://127.0.0.1:8000;方式二:uwsgi.ini里面指定为socket = 127.0.0.1:8000nginx的配置文件需要写 include /etc/nginx/uwsgi.conf;uwsgi_pass 127.0.0.0:8000;方式三:uwsgi.ini里面指定为socket = /data/mysite/mysite.socketnginx的配置文件需要写 include /etc/nginx/uwsgi.conf;uwsgi_pass unix:/data/mysite/mysite.socket;
14.执行命令迁移nginx静态文件
STATIC_ROOT = os.path.join(BASE_DIR, "static/")python manage.py collectstatic
15.查看效果
转载于:https://blog.51cto.com/wangfeng7399/2341281