第一次把django项目部署到云服务器,为的是想快速看下远程访问效果,却意想不到踩中了好多坑
说明一下,用于生产的项目推荐使用nginx+uWSGI+virtualenv+django的,本文只是说明真实生产的其中一步,将django代码快速部署到服务器并测试是否可以远程访问。
开发环境:python3.5.4+django2.2.10
1.在阿里云租用云服务器,选择镜像Ubuntu16.04(预装了python2.7.12和python3.5.2)
2.为了解决python2带来的不必要的麻烦,先使用命令,将默认改为python3
sudo rm /usr/bin/python sudo ln -s /usr/bin/python3.5 /usr/bin/python
3.安装包管理工具,方便管理
sudo apt-get install python3-pip
安装pip之后可能会升级,按提示升级一下就可以了
4.pip安装virtualenv
pip install virtualenv
5.将项目移动到服务器的/var/www
6.在/var/www里面创建一个虚拟环境kvnv
virtualenv kvenv
7.使用命令进入虚拟环境
source kvenv/bin/activate
命令行前面会出现(venv)说明我们正在虚拟环境里运行
8.在虚拟环境中安装django和其他依赖的包
pip install django==2.2.10
9.还是在虚拟环境中,进入项目,用vim修改settings.py
修改配置,允许其他ip访问
ALLOWED_HOSTS = ['*']
10.回到项目,在虚拟环境中使用命令
python manage.py runserver 0.0.0.0:80
11.用自己的电脑访问服务器公网ip即可看到django项目能在服务器的环境下正常运行。