Django uWSGI+Nginx配置

简介:

一、Django配置

1. 创建一个新项目

1
django - admin.py startproject mysite

2. 创建一个应用

1
python3 startapp app01

3. 编辑urls.py文件,创建一个index页面路由

1
2
3
4
urlpatterns  =  [
     url(r '^admin/' , admin.site.urls),
     url(r '^index/' , views.index),
]

4. 编辑views.py文件,创建视图函数

1
2
def  index(request):
     return  render(request,  "index.html" )

5. 在项目目录下创建templates目录,以及index.html文件

1
2
3
4
5
6
7
8
9
10
< html >
     < head >
         < meta  charset = "UTF-8" >
         < title >index</ title >
     </ head >
     < body >
         < h2 >uWSGI页面</ h2 >
         < img  src = "/static/02.jpg" />
     </ body >
</ html >

6. 在项目目录下创建static目录,将02.jpg文件放进去。

由于我们这次使用uWSGI和Nginx,所以不用在setting.py文件配置静态文件路径。


二、安装配置uWSGI

1. 安装uWSGI

1
pip install uwsgi

2. 测试uWSGI服务器

1
2
3
4
# test.py
def  application(env, start_response):
     start_response( '200 OK' , [( 'Content-Type' , 'text/html' )])
     return  [b "Hello World" ]
1
uwsgi  - - http : 9090  - - wsgi - file  test.py

访问”http://127.0.0.1:9090“,如果出现"Hello World"则表示uWSGI安装成功

3. 在Django项目目录mysite/app01目录下创建一个uwsgi.ini文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[uwsgi]
 
# 配置服务器IP地址和端口
http  =  127.0 . 0.1 : 3309
 
# 配置项目目录
chdir  =  / script / PycharmProjects / mysite
 
# 配置入口模块
wsgi - file  =  mysite / wsgi.py
 
# 开启master
master  =  True
 
# 设置worker进程数量
processes  =  2
 
# 服务器进程开启的线程数量
threads  =  4
 
# 退出清空环境变量
vacuum  =  True
 
# 进程pid
pidfile  =  uwsgi.pid
 
# 配置静态文件目录
check - static  =  / script / PycharmProjects / mysite

4. 启动uWSGI服务器提供静态页面和动态页面访问

1
uwsgi  - - ini uwsgi.ini

5. 访问"http://127.0.0.1:3309/index/",如果出现文件以及图片则表示设置成功

6. 修改uwsgi.ini文件,动态文件留给uWSGI处理,静态文件给Nginx处理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[uwsgi]
 
# 配置服务器IP地址和端口
#http = 127.0.0.1:3309
socket  =  127.0 . 0.1 : 3309
 
# 配置项目目录
chdir  =  / script / PycharmProjects / mysite
 
# 配置入口模块
wsgi - file  =  mysite / wsgi.py
 
# 开启master
master  =  True
 
# 设置worker进程数量
processes  =  2
 
# 服务器进程开启的线程数量
threads  =  4
 
# 退出是清空环境变量
vacuum  =  True
 
# 进程pid
pidfile  =  uwsgi.pid
 
# 配置静态文件目录
#check-static = /script/PycharmProjects/mysite


三、安装配置Nginx

1. 安装Nginx

1
2
3
tar  - zxvf nginx - 1.10 . 2.tar .gz
cd nginx - 1.10 . 2
. / configure

2. 环境检查缺失pcre包,安装libpcre3和libpcre3-dev

1
sudo apt - get install libpcre3 libpcre3 - dev

3. 环境检查缺失zlib包,从http://www.zlib.net下载最新软件包并安装

1
2
3
4
5
tar  - zxvf zlib - 1.2 . 11.tar .gz
cd zlib - 1.2 . 11
. / zlib - 1.2 . 11
make
sudo make install

4. 配置使用openssl,从https://www.openssl.org/source/下载最新软件包,并解压

1
tar  - zxvf openssl - 1.0 . 2l .tar.gz

5. 重新运行Nginx configure文件

1
. / configure  - - with - openssl = / Download / openssl - 1.0 . 2l  - - with - http_ssl_module

6. 检查无误,编译安装

1
2
make
sudo make install

7. 配置Nginx,动态文件转给uWSGI处理,静态文件自己处理

默认配置文件路径:/usr/local/nginx/conf/nginx.conf

1
2
3
4
5
6
7
8
location  /  {
     include uwsgi_params;
     uwsgi_pass  127.0 . 0.1 : 3309 ;
}  
 
location  / static {
     alias  / script / PycharmProjects / mysite / static;
}

8. Nginx启停命令

1
2
3
4
cd  / usr / local / nginx / sbin
sudo . / nginx   # 启动
sudo . / nginx  - s stop   # 停止
sudo . / nginx  - reload   # 重新加载配置文件

9. 现在我们把uWSGI和Nginx一起启动,并访问http://127.0.0.1/index/,如果出现文字和图片说明我们已经配置成功了!

本文转自戴柏阳的博客博客51CTO博客,原文链接http://blog.51cto.com/daibaiyang119/1972398如需转载请自行联系原作者


daibaiyang119

相关文章
|
2月前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
13天前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
26天前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
124 1
nginx配置反向代理404问题
|
11天前
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
50 1
|
1月前
|
缓存 负载均衡 应用服务中间件
Nginx配置
【10月更文挑战第22天】在实际配置 Nginx 时,需要根据具体的需求和环境进行调整和优化。同时,还需要注意配置文件的语法正确性和安全性。
47 7
|
2月前
|
前端开发 JavaScript 应用服务中间件
终极 Nginx 配置指南
本文介绍了Nginx的基本配置及其优化方法。首先,通过删除注释简化了Nginx的默认配置文件,使其更易于理解。接着,文章将Nginx配置文件分为全局块、events块和http块三部分进行详细解释。此外,还提供了如何快速上线网站、解决前端history模式404问题、配置反向代理、开启gzip压缩、设置维护页面、在同一IP上部署多个网站以及实现动静分离的具体配置示例。最后,附上了Nginx的基础命令,包括安装、启动、重启和关闭等操作。
|
2月前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
160 0
|
负载均衡 应用服务中间件 nginx
Django通过Nginx和uWSGI实现负载均衡
Django通过Nginx和uWSGI实现负载均衡
213 0
|
数据可视化 前端开发 应用服务中间件
flask+nginx+uwsgi部署服务器(详细保姆级教程)
本次项目我利用flask写了接口需要部署到服务器供前端使用,一路走来爬了很多坑,所以这一次做了详细的记录,从零开始教大家将flask项目跑起来
1747 1
flask+nginx+uwsgi部署服务器(详细保姆级教程)
|
小程序 前端开发 应用服务中间件
nginx,uwsgi get方法请求参数过长怎么办
nginx,uwsgi get方法请求参数过长怎么办
116 0