python之Django部署

Django部署:
1. 租云服务器

2. 买服务器

租:公网IP,111.13.101.208
租域名:www.pythonav.com <-> 111.13.101.208

3. 编写代码

4. 拷贝代码到服务器[Python,Django,pymysql,sqllite]

5.
settings.py
ALLOWED_HOSTS = [‘服务器‘,]  # 即网站IP

python manage.py runserver 0.0.0.0:8001

使用:
遵循wsig协议:
wsgiref

6. uwsgi
pip3 intall uwsgi

简单测试:
app.py
def application(env, start_response):
start_response(‘200 OK‘, [(‘Content-Type‘,‘text/html‘)])
return [b"Hello World"]

uwsgi --http :9001 --wsgi-file app.py

uwsgi --http :9002 --wsgi-file foobar.py --master --processes 4 --threads 2  (foobar为django wsgi.py路径, 后面为4进程 2线程)

Django:

# 不处理静态文件
uwsgi --http :9002 --chdir /data/s4/deploy --wsgi-file deploy/wsgi.py --master --processes 4 --threads 2

首先settings写好静态文件路径
STATICFILES_DIRS = (
os.path.join(BASE_DIR,‘static‘),
)
STATIC_ROOT = os.path.join(BASE_DIR,‘uuuuuu‘)

python manage.py collectstatic (这个命令将上面所有路径下的静态文件收集到指定文件夹 即uuuuuu)

完事,注释静态配置

# 处理静态文件
uwsgi --http :9003 --chdir /data/s4/deploy --wsgi-file deploy/wsgi.py --static-map /static=/data/s4/deploy/uuuuuu

# 写一个配置文件
wsgi_http.ini
[uwsgi]
http = 0.0.0.0:9004
chdir = /data/s4/deploy
wsgi-file = deploy/wsgi.py
# processes = 4
# threads = 2
static-map = /static=/data/s4/deploy/uuuuuu
uwsgi wsgi_http.ini

7. Nginx

yum install nginx

/etc/init.d/nginx start/stop/restart

/etc/nginx/nginx.conf

其中 server后应写 uwsgi的启动端口,即Nginx将请求转交给uwsgi uwsgi交给Django处理,获取结果再交给Nginx返回给客户。

static 为静态文件路径

此时uwsgi的配置文件应修改为连接方式:

http = 0.0.0.0:9004  改为 socket = 127.0.0.1:8001  其余不变

用户请求通过Nginx默认监听的80端口,Nginx再判断请求信息,如处理动态请求则向uwsgi的8001端口发送,处理完后再返回给Nginx交给用户。

lsof -i:端口 可以查看端口是否被使用

如果出错 应设置selinux

vim /etc/selinux/config

将SELINUX设置成disabled

时间: 2024-08-28 23:33:10

python之Django部署的相关文章

【python】Django web项目部署(Nginx+uwsgi)

一.安装uwsgi 通过pip安装uwsgi. pip install uwsgi 测试uwsgi,创建test.py文件: def application(env, start_response):     start_response('200 OK', [('Content-Type','text/html')])     return [b"Hello World"] 通过uwsgi运行该文件. uwsgi --http :8001 --wsgi-file test.py 常用

学习猿地 python教程 django教程8 Django部署(Apache)

# Django部署\(Apache\) > 在前面的章节中我们使用**python3 manage.py runserver**来运行服务器.这只适用测试环境中使用. > > 正式发布的服务,我们需要一个可以稳定而持续的服务器,比如Apache, Nginx, IIS等,本文将以 Apache为例. > > 使用[Apache](https://httpd.apache.org/)和[mod\_wsgi](http://www.modwsgi.org/)部署Django 是

Django部署:Django+gunicorn+Nginx环境的搭建

本人的服务器环境为Ubuntu14.04,使用的是Python3.4版本,并且安装有pip(Ubuntu中Python3配合的是pip3),并且以管理员身份运行,如果是普通用户,请切换管理员权限(sudo). 一.gunicorn和nginx的简介 gunicorn需要搭配nginx使用,那么两者的作用到底是什么. 1.gunicorn简介:gunicorn是一个Python WSGI UNIX服务器.WSGI(Web Server Gateway Interface)是Web服务网关接口,位于

django部署到apache上(非常重要的,3者版本要一致,是32位就都要是32位的)

网上把django部署到apache的文章挺多的,但是按照大家的操作,并没有一次就成功,还是遇到了一些问题,这里主要有以下几个情况. 1.网上找到的mod_wsgi的版本问题,导致动态库加载不上. 2.配置问题,因为涉及到apache.Python和mod_wsgi的版本,所以配置上可能也不太一样. 这里我把我遇到的问题和解决方案比较详细的写下来.失败经历可跳过. 失败经历 我的环境是python2.7.11 64位版本,apache我选择的是2.4.20x 64位版本,这里有一点必须要保证的是

Django 部署 uwsgi + nginx + supervisor

Django 部署 uwsgi + nginx + supervisor https://hacpai.com/article/1460607620615?p=1&m=0 zonghua ? 6 个月前 ? 浏览 1.7K ? 回帖 15Python  Django  uwsgi  NGINX 更新依赖 pip install uwsgi 编辑配置文件 uwsgi.ini [uwsgi] # Django-related settings chdir = /home/zonghua/Docume

django部署到apache上

网上把django部署到apache的文章挺多的,但是按照大家的操作,并没有一次就成功,还是遇到了一些问题,这里主要有以下几个情况. 1.网上找到的mod_wsgi的版本问题,导致动态库加载不上. 2.配置问题,因为涉及到apache.python和mod_wsgi的版本,所以配置上可能也不太一样. 这里我把我遇到的问题和解决方案比较详细的写下来.失败经历可跳过. 失败经历 我的环境是python2.7.11 64位版本,apache我选择的是2.4.20x 64位版本,这里有一点必须要保证的是

django 部署,gunicorn、virtualenv、nginx

声明: 1.本篇文章是我边写命令边写的,请尊重我的劳动成果,转载请加上链接. 2.我既然公开写出来,是希望大家遇到问题的时候有个参考,所以,大家可以免费转载,使用该文章 3.但是,如果你要用这篇文章来赚钱,sorry,你至少得分我点吧. 使用gunicorn 来部署django django写代码简单,但部署是个难题,今天终于发现gunicorn 这个好东西,与大家一起分享. 环境:ubuntu 14.04 64bit + django 1.6.5 + virtualenv + gunicorn

nginx+uwsgi+django部署流程

当我们在用django开发的web项目时,开发测试过程中用到的是django自带的测试服务器,由于其安全及稳定等性能方面的局限性,django官方并不建议将测试服务器用在实际生产. nginx+uwsgi+django是我们常用的django部署方式.nginx作为最前端的服务器,他负责接收所有的客户端请求,对于请求的静态文件,由nginx服务器自己完成,因为它具有很好处理静态文件的能力,性能进行过优化,支持高并发量:uWSGI服务器作为支持服务器,是用来服务nginx的,nginx将请求的动态

Django部署

前段时间,由于实验室项目的需要,要搭建一个web服务器,可怜我只会写python,所以就去研究了一下Django.学习Django是一个愉快的过程,本来就该如此嘛,Python提倡INTERESTING TO CODE,所以很快,我就完成了Django的本地部署,然而在把Django搭到服务器上的是,却是让我捣鼓了一个星期,真真是把我坑苦了. 1.我的环境 在把Django搭建到Apache上时候,首先你需要明确你使用的Django和Apache的版本,嗯,还有Python的版本(这很重要)!