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项目
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 部署的更多相关文章
- 使用uWSGI+nginx部署Django项目
最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...
- virtualvenv+django+uWSGI+nginx 部署
原创博文 转载请注明出处! 1. virtualvenv 2. django 3. uWSGI 4. nginx 5. 踩坑记录 1. virtualvenv virtualvenv install ...
- django+uwsgi+nginx部署(非常详细)
django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: Ubuntu 16.04.1 LTS (GNU/Linu ...
- Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)
Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...
- Django+uWSGI+Nginx 部署网站
Django 1.11设置 保证Django在本地调试没有问题: 当然这是前提^_^ 收集静态文件至指定文件夹 Django静态文件设置具体参考:https://docs.djangoproject. ...
- vue+uwsgi+nginx部署路飞学城
vue+uwsgi+nginx部署路飞学城 有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码 ht ...
- linux vue uwsgi nginx 部署路飞学城 安装 vue
vue+uwsgi+nginx部署路飞学城 有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码#这个代码 ...
- centosflask+uWSGI+nginx部署
centosflask+uWSGI+nginx部署 1. 概念 Flask自带webserver--Werkzeug,可以搭建服务,运行网站.但在开发时,一般会用专业的--uWSGI. 另外 ...
- ubuntu18+uwsgi+nginx部署django项目
更新系统软件源 sudo apt-get update pip3安装 sudo apt install python3-pip 安装virtualenvwrapper pip3 install vir ...
随机推荐
- 《Java语言程序设计》第三讲类与对象“动手动脑”
一.以下代码为何无法通过编译?哪儿出错了? 答: 如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法. 二. (1)以下代码输出结果是什么? package xy; public cla ...
- 【Abode Air程序开发】打包并导出
打包并导出 将移动设备应用程序打包并导出到在线商店 导出用于发行的 Android APK 包 导出用于发行的 Apple iOS 包 使用命令行进行创建.测试和部署 使用 mxmlc 编译手机应用程 ...
- POJ1703Find them, Catch them 【种类并查集】
题目链接:http://poj.org/problem?id=1703 题目大意:给n个人,m次询问.A代表询问a, b之间的关系,D代表给出a, b属于不同的帮派. 我的想法: 太菜了,上课的时候没 ...
- HDU1814(Peaceful Commission) 【2-SAT DFS暴力求最小字典序的模板】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1814 题意:给出一个数n,代表有n个党派,每个党派要求派出其中一个人去参加会议,且只能派出一人.给出m ...
- [转帖]Grafana背后的Nginx和Apache Proxy
Grafana背后的Nginx和Apache Proxy https://ywnz.com/linuxyffq/5590.html 这个网站貌似非常非常好 在本文中,我将向你展示如何在Nginx和Ap ...
- Hadoop-(Flume)
Hadoop-(Flume) 1. Flume 介绍 1.1. 概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统. Flume可以采集文件,socket数据包.文件.文件夹 ...
- python入门小结
以下划线开头的标识符是有特殊意义的.以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入: 以双下划 ...
- [AHOI2017初中组]guide 题解
题面 我们无论怎么走,都是要从此点沿最短路径走到终点,所以我们以n为原点跑两边dijkstra就可以了: 而抱怨数可以根据之前跑出来的东西新建一个图,然后跑最短路就好了: #include <b ...
- T100——报表的小计数量、小计金额,总计金额
范例:cxmr540_g01 范例代码: ON EVERY ROW #add-point:rep.everyrow.before name="rep.everyrow.before" ...
- Separate String
Separate String 时间限制: 1 Sec 内存限制: 128 MB提交: 50 解决: 16 题目描述 You are given a string t and a set S of ...