导读:很多朋友问到关于linux怎么创建django的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
如何用Nginx部署Django
如果你在windows上开发的django项目。部署的话,需要分三步。
第一步:在linux下下载python用的依赖包,搭建python环境。将windows下的项目复制到linux下,使用django自带服务进行启动。
第二步:下载uwsgi模块并且编写配置文件来替代django自带的服务模块。
第三步:下载nginx包,编译安装。然后创建配置文件,配置nginx启动django项目的信息。然后访问即可。
如何创建一个Django网站
本文演示如何创建一个简单的 django 网站,使用的 django 版本为1.7。
1. 创建项目
运行下面命令就可以创建一个 django 项目,项目名称叫 mysite :
$ django-admin.py startproject mysite
创建后的项目目录如下:
mysite
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
1 directory, 5 files
说明:
__init__.py :让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。 这是一个空文件,一般你不需要修改它。
manage.py :一种命令行工具,允许你以多种方式与该 Django 项目进行交互。 键入python manage.py help,看一下它能做什么。 你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。
settings.py :该 Django 项目的设置或配置。
urls.py:Django项目的URL路由设置。目前,它是空的。
wsgi.py:WSGI web 应用服务器的配置文件。更多细节,查看 How to deploy with WSGI
接下来,你可以修改 settings.py 文件,例如:修改 LANGUAGE_CODE、设置时区 TIME_ZONE
如何在Linux上使用Nginx和Gunicorn托管Django应用
apt-get
服务器拿到手后第一件事就是更新apt-get,要换源什么的自己搜一大堆。之前因为系统不小心选成了Ubuntu 10.04了,遇到一大堆问题,后来换到12.04一切顺利。
apt-get update
pip
pip还是建议更换源,速度是飞一般的感觉。具体方法可以看看我之前介绍的那篇文章《Pythoner的福利,豆瓣的PyPI源》
sudo apt-get install python-pip
Django
Django不用说肯定是用pip装,我一般是用的最新版,这样就可以了。
sudo pip install django
Nginx
首先给默认的Nginx配置备个份,这是好习惯。目录位于/etc/nginx/sites-available/default
cp /etc/nginx/sites-available/default default.bak
然后Vim编辑
vim /etc/nginx/sites-available/default
server {
listen 80;
server_name ;
access_log /var/log/nginx/isaced.log;
location / {
proxy_pass ;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /static/ {
root /data/isaced; #Django项目所在目录
}
以上是最简单的Nginx配置,目的是为能跑起来就行,更多其他详细配置还请参照其他文章。
Gunicorn
Gunicorn是一个朋友(CloverStd)推荐的,一个开源Python WSGI UNIX的HTTP服务器,Github仓库地址在这,传说速度快(配置快、运行快)、简单,默认是同步工作,支持Gevent、Eventlet异步,支持Tornado,官方有很详细的文档可以参阅。
需要在你的Django项目的settings.py中的INSTALLED_APPS加入:gunicorn
gunicorn --worker-class=gevent isaced.wsgi:application
--worker-class
指定工作方式,这里我用的gevent
如果提示You need gevent installed to use this worker则表示你还没有安装gevent。
isaced.wsgi:application
这里是指你的项目名,在Django创建项目的时候会自动生成对应名字文件夹中的wsgi.py,这里就是指的它。
###nohup
nohup是一个Linux命令,用来不挂断地运行某条命令。这里我们用它来执行gunicorn,来保持gunicorn进程不会被挂断。
nohup gunicorn --worker-class=gevent NSLoger.wsgi:application -b 127.0.0.1:8000
--worker-class来指定工作方式为gevent,-b指定地址和端口号。
注意:在尾部加上(and)字符表示后台运行
执行这条命令后可以用ps命令查看进程,就能看到gunicorn了~
Start
好了,以上就是整个服务器的配置了。然后我们重启下Nginx,刷新页面就能看到你的Django App了。
sudo service nginx restart
我有个linux的虚拟主机,我想运行django网站,怎么办?
我是linux主机,我这样在本地运行django
1 在终端进入django项目的文件夹,是有manage.py的那个目录
2 然后运行 python manage.py runserver
就可以跑起来了
【踩坑】linux安装配置django环境踩坑记
linux默认是有python2的,但我又安装了python3,django是在python3的lib里,所以执行django-admin.py startproject learn,调用的python环境是python2的,所以找不到core.management。
阿里云自带的centos的sqlite版本低了
未知
使用 python -m pip 代替
未知
从./configure这一步开始重新安装python
可以用命令杀掉这个端口在重启:
vi 到具体文件,执行替换命令:
结语:以上就是首席CTO笔记为大家介绍的关于linux怎么创建django的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。