第一次把django项目部署到云服务器,为的是想快速看下远程访问效果,却意想不到踩中了好多坑

说明一下,用于生产的项目推荐使用nginx+uWSGI+virtualenv+django的,原因如下:

https://www.cnblogs.com/duanlinxiao/p/10395946.html 

本文只是说明真实生产的其中一步,将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

django部署到服务器使用manage.py runserver简单测试

 

 

 命令行前面会出现(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项目能在服务器的环境下正常运行。

django部署到服务器使用manage.py runserver简单测试