mac+django(1.8.2)+uwsgi+nginx 部署

一. uwsgi

  • 安装
  • 检验
  • 配置uwsgi.ini

1. 安装

pip3 install uwsgi

2. 检验

  • 方法一(uwsgi启动文件):

    • test.py内容如下:
    • def application(env, start_response):
        start_response(‘200 OK‘, [(‘Content-Type‘,‘text/html‘)])
          return [b"Hello World"] 
    • uwsgi --http 0.0.0.0:8000 --wsgi-file testTask/tests.py
    • 打开浏览器http://127.0.0.1:8000/
  • 方法二(uwsgi启动django项目):
    • uwsgi --http :8000 --file dj_test/wsgi.py 
    • 如果部署项目uwsgi+django,到这里就结束了,如果需要配合nginx,再接着往下看。

3. 配置uwsgi.ini

  • 同django的manage.py为同一级目录创建uwsgi.ini
  • [uwsgi]
    http = :9000
    socket = 127.0.0.1:8001
    chdir = /Users/conan/vir_env/AutoTest
    wsgi-file = /Users/conan/vir_env/AutoTest/AutoTest/wsgi.py
    module = AutoTest.wsgi:application
    master = true
    processes = 4
    threads = 2
    chmod-socket=664
    vacuum=true
    daemonize = /Users/conan/vir_env/AutoTest/uwsgi.log
    参数解释:
      • http                    用户访问端口
      • chdir 为django     项目路径,该路径下面有manage.py 文件
      • wsgi-file django   自带的wsgi.py 文件
      • socket 8001         与下面要配置的nginx的端口要保持一致, 因为uwsgi与nginx 通过socket协议8001端口通信

二. nginx

  • 安装
  • 配置nginx.conf
  • 启动,重启,关闭

1. 安装

brew install nginx
nginx -v # 查看安装版本号
nginx -t # 安装路径

2. 配置nginx.conf

  • 同django的manage.py为同一级目录创建nginx.conf
  • worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        server {
            listen 80;
            server_name 127.0.0.1;
            charset     utf-8;
            access_log      /Users/zd/Documents/AutoTest/nginx_access.log;
            error_log       /Users/zd/Documents/AutoTest/nginx_error.log;
            client_max_body_size 75M;
    
            location /static {
                alias /Users/zd/Documents/AutoTest/static;
            }
    
            location / {
                root        /Users/zd/Documents/AutoTest;
                include     /usr/local/etc/nginx/uwsgi_params;
                uwsgi_pass  127.0.0.1:8001;
            }
        }
    
        include servers/*;
    }

3. 启动,重启,关闭

# 找nginx 安装路径
which nginx
cd /usr/local/bin/nginx

#重启
nginx -s reload

#关闭
nginx -s stop.  或者  kill -9 nginx 

#是否关闭
ps aux|grep nginx

三. uwsgi+nginx 启动Django项目

1 nginx -t
2 cd /usr/local/etc/nginx
3 把mime.types 文件copy到django 项目与manage.py 同一级
1 uwsgi --ini uwsgi.ini
2 sudo nginx -c nginx.conf  #根据报错信息,缺啥文件补充啥,补完之后,重复该命令

浏览器访问:127.0.0.1:9000/index/

四. 加载静态资源

在Django setting.py里加

STATIC_ROOT = os.path.join(BASE_DIR, ‘static‘) 
终端执行命令
python3 manage.py collectstatic #收集静态文件
url.py(例如:AutoTest/AutoTest/url.py)
1 from django.conf import settings
2 urlpatterns = [
3     url(r‘^admin/‘, include(admin.site.urls)),
4     url(r‘‘, include(‘testTask.urls‘)),
5     url(r‘^static/(?P<path>.*)$‘, ‘django.views.static.serve‘, { ‘document_root‘: settings.STATIC_ROOT,}),
8 ]


原文地址:https://www.cnblogs.com/zhang-dan/p/11603844.html

时间: 2024-07-29 16:09:01

mac+django(1.8.2)+uwsgi+nginx 部署的相关文章

Django+uWSGI+Nginx 部署网站

Django 1.11设置 保证Django在本地调试没有问题: 当然这是前提^_^ 收集静态文件至指定文件夹 Django静态文件设置具体参考:https://docs.djangoproject.com/en/1.11/ref/contrib/staticfiles/ 在myproject/settings.py中设置静态文件STATIC_URL和STATIC_ROOT设置: 如: STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE

django+uwsgi+nginx部署(非常详细)

django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: 1 Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-130-generic x86_64) 3.下载uwsgi以及nginx 1 apt-get install uwsgi 2 apt-get install nginx (注:如果下载异常出现权限问题,在命令前添加sudo) 4.创建Django项目 例如:项目名为mysite

vue+uwsgi+nginx部署前后端分离项目

一:vue+uwsgi+nginx部署 1.1:准备代码: # 路飞学城django代码 https://files.cnblogs.com/files/pyyu/luffy_boy.zip # vue代码 https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip 1.2:部署准备 1. 部署环境准备 ⑴ . 准备python3和虚拟环境解释器,python3,virtualenvwrapper. pip3 install -i h

Django+uWsgi+nginx部署

一.环境 操作系统:Ubuntu 14.04 64位 python:2.7.6 Django:1.8.2 项目源码:https://github.com/youchuancong/django.git 部署方式:Django+uWsgi+nginx 二.部署 1.Django安装 官网:https://www.djangoproject.com/ 安装 wget https://www.djangoproject.com/m/releases/1.8/Django-1.8.2.tar.gz ta

CentOS下实现Flask + Virtualenv + uWSGI + Nginx部署

一.项目简介 在本文中,将一步一步搭建一个简单的Flask + Virtualenv + uWSGI + Nginx 架构的Web服务,可以作为新手的学习也可作为记录备忘. 如果你安装好了环境并有一定基础可以直接从第五节开始部署. 项目中只是演示了浏览器访问地址,获得文本返回的过程,本人尽量把配置解释的清晰.基于搭建好的架构,后续可以将业务层(Python)进行扩展,本文不做研究 ,比如: 1.扩展业务代码:实现json.静态资源等等的请求响应. 2.基于业务的数据库查询和部署. 3.服务器端的

uwsgi+nginx部署django项目

1. 概念解析(wsgi协议,uwsgi协议,uWSGI) 参考:https://www.cnblogs.com/wspblog/p/8575101.html 1.1 现实世界的web请求: 1.2  wsgi协议,uwsgi协议和uWSGI a. WSGI(wsgi): 全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种

django+uwsgi+nginx部署在ubuntu系统上

1. 安装之前的准备工作 修改项目下settings.py文件,将调试状态改为False DEBUG = False ALLOWED_HOSTS = ['*'] 能否正常启动项目:python manage.py runserver 2. 安装nginx1.8.1 从http://nginx.org/en/download.html下载 安装gcc g++的依赖库 sudo apt-get install build-essential sudo apt-get install libtool

uwsgi + nginx 部署python项目(一)

uWSGI uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI / uwsgi / uWSGI 这三个概念的区分. WSGI是一种通信协议,Flask,webpy,Django.CherryPy等等都自带WSGI,不过性能都不好. uwsgi同WSGI一样是一种通信协议. 而uWSGI是实现了uwsgi和WSGI两种协议的Web服务器. 为什么有了uWSGI为什么还需要n

django2.1+uwsgi+nginx部署

1安装uwsgi pip3 install uwsgi 2安装nginx sudo apt install nginx -y 3配置uwsgi与nginx连接 在项目根目录下执行命令:  (注意:后面这个空格+点儿别落下) cp /etc/nginx/uwsgi_params . 4配置uwsgi.ini vim uwsgi.ini 然后加入以下内容: [uwsgi] chdir=/home/admin/community module=community.wsgi:application ma