经过无数的百度,花了一天的时间,艰难的把django项目给部署到了Ubuntu15.04上。废话少说了,直接贴上部署步骤:
一、python安装
1、www.python.org下载
如下载的为 Python-3.4.3.tar.xz
2、解压:
[email protected]:/home/dodo/Downloads/# xz -d Python-3.4.3.tar.xz命令后得到Python-3.4.3.tar
[email protected]:/home/dodo/Downloads/# tar xvf Python-3.4.3.tar的到Python-3.4.3
[email protected]:/home/dodo/Downloads/Python-3.4.3# .configure
[email protected]:/home/dodo/Downloads/Python-3.4.3# make
[email protected]:/home/dodo/Downloads/Python-3.4.3# make install
备份原版本:
[email protected]:/home/dodo/Downloads/Python-3.4.3# mv /usr/bin/python /usr/bin/python-2.7.9.bak
链接新版本
[email protected]:/home/dodo/Downloads/Python-3.4.3# ln -sf /usr/bin/python3 /usr/bin/python
[email protected]:/home/dodo/Downloads/Python-3.4.3# python -V
查看版本号为更新版本:Python 3.4.3
二、django安装
$sudo apt-get install django==1.8.8
三、Nginx安装:
方法一、$sudo apt-get install nginx
方法二(推荐)、
3.1安装pcre
1. 获取pcre编译安装包,在http://www.pcre.org/上可以获取当前最新的版本
2. 解压缩pcre-8.38.tar.bz2包。
3. 进入解压缩目录,执行./configure。
4. make & make install
3.2 安装openssl
1. 获取openssl编译安装包,在http://www.openssl.org/source/上可以获取当前最新的版本。
2. 解压缩openssl-xx.tar.gz包。
3. 进入解压缩目录,执行./config。
4. make & make install
3.3 安装zlib
1. 获取zlib编译安装包,在http://www.zlib.net/上可以获取当前最新的版本。
2. 解压缩zlib-xx.tar.gz包。
3. 进入解压缩目录,执行./configure。
4. make & make install
3.4 安装nginx
1. 获取nginx,在http://nginx.org/en/download.html上可以获取当前最新的版本。
2. 解压缩nginx-xx.tar.gz包。
3. 进入解压缩目录,执行./configure
4. make & make install
$service nginx start
打开IE可以welcome to nginx!
四、mysql5.7安装
http://dev.mysql.com/downloads/repo/apt/下载mysql-apt-config_0.6.0-1_all.deb
$sudo dpkg –i mysql-apt-config_0.6.0-1_all.deb
选择mysql5.7
$sudo apt-get update
$ sudo apt-get install mysql-server mysql-client
$mysql –u root –p
新建数据库:
$mysql>CREATE DATABASE expressway DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
新建db用户及授权:
mysql>create user ‘dodo’@’localhost’ identified by ‘dodo1983’
mysql>grant all on expressway.* to ‘dodo’@’localhost’;
五、mysql-connector安装
$sudo apt-get install mysql.connector
六、UWSGI安装及配置
1.安装uwsgi
$sudo apt-get install uwsgi
2. 用uwsgi代替mod_wsgi
Nginx的整体配置说来话长,这里不再多说,假设已经明白Nginx的基本配置,那么uwsgi就类似这么配置:
1. location / {
2. include uwsgi_params
3. uwsgi_pass 127.0.0.1:9090
4. }
然后运行uwsgi监听9090,其中-w后跟模块名,也就是django配置的myapp.wsgi
1. uwsgi -s :9090 -w expressway.wsgi
运行网站发现已经部署完成了。
3.uwsgi的参数
以上是单个project的最简单化部署,uwsgi还是有很多令人称赞的功能的,例如:
并发4个线程:
1. uwsgi -s :9090 -w expressway.wsgi -p 4
主控制线程+4个线程:
1. uwsgi -s :9090 -w expressway.wsgi -M -p 4
执行超过30秒的client直接放弃:
1. uwsgi -s :9090 -w expressway.wsgi -M -p 4 -t 30
限制内存空间128M:
1. uwsgi -s :9090 -w expressway.wsgi -M -p 4 -t 30 --limit-as 128
服务超过10000个req自动respawn:
1. uwsgi -s :9090 -w expressway.wsgi -M -p 4 -t 30 --limit-as 128 -R 10000
后台运行等:
1. uwsgi -s :9090 -w expressway.wsgi -M -p 4 -t 30 --limit-as 128 -R 10000 -d uwsgi.log
七、导入sql数据:
$mysql –u root –p
$mysql>use expressway;
$mysql>source /home/dodo/back.sql