一. 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项目

 nginx -t
cd /usr/local/etc/nginx
把mime.types 文件copy到django 项目与manage.py 同一级
 uwsgi --ini uwsgi.ini
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)
 from django.conf import settings
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'', include('testTask.urls')),
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT,}),
]
												

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

  1. 使用uWSGI+nginx部署Django项目

    最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...

  2. virtualvenv+django+uWSGI+nginx 部署

    原创博文 转载请注明出处! 1. virtualvenv 2. django 3. uWSGI 4. nginx 5. 踩坑记录 1. virtualvenv virtualvenv install ...

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

    django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: Ubuntu 16.04.1 LTS (GNU/Linu ...

  4. Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)

    Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...

  5. Django+uWSGI+Nginx 部署网站

    Django 1.11设置 保证Django在本地调试没有问题: 当然这是前提^_^ 收集静态文件至指定文件夹 Django静态文件设置具体参考:https://docs.djangoproject. ...

  6. vue+uwsgi+nginx部署路飞学城

    vue+uwsgi+nginx部署路飞学城   有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码 ht ...

  7. linux vue uwsgi nginx 部署路飞学城 安装 vue

    vue+uwsgi+nginx部署路飞学城 有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码#这个代码 ...

  8. centosflask+uWSGI+nginx部署

    centosflask+uWSGI+nginx部署 1.      概念 Flask自带webserver--Werkzeug,可以搭建服务,运行网站.但在开发时,一般会用专业的--uWSGI. 另外 ...

  9. ubuntu18+uwsgi+nginx部署django项目

    更新系统软件源 sudo apt-get update pip3安装 sudo apt install python3-pip 安装virtualenvwrapper pip3 install vir ...

随机推荐

  1. 爬取汽车之家新闻图片的python爬虫代码

    import requestsfrom bs4 import BeautifulSouprespone=requests.get('https://www.autohome.com.cn/news/' ...

  2. kubeadm安装集群系列-1.基础服务安装

    基础服务 本文基于centos7.5部署 规划 10.8.28.200 master-VIP 10.8.31.84 k8s-test-master-1 10.8.152.149 k8s-test-ma ...

  3. 2019年最新Web安全攻防班课程

    咨询请加QQ:1373721311 或 2644148223 课程核心大纲总览 Web安全攻防班以业界权威的OWASP TOP 10的漏洞为主干课程.更加详细教学思维导图可访问如下链接:https:/ ...

  4. CSS实现网页背景图片自适应全屏,自适应背景图片

    一张清晰漂亮的背景图片能给网页加分不少,设计师也经常会给页面的背景使用大图,我们既不想图片因为不同分辨率图片变形,也不希望当在大屏的情况下,背景有一块露白,简而言之,就是实现能自适应屏幕大小又不会变形 ...

  5. Mac下Supervisor进程监控管理工具的安装与配置

    Supervisor是一个类 unix 操作系统下的进程监控管理工具. Supervisor是由 Python 写成,可用 Python 的包安装管理工具 pip(Python Package Ind ...

  6. 2019/5/13 洛谷P4742 【tarjan缩点 + 拓扑dp】

    题目链接:https://www.luogu.org/problemnew/show/P4742 题目大意:给一张有向图, 每个点都有点权,第一次经过该点时,该点的点权有贡献,求这张图上一条路径(终点 ...

  7. delphi 相关好的资料网站

    1.Delphi编程技巧大全   http://www.delphitop.com/  (实例讲解所有组件) 2.Delphi学习大师  Delphi基础教程 视频教程  http://www.xue ...

  8. C++中枚举类型的作用

    (1)C++中会使用const或者#define定义整型常量,当整型常量有多个且之间的值的全部或部分有递加的时候,定义起来稍显繁琐,此时用枚举类型显得很简洁: 例如: //使用const: const ...

  9. 老贾的幸福生活day3 之markdown常用语法简要

    1.markdown常用语法 标题 一级到六级 用#+空格实现 2.代码块 3个 `实现 python is a ...... 单行代码,用"``" 3.列表 有序列表 跟内容 数 ...

  10. 22 Years of KDE

    22 Years of KDEhttps://timeline.kde.org/ http://www.kdedevelopers.org/