一、安装uwsgi
直接使用pip安装就可以了,命令如下:
复制代码
1
pip install uwsgi
1.可能出现如下异常:
复制代码
1
2
raise Exception("you need a C compiler to build uWSGI")
Exception: you need a C compiler to build uWSGI
出现以上错误是因为没有c的编译器,解决办法是:
复制代码
1
yum install -y gcc gcc-c++
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
[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
复制代码
1
yum install python-devel
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
[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
复制代码
1
2
3
4
5
6
7
[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文件,内容如下:
复制代码
1
2
3
4
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,可以通过以下命令下载,版本更新的话,只要将命令中的版本换成最新的,还是可以下载。
复制代码
1
wget http://nginx.org/download/nginx-1.13.0.tar.gz
复制代码
1
2
tar -xvzf nginx-1.13.0.tar.gz
cd nginx-1.13.0
复制代码
1
./configure --prefix=/usr/local/nginx-1.13.0 --with-http_stub_status_module --with-http_gzip_static_module
上面是在centos7.2服务器上安装的,mac下,可以通过命令一键安装
复制代码
1
brew install nginx
三、uwsgi 配置
uwsgi支持ini、xml等多种配置方式,本文以 ini 为例, 在/ect/目录下新建uwsgi9090.ini,添加如下配置:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[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的安装目录(我的安装目录是:
复制代码
1
2
3
4
5
[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;
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17location / { 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; } }
“`
最后
以上就是优雅心锁最近收集整理的关于Django的安装与服务器的搭建的坑的全部内容,更多相关Django内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复