Django+Uwsgi+Nginx 配置流程
1.安装Django pip install django
2.安装Uwsgi (1).sudo apt-get install python-dev (2).pip install uwsgi
3.安装Nginx sudo apt-get install Nginx
启动、停止和重启
sudo /etc/init.d/nginx start
sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx restart
或者
sudo service nginx start
sudo service nginx stop
sudo service nginx restart
4.保证django 正常运行测试:
python manage.py runserver
5.保证uwsgi 正常运行测试
(1).vim test.py
(2).
1 def application(env, start_response): 2 start_response('200 OK', [('Content-Type','text/html')]) 3 return ["Hello World"] # python2 4 #return [b"Hello World"] # python3
(3).uwsgi --http :8000 --wsgi-file test.py
【如果上面的语句报错,可以尝试uwsgi --http-socket :8001 --plugin python --wsgi-file test.py】
(4).访问浏览器,127.0.0.1:8000 正常返回hello world 即为成功
6.配置Nginx
(1). vim /etc/nginx/sites-enabled/default
(2).
server { # the port your site will be served on listen 8081;#此处为以后浏览器访问的地址 # the domain name it will serve for server_name 127.0.0.1; # substitute your machine's IP address or FQDN charset utf-8; # max upload size client_max_body_size 75M; # adjust to taste # Django media location /media { alias /home/ubuntu/blog/media; # your Django project's media files - amend as required } location /static { alias /home/ubuntu/blog/static; # your Django project's static files - amend as required }#此处路径为绝对路径,注意反斜杠,找了两个小时的元凶 # Finally, send all non-media requests to the Django server. location / { include uwsgi_params; # the uwsgi_params file you installed uwsgi_pass 127.0.0.1:8000;#此处为前面配置的uwsgi地址 } }
(3).sudo service nginx restart 重启nginx服务
(4).浏览器访问127.0.0.1:8081 查看是否能看到nginx欢迎界面
7.配置django项目下的wsgi.ini文件
[uwsgi] virtualenv = /home/wbc/Documents/virtualenv/env2.7 http-socket = 0.0.0.0:9100 socket = 0.0.0.0:9101 stats = /tmp/gezi_stats.socket wsgi-file = gezi/wsgi.py master = true # processes = 1 enable-threads = true buffer-size = 65535 pidfile = /tmp/gezi_wsgi.pid # log-x-forwarded-for = true uid = ubuntu gid = ubuntu master-as-root = true max-fd = 50000 processes = 5 threads = 5 # #daemonize = 127.0.0.1:9102 # log-maxsize = 10000000 # #logger = file:/home/ubuntu/data/uwsgi/gezi-@(exec://date +%%Y-%%m-%%d).log # #logger = rsyslog:172.16.10.201:514,local7 # logger = socket:127.0.0.1:9102 # daemonize = /dev/null chdir=/home/wbc/Documents/code/backend/projects/gezi/ module=gezi.wsgi vacuum=true plugins=python
8.正式启动uwsgi
uwsgi --ini wsgi.ini
9.重启Nginx服务
浙公网安备 33010602011771号