最近尝试接触了下Python的Web开发,总体而言很方便,不过得多查帮助文档,我也是简单的学习了下,并没有过多深入,下面我将从搭建到一些简单编写都记录下来以便以后查看。
首先我选择的环境是:Nginx、uwsgi、Django,依然是在我的Archlinux下,Nginx是现成的,只需要安装后两个软件即可。
Django的安装很简单,只需要下载软件包,解压然后执行:
python setup.py install
uwsgi的安装执行:
pacman -S uwsgi uwsgi-plugin-python2
注意一下包名即可,首先配置Nginx:
location /djweb/ {
root /srv/http/djsite;
index index.html index.htm;
include uwsgi_params;
uwsgi_pass 127.0.0.1:9001;
}
由于我装在子目录中,所以得这样写,各位自己修改一下(在这里说明一下Django安装到子目录,在使用Nginx的时候会出现路径问题,需修改Django项目配置文件)。
配置uwsgi则较为麻烦一点,我也是琢磨了一段时间才解决,首先建立/etc/uwsgi/目录,然后在其中建立一个djweb.ini文件(文件名需要跟后面的命令一致),内容为:
socket = 127.0.0.1:9001
chdir = /srv/http/djweb
module = main
plugins = python2
chdir = /srv/http/djweb
wsgi-file = /srv/http/djweb/djweb/wsgi.py
这里需要注意一下socket需跟"Nginx"配置一致,"chdir"和"wsgi-file"为Django的项目目录,我这里还没有,准备在后面建立。
Django生成项目和应用:
$ cd /srv/http/
$ django-admin.py startproject djweb
$ django-admin.py startapp blog
这样会自动生成/srv/http/djweb目录以及其下的文件,这些都需要跟上面的配置一致。
配置好之后即可启动uwsgi和重启Nginx:
systemctl restart nginx
systemctl start uwsgi@djweb
刚刚说了djweb.ini文件名需跟上述命令中部分一致才可以,以上就配置好环境了,但是现在还需要修改Django项目的配置信息才能让其顺利跑起来:
- 修改djweb/djweb/settings.py中的"INSTALLED_APPS",添加上"‘blog’,"(注意逗号分隔)。
- 修改djweb/djweb/urls.py中的"urlpatterns",添加"url(r’^djweb/index/$’,‘index’),"(这里djweb为子目录站点)。
- 编辑djweb/blog/views.py,添加下面内容。
from django.http import HttpResponse
def index(req):
return HttpResponse('Hello World')
最后访问:http://localhost/djweb/blog/index/查看是否可以显示内容。
写在结尾:这篇文章是在学习之后总结出来的,其中难免会出现一些疏漏,如有问题,请留言提醒。
没有评论:
发表评论