Django边学边做(三)

一、使用腾讯云

1、购买腾讯云主机:https://console.qcloud.com/cvm
2、在腾讯注册域名:https://console.qcloud.com/domain/mydomain

这里是使用的体验版,Cent OS 7.2 64位

二、登录云主机

参考文档:https://www.qcloud.com/doc/product/213
其中的快速入门Windows云服务器和快速入门Linux云服务器两小节。

三、在云主机上部署环境

1、安装pip

yum install pip

2、安装virtualenv

pip install virtualenv 

3、安装uWSGI、nginx和Django

参考文档:https://uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html

问题一: Exception: you need a C compiler to builduWSGI
解决:安装C编译器
yum install -y gcc gcc-c++
问题二: fatal error: Python.h: No such file or directory
解决:安装python开发包
yum install python-devel

4、Django的工程初始化

参考文档:https://docs.djangoproject.com/en/1.10/intro/tutorial01/
django-admin startproject mysite

生成的工程目录如下:
mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

在最上层mysite添加目录media和static,在setting.py中添加:
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
ALLOWED_HOSTS = [u'60.205.231.92']

在命令行中执行
python manage.py collectstatic

5、uWSGI配置

在mysite/mysite目录下新增文件uwsgi9191.ini(命名按自己的需求来)
[uwsgi]
socket = 127.0.0.1:3031
chdir = /root/website/mysite/
pythonpath = ..
env = DJANGO_SETTINGS_MODULE=myproject.settings
wsgi-file = mysite/wsgi.py
processes = 4
threads = 2
stats = 127.0.0.1:9191

参考文档:http://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html,https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/uwsgi/

6、nginx配置

使用nginx -h查看帮助,有默认的配置目录,本环境中是/etc/nginx/nginx.conf,http块下增加如下内容
upstream django {
    server 127.0.0.1:3031;
}
这个是django的uWSGI的接口,IP和端口要和uWSGI中的socket相同

server块下增加如下内容
location /media {
    alias    /root/website/mysite/media;
}

location /static {
    alias    /root/website/mysite/static;
}

location / {
    include    uwsgi_params;
    uwsgi_pass    django;
}


7、启动各项服务

nginx -s reload
wsgi --ini mysite/uwsgi9191.ini
python manage.py runserver

如果nginx没有启动,则直接命令行输入nginx启动

四、腾讯云绑定域名

https://console.qcloud.com/domain/mydomain
点“解析”按钮

五、MAC上用SSH连接云主机

参考此文章:http://chaishiwei.com/blog/926.html


你可能感兴趣的:(python-django,python)