Django部署

1. 域名购买

国内推荐阿里云域名

优势:阿里云购买可以在一个平台搞定域名、主机等各种服务,适合长期在国内并把服务架设到国内的个人。 劣势:所有域名网站都需要备案,备案比较麻烦,且周期大概在15天到一个月。但是比国外买域名在国内备案稍微简单一些。

国外推荐godaddy

链接显示的是新加坡主站,也可以选择其他国际站点。

优势:在国外用比较方便,结合国外的服务器,不需要备案可以直接上线,操作起来更方便,可以随时购买随时使用。 劣势:最好有信用卡,支付起来会比较方便。如果想在国内使用,备案会比较复杂。

2. 服务器购买

国内推荐: 阿里云服务器

可以作为第一选择

注册登陆后,进入控制台,在ecs中购买

如果只使用django和mysql的话,直接使用1v1G的服务器足够使用。带宽选择1M的限额带宽。足够平时的小型网站使用

AWS:

如果买国外的域名可以直接使用AWS进行部署,这样就都不需要国内的备案。建议在国外长待的可以使用这种方式。如果主要访问为国内用户的话,AWS会出现国内访问较慢,以及时常的国内访问抽风的情况。

AWS的服务器的优势是使用最小配置,需要绑定信用卡,绑定信用卡首年免费。

Heroku:

heroku采用容器模型进行配置,是国外现在非常流行的方式。

域名备案

以下以阿里云模式作为介绍

在国内的所有网站都需要做域名备案,在阿里鱼的备案中心可以直接做备案。

-w1279

我们可以使用个人性质进行备案。需要使用身份证进行备案。

-w1032

备案后需要上传个人手持身份证照片和备案背景墙照片。

服务器配置

整体配置架构

在服务器端部署和安装涉及到Nginx、uWSGI、python、django、mysql、Git等环境。

登陆服务器

登陆阿里云控制台可以看到我们的ecs服务器。也可以看到公网

-w1024

使用ssh访问

python的安装

Ubuntu默认安装了python2.7和python3.6,可以在命令控制台使用python测试相应的版本。 -w324

mysql的安装

后台使用mysql。所以我们需要安装mysql

安装前执行apt-get update来更新服务器包配置

安装 mysql 服务

mysql的默认安装是不带密码的,所以可以直接登陆进去,这时我们需要给默认的root用户带上密码,减少安全隐患和方便后续登陆。

设置root账号的密码:

直接在控制台输入mysql进入mysql 管理控制台

修改了密码之后,登陆方式需要修改成

默认的mysql为了安全起见是不配置远程登陆的,但是我们在开发等环境时往往需要使用远程登陆,所以我们可以配置mysql的远程连接。

最后使用navicat 测试登陆mysql

-w502

Git的安装和配置

安装virtualenv

最后在数据库中就可以看到这些文件了

-w320

最后可以使用python manage.py runserver 来启动测试

生成static文件

在settings.py中添加配置 STATIC_ROOT = 'static/'

再执行python3 manage.py collectstatic 来生成静态文件

配置nginx

配置uwsgi 创建uwsgi_youyulab.ini文件

启动uwsgi

可以通过日志查看启动日志信息

设置nginx配置文件:

vi /etc/nginx/conf.d/youyulab.conf

这些生成后配置域名解析

-w1032

完成后等待配置完毕,访问即可。

直接访问会出现如下问题,是由于没有加入到allowed_hosts中的原因。

修改如下

修改django的 settings.py文件

重启uwsgi即可

Last updated

Was this helpful?