nginx+uwsgi+django安装配置

Posted linux-learn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx+uwsgi+django安装配置相关的知识,希望对你有一定的参考价值。

一、安装Nginx
  sudo apt-get install nginx

  更改/etc/nginx/sites-enabled/default文件

  添加内容:
  server
  
    listen 8080;
    #server_name 127.0.0.1
    charset UTF-8;
    access_log /var/log/nginx/myweb_access.log;
    error_log /var/log/nginx/myweb_error.log;

    client_max_body_size 75M;

    location /
    
      include uwsgi_params;
      uwsgi_pass 0.0.0.0:8000;
      uwsgi_read_timeout 2;
    
    location /static
    
      expires 30d;
      autoindex on;
      add_header Cache-Control private;
      alias /home/demo/myweb/static/;
    
  

二、安装uwsgi
  sudo apt-get install python3-dev
  sudo apt-get install python3-pip
  python3 -m pip install setuptools
  python3 -m pip install uwsgi

  pip3 list查看安装情况

三、安装django
  sudo apt install python3-django
  python3 -m pip install django

四、测试django安装是否成功
  django-admin startproject myweb

  在myweb文件夹创建 myweb_uwsgi.ini

  内容如下:
  # myweb_uwsgi.ini file
  [uwsgi]

  # Django-related settings

  socket = :8000

  # the base directory (full path)
  chdir = /home/demo/myweb

  # Django s wsgi file
  module = myweb.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

五、启动django服务
  uwsgi --ini myweb_uwsgi.ini

nginx +uwsgi + django配置

一 安装 nginx 

二 安装 uwsgi  ,pip install uwsgi

三 配置nginx

打开 nginx.conf文件,

location / {
# root html;
# index index.html index.htm;
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}

相应位置如上配置,其中uwsgi_pass是用于nginx和uwsgi通信的端口,不可直接访问

四 建立测试文件test.py ,测试uwsgi是否正常运行

def application(env, start_response):   
          start_response(‘200 OK‘, [(‘Content-Type‘,‘text/html‘)])   
          return "Hello World"

然后进入test.py所在目录运行 uwsgi --http :8001 --wsgi-file test.py

访问网页:http://127.0.0.1:8001/看在网页上是否有Hello World

五 运行 uwsgi --socket 127.0.0.1:9000 --chdir /data/project/dj/ --wsgi-file dj/wsgi.py --master --processes 2 --threads 2

然后在浏览器输入localhost:8080 即可访问django页面,如果nginx端口是8080的话,

其中127.0.0.1:9000要和nginx配置文件中保持一致

也可建立 uwsgi.ini文件 ,将启动参数保存下来,直接用启动文件启动

在django工程(也可在其他目录,为方便管理)下建立uwsgi.ini文件,

文件内容如下:

[uwsgi]

socket = 127.0.0.1:9090
chdir = /Users/css/djangoprojects/chatbot1/
wsgi-file = chatbot1/wsgi.py
master = true
processes = 2
threads = 2
py-autoreload = 1

其中[uwsgi]也为文件内容,不可少,最后一行为保证uwsgi能实时检测python代码改动,不设置,则每次改动代码都要重启nginx,

配置完 ,使用uwsgi uwsgi.ini即可启动uwsgi访问django,前提是nginx已经启动,

关于 设置实时检测代码改动,也可用

uwsgi --reload uwsgi.pid

其中uwsgi.pid是进程的pid文件,这个方法本人并未实际测试。














以上是关于nginx+uwsgi+django安装配置的主要内容,如果未能解决你的问题,请参考以下文章

nginx +uwsgi + django配置

Python-Django Nginx+uwsgi 安装配置

Django Nginx+uwsgi 安装配置

nginx+uwsgi+django安装配置

Django Nginx+uwsgi 安装配置

python Django Nginx+uwsgi 安装配置