1.安装Python3

1.1先安装zlib库及其他三方库

安装uWSGI时需要使用zlib,否则执行python uwsgiconfig.py --build时会报ImportError,就是因为在安装Python是没有包含zlib的原因,所以在安装最新的Python之间要把zlib安装好,在python2.x上据说是配置时指定--with-zlib选项,因为我使用python3.4,所以没有测试。

下载最新zlib源代码包:http://zlib.net/zlib-1.2.8.tar.gz 
解压缩、编译安装

  1. tar zxf zlib-1.2.8.tar.gz
  2. cd zlib-1.2.8
  3. ./configure
  4. make && make install

默认安装路径为 /usr/local/lib

1.2安装sqlite3
最开始没有手工安装sqlite3,因为系统里有自带的,但是在执行python manage.py runserver 0.0.0.0:8080时报错,说是找不到sqlite3相关的模块,后来通过一番Google,发现可能是Python编译时需要有sqlite3-devel,具体不明。只好先安装最新的sqlite3.8.4,再重新编译安装Python3.4.0,才没有报错。

下载最新sqlite3:http://www.sqlite.org/2014/sqlite-autoconf-3080403.tar.gz

解压缩、编译安装

  1. tar zxf sqlite-autoconf-3080403.tar.gz
  2. cd sqlite-autoconf-3080403
  3. ./configure
  4. make && make install

1.3 Python基本安装

下载最新Python源代码包:https://www.python.org/ftp/python/3.4.0/Python-3.4.0.tar.xz

解压缩、配置编译安装

  1. tar Jxf Python-3.4.0.tar.xz
  2. cd Python-3.4.0
  3. ./configure
  4. make && make install

默认安装在/usr/local/lib/python3.4目录下

2.安装Django框架

下载源码包Django-1.6.1.tar.gz,地址:https://www.djangoproject.com/download/1.6.1/tarball/

解压、安装

  1. tar zxf Django-1.6.1.tar.gz
  2. cd Django-1.6.1
  3. python3 setup.py install

默认Django会安装在/usr/local/lib/python3.4/site-packages/django目录下

如要卸载django,如不知道Python3的安装目录,则使用如下命令确定site-packages的位置
python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
进入site-packages目录直接删除django目录和Django-1.6.1-py3.4.egg-info文件即可

3.安装Nginx服务器
nginx编译安装时需要用pcre库,所以需要先安装pcre
3.1安装pcre库
下载地址:http://jaist.dl.sourceforge.net/project/pcre/pcre/8.34/pcre-8.34.tar.bz2   ——Perl的正则表达式库
解压缩、配置、编译安装

  1. tar jxf pcre-8.34.tar.bz2
  2. cd pcre-8.34
  3. ./configure --enable-utf8
  4. make && make install

默认安装路径为 /usr/local/lib

3.2安装nginx
下载openssl最新的源码:http://www.openssl.org/source/openssl-1.0.1f.tar.gz
解压缩待用,不需要编译,假设解压到/tmp目录

  1. tar zxf openssl-1.0.1f.tar.gz -C /tmp

下载nginx源代码包:http://nginx.org/download/nginx-1.5.8.tar.gz
解压缩、配置编译安装

  1. tar zxf nginx-1.5.8.tar.gz
  2. cd nginx-1.5.8
  3. #配置nginx 开启ssl和gzip
  4. ./configure --with-pcre --with-http_stub_status_module --with-http_ssl_module --with-openssl=/tmp/openssl-1.0.1f --with-http_gzip_static_module --with-http_sub_module --with-cc=/usr/bin/gcc
  5. make && make install

默认安装路径为 /usr/local/nginx
添加libpcre.so.1的连接,否则nginx启动时会报错

  1. #如果是64位系统:
  2. ln -s /usr/local/lib/libpcre.so.1 /lib64
  3.  
  4. #如果是32位系统:
  5. ln -s /usr/local/lib/libpcre.so.1 /lib

启动nginx

  1. /usr/local/nginx/nginx

浏览器中输入服务器IP地址,如有“Welocome to nginx”字样,则表示安装成功
停止nginx服务器

  1. /usr/local/nginx/nginx -s stop

4.安装uWSGI
下载最新的2.0版本,地址:http://projects.unbit.it/downloads/uwsgi-2.0.1.tar.gz
解压、安装

  1. tar zxf uwsgi-2.0.1.tar.gz
  2. cd uwsgi-2.0.1
  3. python3 uwsgiconfig.py --build
  4. python3 uwsgiconfig.py --clean
  5. cd ..
  6. cp -R ./uwsgi-2.0.1 /usr/local/uwsgi
  7. ln -s /usr/local/uwsgi/uwsgi /usr/bin/uwsgi

注意:在任意目录中执行uwsgi时,其默认工作目录为当前目录

5.设置Django+nginx+uWSGI

5.1 使用Django创建实例站点
假设当前目录为/var/www

  1. django-admin.py startproject mysite
  2. cd mysite
  3. python3 manage.py syncdb

根据提示创建sqlite3数据库文件以及相关的表,当然还有超级用户

5.2 配置uWSGI
从https://github.com/nginx/nginx/blob/master/conf/uwsgi_params获取uwsgi的相关参数,保存为/var/www/mysite/uwsgi_params
从/usr/local/nginx/conf中复制亦可
5.2 nginx配置
创建新用户组
groupadd www
新建django目录
mkdir /usr/local/nginx/conf/django
创建新用户
useradd -s /sbin/nologin -g www -N -M nginx 
useradd -s /sbin/nologin -g www -N -M uwsgi
chown -R nginx:www /usr/local/nginx
chown -R uwsgi:www /usr/local/uwsgi

在http配置节中添加
upstream django {
     server unix:///tmp/mysite.sock;
}
server {
     listen             8080;
     server_name  192.168.56.104;
     charset           utf-8;
     client_max_body_size 75M;
     location / {
          uwsgi_pass django;
          include uwsgi_params;
     }
}

nginx如果返回403错误,一般是因为文件系统访问权限问题造成,nginx不仅需要访问资源的可读权限,还需要其全部父目录的可执行权限.

以上里面漏写了uwsgi的启动

CentOS 6.5下安装Python+Django+Nginx+uWSGI的更多相关文章

  1. Install Python+Django+Nginx+UWSGI

    一.软件环境: CentOS6.6_64bit 需要用到的软件: [root@django tools]# ll 总用量 33336 -rw-r--r-- 1 root root 7497785 3月 ...

  2. CentOS 6.5下安装Python 3.5.2(与Python2并存)

    CentOS 6.5下安装Python 3.5.2(与Python2并存) 安装步骤 1,准备编译环境(环境不对,在安装过程中可能遇到各种问题.比如wget无法下载链接的文件) yum groupin ...

  3. 转载:CentOS 6.5下安装Python 3.5.2(与Python2并存)

    原文:https://www.jb51.net/article/115370.htm 这篇文章主要给大家介绍了在CentOS 6.5下安装Python 3.5.2的方法教程,安装后的python3与P ...

  4. python Django Nginx+ uWSGI 安装配置

    环境: CentOS7.python-3.5.3.Nignx 1.10.3 .Django 1.10.6.uWSGI 2.0.14 django项目目录:/var/webRoot/p1 项目结构: 基 ...

  5. Windows 下安装 Python + Django

    Django是Python的一个Web开发框架,以下是介绍的是windows下的安装步骤, 作者的环境是Win10 ,Windows Server 也是一样的 以下是作者整理的步骤,也可以参考官方教程 ...

  6. CentOS 7.4 下安装Epel源和Nginx

    EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL.CentOS和Scientif ...

  7. CentOS 6.8下安装python的redis支持库

    方法很简单,SSH登录下输入: pip install redis 或者 easy_install redis 如果上面的方法不行的话,就要尝试编译安装了 wget https://pypi.pyth ...

  8. CentOS上部署Django+Nginx+Uwsgi环境

    在CentOS上部署Django+Nginx+Uwsgi环境 奇谭  2016-09-01 评论  Linux  python django nginx uwsgi VirtualEnv的作用:创建隔 ...

  9. CentOS系统下安装python3+Django

    转载:CentOS系统下安装python3+Django 1.首先用yum安装下vim,因为CentOS 7可能根本没自带完整vim,经常出现输入乱码:yum -y install vim 2.安装开 ...

随机推荐

  1. url,href,src 之间的区别

    url 统一资源定位符 <style> #bg{ background-image:url("img/bg.png"); } </style> 区别: sr ...

  2. 大爽Python入门教程 3-1 布尔值: True, False

    大爽Python入门公开课教案 点击查看教程总目录 1 布尔值介绍 从判断说起 回顾第一章介绍的简单的判断 >>> x = 10 >>> if x > 5: ...

  3. oracle 与 前台 md5

    创建函数: CREATE OR REPLACE FUNCTION MD5( passwd IN VARCHAR2) RETURN VARCHAR2 IS retval varchar2(32); BE ...

  4. Linux(kali)基础设置

    本笔记的友情链接 常用目录介绍 boot 存放启动文件 dev 存放设备文件 etc 存放配置文件 home 普通用户家目录,以/home/$username的方式存放 media 移动存储自动挂载目 ...

  5. [loj3367]装饼干

    先考虑如何判定一个$y$是否可行--从高位开始,记录这一位所需要的$2^{i}$数量$t$,若$y$的这一位为1,则$t+=x$,之后分两类讨论:1.$t\le a_{i}$,令$t=0$:2.$b& ...

  6. [Git专题] 环境搭建

    环境搭建 在正式使用 Git 之前,首先应当安装 Git 并完成一些基础配置,本章内容就教大家在 Ubuntu 和 CentOS 上安装 Git 的方法. 安装 Git 客户端 如果你使用的是基于 D ...

  7. docker 启动报错:Docker.Core.Backend.BackendException: Error response from daemon: open \\.\pipe\docker_e

    win10 docker启动后报错: Docker.Core.Backend.BackendException:Error response from daemon: open \\.\pipe\do ...

  8. sb 错误

    数组开小.很容易 \(2 \times 10^5\) 或 \(10^6\) 就开成 \(10^5\),或者各种变量的数据范围混用,\(m \leq 5\times 10^5\),结果只开到了 \(n\ ...

  9. Codeforces 575A - Fibonotci

    题面传送门 题意: 给出 \(s_0,s_1,s_2,\dots,s_{n-1}\),对于 \(i\geq n\),有 \(m\) 个 \(s_i\) 满足 \(s_i\neq s_{i\bmod n ...

  10. [转载]CSP-J/S 第一轮知识点选讲

    CSP-J/S 第一轮知识点选讲 转载自这里 感谢原博主的大力整理! 信息学史及基本知识 一.信息学及计算机史 计算机的顶级奖项:图灵奖.冯·诺依曼奖 图灵奖:由ACM(美国计算机协会)设立于1966 ...