django_uWSGI+nginx环境
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环境的更多相关文章
- nginx环境下配置nagios-关于nagios配置文件nginx.conf
接上文:nginx环境下配置nagios-关于nginx.conf 配置如下: ; location ~ .*\.(php|php5)?$ { ...
- nginx环境下配置nagiosQL-关于nagiosql配置文件
接上文:nginx环境下配置nagios-关于nginx.conf nagiosql文件应该处于conf/domain/目录下 nagiosql配置如下: ; gzi ...
- Nginx基础知识之————Nginx 环境的搭建?
本课时主要给大家讲解如何在 Linux 系统下搭建 Nginx 和 Nginx 搭建过程中常见问题的知识,并结合实例让学员掌握 Nginx 环境的搭建. 下载解压: 安装gcc-c++ 从新配置文件: ...
- Nginx环境下配置PHP使用的SSL认证(https)
最近一段时间发现好多网站都从http协议变成了加密的https协议,比如说百度.吾志等等.https看起来比http高端了好多,而且在不同的浏览器向上还会显示出不同于http的URL展示效果(比如说c ...
- 基于Debian系统配置Nginx环境的Node.js应用教程
Node.js,是当前比较流行的能够动态的快速响应内容的JavaScript框架,在有些环境下比我们使用的PHP应用都能够提高效率.目 前,Node.js可以与我们常用的Nginx.Apache等服务 ...
- 【thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法】
非常惭愧的说,由于之前一直使用的是windowservice,安装apache来进行服务器布置的,这种方式也是最简单最直接的方式, 但是由于php的服务大多都是linux栈的,咱们也不能落后呀,在 ...
- 为PHP设置服务器(Apache/Nginx)环境变量
为PHP设置服务器(Apache/Nginx)环境变量 设置环境变量常见的地方为区分开发环境/生产环境,或者定义一些数据库的帐号密码 设置Apache环境变量 指令 设置当前环境变量为DEV SetE ...
- 1.5准备CentOS和Nginx环境「深入浅出ASP.NET Core系列」
准备CentOS 1.1虚拟机 CentOS的安装这里使用vmware workstation 14来做虚拟机,当然你也可以用Oracle的虚拟机或者不用虚拟机,使用云服务或者使用双系统,不是什么大问 ...
- Nginx环境的搭建
源码安装 不同发行版使用的安装程序都不同,所以官方提供了源代码,我们需要将原代码编译后再安装. 源程序使用C语言开发,所以需要安装C语言的编译环境. 安装Nginx环境和第三方支持库 yum inst ...
随机推荐
- int 转十六进制
//使用1字节就可以表示bpublic static String numToHex8(int b) { return String.format("%02x", b ...
- Codeforces Round #173 (Div. 2) E. Sausage Maximization —— 字典树 + 前缀和
题目链接:http://codeforces.com/problemset/problem/282/E E. Sausage Maximization time limit per test 2 se ...
- 【mysql】mysql innodb 配置详解
MySQL innodb 配置详解 innodb_buffer_pool_size:这是InnoDB最重要的设置,对InnoDB性能有决定性的影响.默认的设置只有8M,所以默认的数据库设置下面Inno ...
- 【转载】String和StringBuffer的区别,以及StringBuffer的常用方法介绍
String与StringBuffer的区别简单地说,就是一个变量和常量的关系.StringBuffer对象的内容可以修改:而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象.Stri ...
- YCSB-mapkeer-leveldb实测
使用thrift0.8.0编译好java版的mapkeeper并安装到ycsb下,使用thrift0.9.2编译好c++版的mapkeeper并编译leveldb客户端运行. 测试成功.recordc ...
- php filter 安全过滤函数
转自:http://www.blags.org/archives/741.html php 利用filter 扩展编写的参数处理静态类,欢迎使用.希望大家看得开心,用得放心. <?php /** ...
- hdu-5665 Lucky(水题)
题目链接: Lucky Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Pro ...
- hdu-4991 Ordered Subsequence(dp+树状数组)
题目链接: Ordered Subsequence Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- [SPOJ1557] Can you answer these queries II
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2482 [算法] 线段树维护历史最值 时间复杂度 : O(NlogN) [代码] #i ...
- Windows_Program_Via_C_Translate_Win32编程的背景知识/基础知识_包括基本输入输出机制介绍
Some Basic Background Story of The Win32 APIs Win32 API背景故事/背景知识 The Win32 application programming i ...