Ubuntu15.04上部署python3.4+django1.8.8+mysql5.7+uwsgi+nginx

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu15.04上部署python3.4+django1.8.8+mysql5.7+uwsgi+nginx相关的知识,希望对你有一定的参考价值。

经过无数的百度,花了一天的时间,艰难的把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

以上是关于Ubuntu15.04上部署python3.4+django1.8.8+mysql5.7+uwsgi+nginx的主要内容,如果未能解决你的问题,请参考以下文章

MariaDB 没有在 Ubuntu 15.04 上检查密码

在 ubuntu 15.04 上安装 android studio 期间无法运行 mksdcard 工具

链接器错误,在 ubuntu 15.04 上使用 OpenCV 和 Eclipse CDT

我从源代码安装了 GCC 5.2,但我不知道如何在 Ubuntu 15.04 上卸载它

CentOS 7 / Ubuntu 15.04 上安装 PHP Laravel 过程详解

Ubuntu 15.04 + CUDA7.5 + Caffe 配置笔记