一、使用腾讯云
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开发包
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