Ubuntu 下面部署Django 项目

简介:

      django 是 python 开源的 web 框架 ,django 本身运行后也是一个轻量级的服务器,可以满足本地的测试,生产环境中的 大量访问, 一般和nginx 和 apache 结合。下面以 Django 与nginx 结合为例进行部署


1、 部署环境 


操作系统:Ubuntu 16.04.2


nginx 版本:nginx/1.10.3


2、部署原理

client----》nginx ----》socket ----》uwsgi----》Django 



3、安装步骤 


 3.1 安装 nginx 


apt-get install nginx 


systemctl start nginx


测试 Nginx 


image.png

    3.2  安装  uwsgi


  pip install uwsgi 


在opt 下面创建 test.py 测试  uwsgi 是否正常安装 

1
2
3
4
#!/usr/bin/env python
def  application(env,start_response):
     start_response( '200 OK' , [( 'Content-Type' , 'text/html' )])
     return  [ "Hello World" ]


测试 : 

uwsgi --http:8000 --wsgi-file test.py 


访问 ip:8000,uwsgi 测试成功


image.png



3.3  Nginx+uwsgi+django 


上传 django 项目至  OurCMDB


创建 OurCMDB_uwsgi.ini  配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#OurCMDB_uwsgi.ini
[uwsgi]
# Django-related settings
 
socket = :8000  # socket 监听端口,对应下文nginx 配置文件 uwsgi_pass 监听的端口号
# the base directory (full path)
chdir           =  /opt/OurCMDB/     #项目目录
 
# Django s wsgi file
module          = OurCMDB.wsgi     #wsgi.py 创建django 项目时已经生成 目录 /opt/OurCMDB/OurCMDB/wsgi.py
 
# process-related settings
# master
master          =  true
 
# maximum number of worker processes
processes       = 4   #
 
# ... with appropriate permissions - may be needed
# chmod-socket    = 664
# clear environment on exit
vacuum          =  true


查看项目下面的文件 


image.png


新增nginx 虚拟配置文件

cat /etc/nginx/sites-available/OurCMDB_nginx.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
server {
     listen         8010; 
     server_name    _;
     charset UTF-8;
     access_log       /var/log/nginx/OurCMDB_access .log;
     error_log        /var/log/nginx/OurCMDB_error .log;
 
     client_max_body_size 75M;
 
     location / { 
         include uwsgi_params;
         uwsgi_pass 127.0.0.1:8000;  #
         uwsgi_read_timeout 2;
     }   
     location  /static  {
         expires 30d;
         autoindex on; 
         add_header Cache-Control private;
         alias  /opt/OurCMDB/static/
      }
  }

  

创建  软连接 ln -s OurCMDB_nginx.conf ../sites-enabled/OurCMDB_nginx.conf


启动 

uwsgi --ini OurCMDB_uwsgi.ini 


检查Nginx 配置文件 

image.png


启动nginx  


访问测试 django


http://ip:8010/ 

image.png



本文转自 水滴石川1 51CTO博客,原文链接:http://blog.51cto.com/sdsca/2044983,如需转载请自行联系原作者

相关文章
|
26天前
|
Ubuntu Linux 数据安全/隐私保护
Windows11 使用 WSL2部署Ubuntu
在管理员PowerShell中运行命令启用Windows子系统Linux和虚拟机平台,但安装Ubuntu时遇到错误。解决方法是下载NoLsp_fix_WSL2工具,以管理员权限进入其目录,使用工具指向WSL的路径(例如 `C:\windows\system32\wsl.exe`)进行修复,然后能成功打开Ubuntu。
34 4
|
3月前
|
Ubuntu Cloud Native 测试技术
百度搜索:蓝易云【云原生之使用Docker部署ubuntu测试环境】
请注意,以上步骤仅是简单的使用Docker部署Ubuntu测试环境的示例。在实际应用中,您可能需要根据测试需求和应用场景进行更多的配置和优化。同时,在退出容器时,容器并未删除,您可以使用 `docker rm <容器名称>`命令来删除容器。在进行测试时,请谨慎操作,并确保对Docker的使用有一定的了解,以避免不必要的问题。
40 2
|
3月前
|
存储 Ubuntu 网络协议
Ubuntu本地部署Nextcloud并结合内网穿透实现远程访问搭建个人云盘
Ubuntu本地部署Nextcloud并结合内网穿透实现远程访问搭建个人云盘
125 1
|
3月前
|
搜索推荐 算法 前端开发
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
98 4
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
|
4天前
|
Ubuntu 关系型数据库 MySQL
如何在Ubuntu使用宝塔部署Emlog网站并发布到公网实现任意浏览器访问
如何在Ubuntu使用宝塔部署Emlog网站并发布到公网实现任意浏览器访问
|
17天前
|
Kubernetes Ubuntu 应用服务中间件
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
80 0
|
1月前
|
数据采集 存储 数据处理
Python爬虫在Django项目中的数据处理与展示实例
Python爬虫在Django项目中的数据处理与展示实例
|
2月前
|
Ubuntu 关系型数据库 MySQL
如何在Ubuntu部署Emlog,并将本地博客发布至公网可远程访问
如何在Ubuntu部署Emlog,并将本地博客发布至公网可远程访问
37 1
|
2月前
|
安全 应用服务中间件 开发工具
Ubuntu20安装docker并部署相关漏洞环境
Ubuntu20安装docker并部署相关漏洞环境
51 0
|
3月前
|
Ubuntu 对象存储 Docker
PalWolrd容器部署及第三方调优(手动操作替代OOS)Ubuntu 22.04
如果您是OSS已经部署了,请参考部署后的内容,如果您是打算使用容器部署方案,请看清楚地域选择自己最合适的安装方式,请注意该方案仅仅适用于Ubuntu
249 8