Django的安装与服务器的搭建的坑

一、安装uwsgi

直接使用pip安装就可以了,命令如下:

pip install uwsgi

1.可能出现如下异常:

raise Exception("you need a C compiler to build uWSGI")
    Exception: you need a C compiler to build uWSGI

出现以上错误是因为没有c的编译器,解决办法是:

yum install -y gcc gcc-c++ 
[root@VM_153_111_centos SoftWare]# yum install -y gcc gcc-c++  
已加载插件:fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 gcc.x86_64.0.4.8.5-11.el7 将被 安装
--> 正在处理依赖关系 libgomp = 4.8.5-11.el7,它被软件包 gcc-4.8.5-11.el7.x86_64 需要
--> 正在处理依赖关系 cpp = 4.8.5-11.el7,它被软件包 gcc-4.8.5-11.el7.x86_64 需要
--> 正在处理依赖关系 libgcc >= 4.8.5-11.el7,它被软件包 gcc-4.8.5-11.el7.x86_64 需要
--> 正在处理依赖关系 libmpfr.so.4()(64bit),它被软件包 gcc-4.8.5-11.el7.x86_64 需要
--> 正在处理依赖关系 libmpc.so.3()(64bit),它被软件包 gcc-4.8.5-11.el7.x86_64 需要
---> 软件包 gcc-c++.x86_64.0.4.8.5-11.el7 将被 安装
--> 正在处理依赖关系 libstdc++-devel = 4.8.5-11.el7,它被软件包 gcc-c++-4.8.5-11.el7.x86_64 需要
--> 正在处理依赖关系 libstdc++ = 4.8.5-11.el7,它被软件包 gcc-c++-4.8.5-11.el7.x86_64 需要
--> 正在检查事务
---> 软件包 cpp.x86_64.0.4.8.5-11.el7 将被 安装
---> 软件包 libgcc.i686.0.4.8.5-4.el7 将被 升级
---> 软件包 libgcc.x86_64.0.4.8.5-4.el7 将被 升级
---> 软件包 libgcc.i686.0.4.8.5-11.el7 将被 更新
---> 软件包 libgcc.x86_64.0.4.8.5-11.el7 将被 更新
---> 软件包 libgomp.x86_64.0.4.8.5-4.el7 将被 升级
---> 软件包 libgomp.x86_64.0.4.8.5-11.el7 将被 更新
---> 软件包 libmpc.x86_64.0.1.0.1-3.el7 将被 安装
---> 软件包 libstdc++.i686.0.4.8.5-4.el7 将被 升级
---> 软件包 libstdc++.x86_64.0.4.8.5-4.el7 将被 升级
---> 软件包 libstdc++.i686.0.4.8.5-11.el7 将被 更新
---> 软件包 libstdc++.x86_64.0.4.8.5-11.el7 将被 更新
---> 软件包 libstdc++-devel.x86_64.0.4.8.5-11.el7 将被 安装
---> 软件包 mpfr.x86_64.0.3.1.1-4.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================
 Package                 架构           版本                   源          大小
================================================================================
正在安装:
 gcc                     x86_64         4.8.5-11.el7           os          16 M
 gcc-c++                 x86_64         4.8.5-11.el7           os         7.2 M
为依赖而安装:
 cpp                     x86_64         4.8.5-11.el7           os         5.9 M
 libmpc                  x86_64         1.0.1-3.el7            os          51 k
 libstdc++-devel         x86_64         4.8.5-11.el7           os         1.5 M
 mpfr                    x86_64         3.1.1-4.el7            os         203 k
为依赖而更新:
 libgcc                  i686           4.8.5-11.el7           os         104 k
 libgcc                  x86_64         4.8.5-11.el7           os          97 k
 libgomp                 x86_64         4.8.5-11.el7           os         152 k
 libstdc++               i686           4.8.5-11.el7           os         312 k
 libstdc++               x86_64         4.8.5-11.el7           os         300 k

事务概要
================================================================================
安装  2 软件包 (+4 依赖软件包)
升级           ( 5 依赖软件包)

总下载量:32 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/11): gcc-4.8.5-11.el7.x86_64.rpm                        |  16 MB   00:00     
(2/11): gcc-c++-4.8.5-11.el7.x86_64.rpm                    | 7.2 MB   00:00     
(3/11): libgcc-4.8.5-11.el7.i686.rpm                       | 104 kB   00:00     
(4/11): libgcc-4.8.5-11.el7.x86_64.rpm                     |  97 kB   00:00     
(5/11): libgomp-4.8.5-11.el7.x86_64.rpm                    | 152 kB   00:00     
(6/11): cpp-4.8.5-11.el7.x86_64.rpm                        | 5.9 MB   00:00     
(7/11): libmpc-1.0.1-3.el7.x86_64.rpm                      |  51 kB   00:00     
(8/11): libstdc++-4.8.5-11.el7.x86_64.rpm                  | 300 kB   00:00     
(9/11): libstdc++-4.8.5-11.el7.i686.rpm                    | 312 kB   00:00     
(10/11): libstdc++-devel-4.8.5-11.el7.x86_64.rpm           | 1.5 MB   00:00     
(11/11): mpfr-3.1.1-4.el7.x86_64.rpm                       | 203 kB   00:00     
--------------------------------------------------------------------------------
总计                                                42 MB/s |  32 MB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : mpfr-3.1.1-4.el7.x86_64                                    1/16 
  正在安装    : libmpc-1.0.1-3.el7.x86_64                                  2/16 
  正在更新    : libgcc-4.8.5-11.el7.x86_64                                 3/16 
  正在更新    : libstdc++-4.8.5-11.el7.x86_64                              4/16 
  正在安装    : libstdc++-devel-4.8.5-11.el7.x86_64                        5/16 
  正在安装    : cpp-4.8.5-11.el7.x86_64                                    6/16 
  正在更新    : libgomp-4.8.5-11.el7.x86_64                                7/16 
  正在安装    : gcc-4.8.5-11.el7.x86_64                                    8/16 
  正在更新    : libgcc-4.8.5-11.el7.i686                                   9/16 
  正在安装    : gcc-c++-4.8.5-11.el7.x86_64                               10/16 
  正在更新    : libstdc++-4.8.5-11.el7.i686                               11/16 
  清理        : libstdc++-4.8.5-4.el7                                     12/16 
  清理        : libstdc++-4.8.5-4.el7                                     13/16 
  清理        : libgcc-4.8.5-4.el7                                        14/16 
  清理        : libgcc-4.8.5-4.el7                                        15/16 
  清理        : libgomp-4.8.5-4.el7.x86_64                                16/16 
  验证中      : libmpc-1.0.1-3.el7.x86_64                                  1/16 
  验证中      : gcc-c++-4.8.5-11.el7.x86_64                                2/16 
  验证中      : mpfr-3.1.1-4.el7.x86_64                                    3/16 
  验证中      : libgcc-4.8.5-11.el7.x86_64                                 4/16 
  验证中      : libstdc++-4.8.5-11.el7.i686                                5/16 
  验证中      : cpp-4.8.5-11.el7.x86_64                                    6/16 
  验证中      : libgomp-4.8.5-11.el7.x86_64                                7/16 
  验证中      : gcc-4.8.5-11.el7.x86_64                                    8/16 
  验证中      : libstdc++-4.8.5-11.el7.x86_64                              9/16 
  验证中      : libstdc++-devel-4.8.5-11.el7.x86_64                       10/16 
  验证中      : libgcc-4.8.5-11.el7.i686                                  11/16 
  验证中      : libstdc++-4.8.5-4.el7.x86_64                              12/16 
  验证中      : libgcc-4.8.5-4.el7.i686                                   13/16 
  验证中      : libgomp-4.8.5-4.el7.x86_64                                14/16 
  验证中      : libgcc-4.8.5-4.el7.x86_64                                 15/16 
  验证中      : libstdc++-4.8.5-4.el7.i686                                16/16 

已安装:
  gcc.x86_64 0:4.8.5-11.el7            gcc-c++.x86_64 0:4.8.5-11.el7           

作为依赖被安装:
  cpp.x86_64 0:4.8.5-11.el7                   libmpc.x86_64 0:1.0.1-3.el7      
  libstdc++-devel.x86_64 0:4.8.5-11.el7       mpfr.x86_64 0:3.1.1-4.el7        

作为依赖被升级:
  libgcc.i686 0:4.8.5-11.el7              libgcc.x86_64 0:4.8.5-11.el7         
  libgomp.x86_64 0:4.8.5-11.el7           libstdc++.i686 0:4.8.5-11.el7        
  libstdc++.x86_64 0:4.8.5-11.el7        

完毕!

2.出现异常:plugins/python/uwsgi_python.h:2:20: 致命错误:Python.h:没有那个文件或目录

一般出现这种问题,都是 xx-devel没有安装,那我们就试一下看看有没有 python-devel

 yum install python-devel
 [root@VM_153_111_centos SoftWare]# yum install python-devel
已加载插件:fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 python-devel.x86_64.0.2.7.5-48.el7 将被 安装
--> 正在处理依赖关系 python(x86-64) = 2.7.5-48.el7,它被软件包 python-devel-2.7.5-48.el7.x86_64 需要
--> 正在检查事务
---> 软件包 python.x86_64.0.2.7.5-39.el7_2 将被 升级
---> 软件包 python.x86_64.0.2.7.5-48.el7 将被 更新
--> 正在处理依赖关系 python-libs(x86-64) = 2.7.5-48.el7,它被软件包 python-2.7.5-48.el7.x86_64 需要
--> 正在检查事务
---> 软件包 python-libs.x86_64.0.2.7.5-39.el7_2 将被 升级
---> 软件包 python-libs.x86_64.0.2.7.5-48.el7 将被 更新
--> 解决依赖关系完成

依赖关系解决

================================================================================
 Package               架构            版本                   源           大小
================================================================================
正在安装:
 python-devel          x86_64          2.7.5-48.el7           os          393 k
为依赖而更新:
 python                x86_64          2.7.5-48.el7           os           90 k
 python-libs           x86_64          2.7.5-48.el7           os          5.6 M

事务概要
================================================================================
安装  1 软件包
升级           ( 2 依赖软件包)

总下载量:6.1 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/3): python-devel-2.7.5-48.el7.x86_64.rpm                | 393 kB   00:00     
(2/3): python-2.7.5-48.el7.x86_64.rpm                      |  90 kB   00:00     
(3/3): python-libs-2.7.5-48.el7.x86_64.rpm                 | 5.6 MB   00:00     
--------------------------------------------------------------------------------
总计                                                17 MB/s | 6.1 MB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在更新    : python-libs-2.7.5-48.el7.x86_64                             1/5 
  正在更新    : python-2.7.5-48.el7.x86_64                                  2/5 
  正在安装    : python-devel-2.7.5-48.el7.x86_64                            3/5 
  清理        : python-2.7.5-39.el7_2.x86_64                                4/5 
  清理        : python-libs-2.7.5-39.el7_2.x86_64                           5/5 
  验证中      : python-2.7.5-48.el7.x86_64                                  1/5 
  验证中      : python-devel-2.7.5-48.el7.x86_64                            2/5 
  验证中      : python-libs-2.7.5-48.el7.x86_64                             3/5 
  验证中      : python-libs-2.7.5-39.el7_2.x86_64                           4/5 
  验证中      : python-2.7.5-39.el7_2.x86_64                                5/5 

已安装:
  python-devel.x86_64 0:2.7.5-48.el7                                            

作为依赖被升级:
  python.x86_64 0:2.7.5-48.el7         python-libs.x86_64 0:2.7.5-48.el7        

完毕!

再次执行pip install uwsgi

[root@VM_153_111_centos SoftWare]# pip install uwsgi
Collecting uwsgi
  Using cached uwsgi-2.0.15.tar.gz
Installing collected packages: uwsgi
  Running setup.py install for uwsgi ... done
Successfully installed uwsgi-2.0.15

刚在mac上试了下,直接sudo pip install uwsgi就OK了,不过还是搭服务器上吧,就上面两个坑,陆续装下包就行了。

测试uwsgi是否正常:新建test.py文件,内容如下:


def application(env, start_response):
        start_response('200 OK', [('Content-Type','text/html')])
        return "Hello World"

然后在终端运行:

uwsgi –http :8001 –wsgi-file test.py

在浏览器内输入:ip:8001,有“Hello World”输出。

二、Ngnix安装
nignix官网最新版为1.13.0,可以通过以下命令下载,版本更新的话,只要将命令中的版本换成最新的,还是可以下载。

wget http://nginx.org/download/nginx-1.13.0.tar.gz
tar -xvzf nginx-1.13.0.tar.gz
cd nginx-1.13.0
 ./configure --prefix=/usr/local/nginx-1.13.0 --with-http_stub_status_module \--with-http_gzip_static_module 

上面是在centos7.2服务器上安装的,mac下,可以通过命令一键安装

brew install nginx

三、uwsgi 配置

uwsgi支持ini、xml等多种配置方式,本文以 ini 为例, 在/ect/目录下新建uwsgi9090.ini,添加如下配置:

[uwsgi]
socket = 127.0.0.1:9090
master = true         //主进程
vhost = true          //多站模式
no-site = true        //多站模式时不设置入口模块和文件
workers = 2           //子进程数
reload-mercy = 10     
vacuum = true         //退出、重启时清理文件
max-requests = 1000   
limit-as = 512
buffer-size = 30000
pidfile = /var/run/uwsgi9090.pid    //pid文件,用于下面的脚本启动、停止该进程
daemonize = /website/uwsgi9090.log

四、Nginx 配置

找到nginx的安装目录(我的安装目录是:

[root@VM_153_111_centos nginx-1.13.0]# pwd
/usr/local/nginx-1.13.0
```),打开conf/nginx.conf文件,修改server配置:




<div class="se-preview-section-delimiter"></div>

server {
listen 80;
server_name localhost;

    location / {            
        include  uwsgi_params;
        uwsgi_pass  127.0.0.1:9090;              //必须和uwsgi中的设置一致
        uwsgi_param UWSGI_SCRIPT demosite.wsgi;  //入口文件,即wsgi.py相对于项目根目录的位置,“.”相当于一层目录
        uwsgi_param UWSGI_CHDIR /demosite;       //项目根目录
        index  index.html index.htm;
        client_max_body_size 35m;
    }
}

“`

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值