1.安装 django
安装 pip
sudo apt install python-pip -y
使用 pip 安装 django
sudo pip install django
2.创建 Hello World 应用并启动 Web 服务器
创建项目
cd /data sudo django-admin startproject helloworld修改配置文件
修改 /data/helloworld/helloworld/settings.py 文件权限为其它人可写
sudo chmod 666 /data/helloworld/helloworld/settings.py
编辑 /data/helloworld/helloworld/settings.p
将
ALLOWED_HOSTS = []
修改为
ALLOWED_HOSTS = ["119.29.186.181"]
,这样可以允许通过 ip 访问
在实际运营中一般要改为对应的域名
启动 django 自带的 Web 服务器
启动 django 自带的 Web 服务器
cd helloworld sudo python manage.py runserver 0.0.0.0:8080使用浏览器访问
http://119.29.186.181:8080/
看到如下页面,表示 django 服务已经部署成功
3.创建简单的页面
关闭 Web 服务器
按 Ctrl + C
关闭 Web 服务器
扫描二维码关注公众号,回复:
718864 查看本文章
创建 views.py
创建文件 /data/helloworld/helloworld/views.py ,并修改权限为其它人可写sudo touch /data/helloworld/helloworld/views.py sudo chmod 666 /data/helloworld/helloworld/views.py
添加视图函数
编辑 /data/helloworld/helloworld/views.py
添加如下内容:
# -*- coding: utf-8 -*- from django.http.response import HttpResponse def hello(request): user = request.GET.get('user') if not user: user = 'world' return HttpResponse('hello %s' % user)
修改 urls.py 文件权限
修改 /data/helloworld/helloworld/urls.py 文件权限为其它人可写
sudo chmod 666 /data/helloworld/helloworld/urls.py
添加路由配置
编辑 /data/helloworld/helloworld/urls.py
将
urlpatterns = [ url(r'^admin/', admin.site.urls), ]
修改为
import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^hello', views.hello), ]
测试 url 访问是否正常
再次启动 Web 服务器
sudo python manage.py runserver 0.0.0.0:8080
使用浏览器访问下面两个 url
http://119.29.186.181:8080/hello http://119.29.186.181:8080/hello?user=test
关闭 Web 服务器
按 Ctrl + C
停止 Web 服务器
4.部署 uwsgi 和 nginx
使用 pip 安装 uwsgi
sudo pip install uwsgi配置 uwsgi
创建文件 /data/helloworld/uwsgi.ini ,并修改权限为其它人可写
sudo touch /data/helloworld/uwsgi.ini sudo chmod 666 /data/helloworld/uwsgi.ini
编辑 /data/helloworld/uwsgi.ini输入以下内容,并保存
[uwsgi] chdir = /data/helloworld module = helloworld.wsgi socket = 127.0.0.1:8080 master = true vhost = true no-site = true workers = 2 reload-mercy = 10 vacuum = true max-requests = 1000 limit-as = 512 buffer-size = 30000 pidfile = /tmp/uwsgi.pid daemonize = /tmp/uwsgi.log启动 uwsgi
export PYTHONPATH=/usr/local/lib/python2.7/dist-packages uwsgi --ini /data/helloworld/uwsgi.ini安装 nginx
export PYTHONPATH=/usr/local/lib/python2.7/dist-packages uwsgi --ini /data/helloworld/uwsgi.ini添加 nginx 配置文件
创建文件 /etc/nginx/sites-enabled/helloworld.conf ,并修改权限为其它人可写
sudo touch /etc/nginx/sites-enabled/helloworld.conf sudo chmod 666 /etc/nginx/sites-enabled/helloworld.conf
编辑 /etc/nginx/sites-enabled/helloworld.conf
输入以下内容,并保存
输入以下内容,并保存
server { listen 80; server_name 119.29.186.181; charset utf-8; location / { uwsgi_pass 127.0.0.1:8080; include /etc/nginx/uwsgi_params; client_max_body_size 10m; } client_body_timeout 3m; send_timeout 3m; proxy_send_timeout 3m; proxy_read_timeout 3m; }重启 nginx 服务
sudo systemctl restart nginx
5.测试 nginx + uwsgi + django 是否工作正常
测试页面是否能够正常访问
使用浏览器测试下面的 url 是否可以正常访问
http://119.29.186.181/hello
大功告成
恭喜!您已成功完成了搭建 django 站点的实验任务。