2024-09-15 10:34:21
导读:很多朋友问到关于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.pystartprojectmysite
创建后的项目目录如下:
mysite
├──manage.py
└──mysite
├──__init__.py
├──settings.py
├──urls.py
└──wsgi.py
1directory,5files
说明:
__init__.py:让Python把该目录当成一个开发包(即一组模块)所需的文件。这是一个空文件,一般你不需要修改它。
manage.py:一种命令行工具,允许你以多种方式与该Django项目进行交互。键入pythonmanage.pyhelp,看一下它能做什么。你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。
settings.py:该Django项目的设置或配置。
urls.py:Django项目的URL路由设置。目前,它是空的。
wsgi.py:WSGIweb应用服务器的配置文件。更多细节,查看HowtodeploywithWSGI
接下来,你可以修改settings.py文件,例如:修改LANGUAGE_CODE、设置时区TIME_ZONE
如何在Linux上使用Nginx和Gunicorn托管Django应用apt-get
服务器拿到手后第一件事就是更新apt-get,要换源什么的自己搜一大堆。之前因为系统不小心选成了Ubuntu10.04了,遇到一大堆问题,后来换到12.04一切顺利。
apt-getupdate
pip
pip还是建议更换源,速度是飞一般的感觉。具体方法可以看看我之前介绍的那篇文章《Pythoner的福利,豆瓣的PyPI源》
sudoapt-getinstallpython-pip
Django
Django不用说肯定是用pip装,我一般是用的最新版,这样就可以了。
sudopipinstalldjango
Nginx
首先给默认的Nginx配置备个份,这是好习惯。目录位于/etc/nginx/sites-available/default
cp/etc/nginx/sites-available/defaultdefault.bak
然后Vim编辑
vim/etc/nginx/sites-available/default
server{
listen80;
server_name;
access_log/var/log/nginx/isaced.log;
location/{
proxy_pass;
proxy_set_headerHost$host;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
}
location/static/{
root/data/isaced;#Django项目所在目录
}
以上是最简单的Nginx配置,目的是为能跑起来就行,更多其他详细配置还请参照其他文章。
Gunicorn
Gunicorn是一个朋友(CloverStd)推荐的,一个开源PythonWSGIUNIX的HTTP服务器,Github仓库地址在这,传说速度快(配置快、运行快)、简单,默认是同步工作,支持Gevent、Eventlet异步,支持Tornado,官方有很详细的文档可以参阅。
需要在你的Django项目的settings.py中的INSTALLED_APPS加入:gunicorn
gunicorn--worker-class=geventisaced.wsgi:application
--worker-class
指定工作方式,这里我用的gevent
如果提示Youneedgeventinstalledtousethisworker则表示你还没有安装gevent。
isaced.wsgi:application
这里是指你的项目名,在Django创建项目的时候会自动生成对应名字文件夹中的wsgi.py,这里就是指的它。
###nohup
nohup是一个Linux命令,用来不挂断地运行某条命令。这里我们用它来执行gunicorn,来保持gunicorn进程不会被挂断。
nohupgunicorn--worker-class=geventNSLoger.wsgi:application-b127.0.0.1:8000
--worker-class来指定工作方式为gevent,-b指定地址和端口号。
注意:在尾部加上(and)字符表示后台运行
执行这条命令后可以用ps命令查看进程,就能看到gunicorn了~
Start
好了,以上就是整个服务器的配置了。然后我们重启下Nginx,刷新页面就能看到你的DjangoApp了。
sudoservicenginxrestart
我有个linux的虚拟主机,我想运行django网站,怎么办?我是linux主机,我这样在本地运行django
1在终端进入django项目的文件夹,是有manage.py的那个目录
2然后运行pythonmanage.pyrunserver
就可以跑起来了
【踩坑】linux安装配置django环境踩坑记linux默认是有python2的,但我又安装了python3,django是在python3的lib里,所以执行django-admin.pystartprojectlearn,调用的python环境是python2的,所以找不到core.management。
阿里云自带的centos的sqlite版本低了
未知
使用python-mpip代替
未知
从./configure这一步开始重新安装python
可以用命令杀掉这个端口在重启:
vi到具体文件,执行替换命令:
结语:以上就是首席CTO笔记为大家介绍的关于linux怎么创建django的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。