ubuntu下部署django
一:保证python运行环境安装
apt-get install python
如果需要进行开发则还要安装python-dev
apt-get install python-dev
二:安装django
首先保证安装了pip包
利用pip进行django安装
pip install django
三:安装nginx
studo apt-get install nginx
nginx的服务启动与关闭
/etc/init.d/nginx start
/etc/init.d/nginx stop
/etc/init.d/nginx restart
同时nginx的配置文件路径为/etc/nginx/nginx.conf
在配置文件中可以修改端口等相关参数
修改完成后访问nginx服务保证服务可用,如出现以下界面则表示服务可用

四:安装uwsgi
root@ubuntu:/etc# python3 -m pip install uwsgi
五:在web目录下建立uwsgi的配置文件用以打通django与nginx的服务
例如在web根目录下建立:loveservice_wsgi.ini文件
配置文件内容如下:
[uwsgi]
socket =127.0.0.1 :8000 指定端口号
# Django-related settings
# the django project directory (full path)
chdir= /python_dev/wwwroot/loveservice 网站目录
# Django's wsgi file
module = loveservice.wsgi 网站目录下django的wsgi文件
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 2
threads = 2
max-requests = 6000
# ... with appropriate permissions - may be needed
chmod-socket = 664
# clear environment on exit
vacuum = true
六:在web根目录下建立uwsgi_params文件
文件内容可以从https://github.com/nginx/nginx/blob/master/conf/uwsgi_params复制
内容如下:
|
uwsgi_param QUERY_STRING $query_string; |
|
uwsgi_param REQUEST_METHOD $request_method; |
|
uwsgi_param CONTENT_TYPE $content_type; |
|
uwsgi_param CONTENT_LENGTH $content_length; |
|
uwsgi_param REQUEST_URI $request_uri; |
|
uwsgi_param PATH_INFO $document_uri; |
|
uwsgi_param DOCUMENT_ROOT $document_root; |
|
uwsgi_param SERVER_PROTOCOL $server_protocol; |
|
uwsgi_param REQUEST_SCHEME $scheme; |
|
uwsgi_param HTTPS $https if_not_empty; |
|
uwsgi_param REMOTE_ADDR $remote_addr; |
|
uwsgi_param REMOTE_PORT $remote_port; |
|
uwsgi_param SERVER_PORT $server_port; |
uwsgi_param SERVER_NAME $server_name;
七:编缉/etc/nginx/nginx.conf
在http的节点下添加以下内容:
upstream django {
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}
server{
listen 8080; 网站访问端口
server_name localhost;
charset utf-8;
location / {
include /python_dev/wwwroot/loveservice/uwsgi_params; 指定uwsgi_params文件位置
client_max_body_size 75M;
location /media {
uwsgi_pass django;
alias /python_dev/wwwroot/loveservice; 指定网站目录
}
uwsgi_pass 127.0.0.1:8000; 与ini文件中的端口号保持一致
uwsgi_read_timeout 2;
}
location /static{
expires 30d;
autoindex on;
add_header cache-control private;
alias /python_dev/wwwroot/loveservice/collectstatic; 指定静态文件目录
}
注意: 配置为location /static 而非 location /static/,按后者配置将无法找到配置文件
八:编缉网站下setting.py文件
修改以下内容:
DEBUG = False
ALLOWED_HOSTS = ['*']
'DIRS': [os.path.join(BASE_DIR, 'templates')]
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "collectstatic")
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
说明:STATIC_ROOT = os.path.join(BASE_DIR, "collectstatic")
collectstatic名称可以为任意名称,在执行python manage.py collectstatic时django将自动建立该名称目录,并将静态文件从static目录复制到该目录下
同时注意修改nginx的静态文件目录路径
python manage.py collectstatic
九:对网站目录授权在测试中可以采用类似chown -R 755 test的方法保证文件有权读取执行,在生产环境中在根据具体需要调整权限,否则容易出现读取静态资源时403的错误信息,导致静态资源无法加载
九:uwsgi服务:
返回到ini配置文件所在的目录下,执行以下命令:
uwsgi --ini loveservice_wsgi.ini
执行过程中如无报错信息将如下所示

让nginx重新读取配置文件:
/etc/init.d/nginx reload
十:访问django服务:端口为nginx.conf中配置的端口,在本例中为8080端口,http://127.0.0.1:8080
如可以下常显示图片等静态资源则表示配置已生效服务已经成功启动
ubuntu下部署django的更多相关文章
- Ubuntu 下部署asp.net运行环境
在Ubuntu下部署asp.net运行环境,网上教程很多,基本都是编译Mono源码,然后安装jexus.但是可能是我最近RP不太好,编译Mono源码一直都是失败,无奈之下只好找另外的方法安装了. 网上 ...
- Linux 下部署Django项目
Linux 下部署Django项目 说明:本文所使用的环境为CentOS 6+Python2.7+Django1.11 安装Django.Nginx和uWSGI 1.确定已经安装了2.7版本的Py ...
- Linux:Ubuntu下部署Web运行环境
Linux:Ubuntu下部署Web运行环境 本次博客将会从三部分内容详述Ubuntu系统下Web运行环境的配置: 依次是:FTP服务器的搭建.MYSQL数据库的搭建.JDK的安装等. 参考文章如下: ...
- centos 下部署django nginx+uwsgi
为了建立一个工作站,也是麻烦了.... 感谢该博主: https://www.cnblogs.com/levelksk/p/7921066.html 1.安装centos 后首先安装python,下载 ...
- 基于Nginx和uWSGI在Ubuntu上部署Django项目
前言: 对于做Django web项目的童鞋,重要性不言而喻. 参考:https://www.cnblogs.com/alwaysInMe/p/9096565.html https://blog.cs ...
- Ubuntu下部署java JDK和eclipse IDE
安装Java编程开发环境: Ubuntu默认安装openjava,可以通过java -version查看是否安装.但我使用Ubuntu9.10升级到10.04LTS时,openjava没有了.另外,如 ...
- Ubuntu环境下部署Django+uwsgi+nginx总结
前言 这是我在搭建Django项目时候的过程,拿来总结记录,以备不时之需. 项目采用nginx+uwsgi的搭配方式. 项目依赖包采用requirements.txt文件管理的方式. 本地准备工作 确 ...
- Ubuntu+uWSGI部署Django项目【鸿篇巨制,事无巨细】
背景 任务: 视频翻译项目需要在两个服务器上进行通信(国内&海外的阿里服务器). 因为python是主语言,选用了Django 来快速部署API. 注:Django中文文档:https://d ...
- 用wfastcgi在IIS下部署Django&Flask
Django跟Flask在Linux底下都可以很方便地以FastCGI模式部署,貌似IIS下面不很好配置,而且IIS也缺少一个像PHPmanager一样的全自动配置工具,在公司服务器上部署起来颇费周折 ...
随机推荐
- 四,Smarty模板技术/引擎-----内建函数
内建函数是smarty提供的函数,不允许修改,只能被调用: 自定义函数是自己编写函数,注册成为smarty的函数,之后可以被调用. PHP的自建函数很多,讲解下<foreach>和< ...
- Ionic无法通过npm安装解决方案
http://www.jianshu.com/p/5a99334eb62d 一般从 node.js官网下载安装完之后,npm也会同时安装完. 如果通过 $ npm install -g cordova ...
- ARC初步介绍
[转载自 http://onevcat.com/2012/06/arc-hand-by-hand/] 手把手教你ARC——iOS/Mac开发ARC入门和使用 Revolution of Objecti ...
- windows本地搭建nginx+php+mysql+redis环境详细步骤
1.mysql的下载和安装 这个可参考我另外一篇文章:http://www.cnblogs.com/myIvan/p/9265645.html 2.php的下载和配置修改 下载地址:https://w ...
- 51nod2004 终结之时 (支配树+树剖+树链的并)
link 我永远喜欢洛天依 给定一张图世末积雨云,你需要维护其支配树: 单点修改,子树修改,树链修改 子树求和,树链求和,多条树链的并集求和 撤销之前的操作 可以先用 Lengauer-Tarjan ...
- session和cookie的知识总结
1.HTTP协议 由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接.HTTP服务器则在那个端口监听客户端发送过来的请求.一旦收到请求,服务器(向客户端)发回一个状态 ...
- 论文阅读 | FPN:Feature Pyramid Networks for Object Detection
论文地址:https://arxiv.org/pdf/1612.03144v2.pdf 代码地址:https://github.com/unsky/FPN 概述 FPN是FAIR发表在CVPR 201 ...
- element-ui 使用span-method表格合并后hover样式的处理
在使用element表格合并后,发现鼠标只有移入第一个合并行时,合并的部分会高亮,移入其他行,不会高亮,这样效果看起来不是很好.查看了文档也没有直接的解决方法,就通过现有的方法处理了一下,解决了hov ...
- 学习python 3 入门知识
1.安装 http://www.runoob.com/python3/python3-install.html https://www.python.org/ 2.使用 工具一:IDLE IDLE 是 ...
- GoldenGate安装配置
GOLDENGATE安装 1. 下载与数据库对应版本的goldengate安装介质. 2. 创建goldengate系统用户,设置用户环境变量,如果是oracle,建议直接使用oracle作为用户安装 ...