1 uWSGI

作用

Django 默认使用的是 Python 自带的 simple HTTPServer 提供web服务的,在安全性和效率上都是不行的,只能用作django开发测试。

WSGI是一个Web服务器(如nginx)与应用服务器(如uWSGI)通信的一种规范(协议),。

uWSGI负责把HTTP协议转化为WSGI协议,可以使python直接使用

安装

[root@webmaster nginx]# pip3 install uwsgi
Successfully installed uwsgi-2.0.17.1 [root@webmaster nginx]# uwsgi --version
2.0.17.1

  

配置

在settings同目录

uwsgi.ini

[uwsgi]
# 配置服务器的监听ip和端口
socket = 127.0.0.1:9090
# 配置项目目录(此处设置为项目的根目录)
chdir = /data/sqlsite
# 配置入口模块 (django的入口函数的模块,即setting同级目录下的wsgi.py)
wsgi-file = sqlsite/wsgi.py
# 开启master, 将会多开一个管理进程, 管理其他服务进程
master = True
# 服务器开启的进程数量
processes = 2
# 以守护进程方式提供服, 输出信息将会打印到log中
daemonize = wsgi.log
# 服务器进程开启的线程数量
threads = 2
# 退出的时候清空环境变量
vacuum = true
#启动用户,在装uwsgi时已经自动创建
uid = uwsgi
# 进程pid
pidfile = uwsgi.pid

  

命令

启动

uwsgi --ini uwsgi.ini

  

重载

uwsgi --reload uwsgi/uwsgi.pid
#django使用自带http服务时,会自动重载配置
#使用uwsgi时,没有运行python进程,由uwsgi托管,需要重载uwsgi才行

  实测不行,改为:

[root@webmaster sqlsite]# cat run.sh
#!/bin/sh
killall -9 uwsgi;sleep 1;uwsgi --ini sqlsite/uwsgi.ini

  

2 nginx

        location /static {
alias /data/sqlsite/static; #指定django的静态文件
} location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}

  

3 admin static文件

这样的情况下,访问admin,会找不到static文件,因为admin的static文件不在static/下面。所以需要把admin的static迁移过来。

在static的配置上增加一个STATIC_ROOT配置,意思是所有static的根目录。这样,static聚合时,系统就会把admin的static文件复制过来。

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/ STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)

  

python3 manage.py collectstatic
#执行聚合命令后,在static目录下会出现admin目录

  

4 问题

在venv中运行的django,和在venv中安装的uwsgi,在外面环境下运行uwsgi出现了5000错误,需要在在venv环境

django_uWSGI+nginx环境的更多相关文章

  1. nginx环境下配置nagios-关于nagios配置文件nginx.conf

    接上文:nginx环境下配置nagios-关于nginx.conf 配置如下: ;          location ~ .*\.(php|php5)?$          {            ...

  2. nginx环境下配置nagiosQL-关于nagiosql配置文件

    接上文:nginx环境下配置nagios-关于nginx.conf nagiosql文件应该处于conf/domain/目录下 nagiosql配置如下: ;                  gzi ...

  3. Nginx基础知识之————Nginx 环境的搭建?

    本课时主要给大家讲解如何在 Linux 系统下搭建 Nginx 和 Nginx 搭建过程中常见问题的知识,并结合实例让学员掌握 Nginx 环境的搭建. 下载解压: 安装gcc-c++ 从新配置文件: ...

  4. Nginx环境下配置PHP使用的SSL认证(https)

    最近一段时间发现好多网站都从http协议变成了加密的https协议,比如说百度.吾志等等.https看起来比http高端了好多,而且在不同的浏览器向上还会显示出不同于http的URL展示效果(比如说c ...

  5. 基于Debian系统配置Nginx环境的Node.js应用教程

    Node.js,是当前比较流行的能够动态的快速响应内容的JavaScript框架,在有些环境下比我们使用的PHP应用都能够提高效率.目 前,Node.js可以与我们常用的Nginx.Apache等服务 ...

  6. 【thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法】

      非常惭愧的说,由于之前一直使用的是windowservice,安装apache来进行服务器布置的,这种方式也是最简单最直接的方式, 但是由于php的服务大多都是linux栈的,咱们也不能落后呀,在 ...

  7. 为PHP设置服务器(Apache/Nginx)环境变量

    为PHP设置服务器(Apache/Nginx)环境变量 设置环境变量常见的地方为区分开发环境/生产环境,或者定义一些数据库的帐号密码 设置Apache环境变量 指令 设置当前环境变量为DEV SetE ...

  8. 1.5准备CentOS和Nginx环境「深入浅出ASP.NET Core系列」

    准备CentOS 1.1虚拟机 CentOS的安装这里使用vmware workstation 14来做虚拟机,当然你也可以用Oracle的虚拟机或者不用虚拟机,使用云服务或者使用双系统,不是什么大问 ...

  9. Nginx环境的搭建

    源码安装 不同发行版使用的安装程序都不同,所以官方提供了源代码,我们需要将原代码编译后再安装. 源程序使用C语言开发,所以需要安装C语言的编译环境. 安装Nginx环境和第三方支持库 yum inst ...

随机推荐

  1. ARM编译器中预定义的宏

    arm系列目前支持三大主流的工具链,realview的armcc,iar ewarm的iccarm,gnu的gcc,编译器在编译的时候会预定义一些宏,这些宏在工程中起到不可或缺的作用. 例如 /* d ...

  2. 'gbk' codec can't encode character '\xa5' in position 4546: illegal multibyte sequence错误解决

    sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='gb18030') 原文 http://blog.csdn.net/jim7424 ...

  3. 深入理解c语言——‘\0’ ,‘0’, “0” ,0之间的区别

    看来基础还是很重要的,基础不扎实就难以学好c语言,就别说写出高质量的c语言代码了.今天,我就被这个问题折磨的不行了,哈哈,不过现在终于明白了‘\0’ ,‘0’, “0” 之间的区别了.困惑和快乐与你分 ...

  4. struts2 学习日记1

    struts2 简介 struts2的前身可以说是framework.strut1作为当时很流行的框架,但是有很多的不足之处,framework出生后,它带来了很好的框架,但是很多人已经习惯了stru ...

  5. 我在面试.NET/C#程序员时会提出的问题

    我在面试.NET/C#程序员时会提出的问题 2011-03-03 15:38 by 老赵, 28107 visits 说起来我也面试过相当数量的.NET(包括C#,后文不重复)程序员了,有的通过电话, ...

  6. Java 高阶 —— native 关键字与 JNI

    1. JNI Java中JNI的使用详解第一篇:HelloWorld JNI:Java Native Interface,Java 本地接口(或本机接口,更具体地讲叫本地编程接口),其提供了若干 AP ...

  7. 机器学习: Canonical Correlation Analysis 典型相关分析

    Canonical Correlation Analysis(CCA)典型相关分析也是一种常用的降维算法.我们知道,PCA(Principal Component Analysis) 主分量分析将数据 ...

  8. 【CQ18高一暑假前挑战赛3.5】标程

    [A:快速幂相关] #include<bits/stdc++.h> using namespace std; int qpow(int a,int x){ a%=;; while(x){ ...

  9. mac上Firefox安装firebug和firepath

    Firefox安装Selenium ide插件时提示:该附加组件无法安装 因为它似乎已损坏,如下图: 此时千万不要去想着这个插件有问题,可能是Firefox的版本问题. 在Firefox45之后的新版 ...

  10. 配置web应用

    web应用配置虚拟主机1.web应用的虚拟路径映射,就是web应用的真实存在的路径配置一个虚拟路径 在conf目录下的Server.xml 的<Host>标签中,配置<Context ...