1. 程式人生 > >Django邊學邊做(三)

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編譯器 解決:安裝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