Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。
在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求。nginx把所有静态请求自己来处理(这是NGINX的强项)。然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求。
the web client <-> the web server(nginx) <-> the socket <-> uwsgi <-> Django
可见,uwsgi的作用就类似一个桥接器。起到桥梁的作用。Linux的强项是用来做服务器,所以,下面的整个部署过程我们选择在Ubuntu下完成。本次使用的是Ubuntu14.04,32位系统。
1、进行Ubuntu系统更新和依赖软件安装
sudo apt-get update
sudo apt-get upgrade
2、ubuntu安装python3的python-pip,python-pip默认是2.6版本的,如果要安装python3的需要通过下面的命令来安装:
sudo apt-get install python3-pip
安装完PYTHON以后,安装python插件的就可以使用以下命令了!
sudo pip3 install packagename
3、安装Nginx
sudo apt-get install nginx
#查看已安装的nginx版本:nginx -v
#ubantu安装完Nginx后,文件结构大致为:
#所有的配置文件都在 /etc/nginx下;
#启动程序文件在 /usr/sbin/nginx下;
#日志文件在 /var/log/nginx/下,分别是access.log和error.log;
#并且在 /etc/init.d下创建了启动脚本nginx。
#sudo /etc/init.d/nginx start # 启动
#sudo /etc/init.d/nginx stop # 停止
#sudo /etc/init.d/nginx restart # 重启
4、安装mysql和简单操作
sudo apt-get install mysql-server
apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
登陆mysql数据库可以通过如下命令:
mysql -u root -p
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
sudo apt-get install python-mysqldb
5、安装uwsgi
用python的pip安装最简单:
apt-get install python-dev #不安装这个,下面的安装可能会失败
pip3 install uwsgi
#查看已安装的uwsgi版本:uwsgi --version
至于所有的需要的基础包已安装完毕!!!!