VPS配置python web环境真吐血

2013-07-26 21:44:54 +08:00
 likai
新手想搭建一个nginx+uwsgi+mysql+flask的环境。
在GOOGLE的帮助下一个下午还没成功跑起来。
有没有什么一键安装的SHELL之类的?
环境CENTOS
12179 次点击
所在节点    Python
50 条回复
fucker
2013-07-27 05:20:34 +08:00
@SR1 mod_python 真心不好用。。。
fucker
2013-07-27 05:21:15 +08:00
@swulling 咦,西南大学的同志?
vibbow
2013-07-27 05:25:14 +08:00
linux 耗费了多少程序员的光阴:装完一个程序包、发现需要再装一个程序包、发现需要再装一个程序包、最后都不知道往电脑里装了多少程序包、最后再费点时间写个控诉+炫耀的安装攻略
cctvsmg
2013-07-27 05:48:35 +08:00
@vibbow 精辟
paloalto
2013-07-27 08:17:03 +08:00
之前写过一个LNMP(Nginx、MySQL、PHP、phpMyAdmin) + Python + web.py的。

http://www.douban.com/note/233957765/
SR1
2013-07-27 08:19:10 +08:00
@swulling 大谢啊!!!

之前看的Django Web 开发指南,上面写着需要装Apache,于是 apt-get 了一个,然后说要装mod_python,所以再祭出 apt-get ,发现没找到,Google 之… 然后就看到了mod_python 的文档 + 一些其他博客资料,说使用mod_python 需要自行编译,用apt-get 方式得到的Apache 缺少什么什么源码,如果是自行编译的话就包含所需的,于是又把Apache卸了,恶补了编译知识,开始了编译的不归路,落泪。

apr , apr-util , httpd , mod_python 一路下来,就当成长了。

(期间默默吐槽了无数遍Linux下的环境搭建的不人性化,@#$%^&@#$%^&
SR1
2013-07-27 08:27:27 +08:00
@likai 后来把Python.h找到了,然后在make 的时候又出现一堆问题,不是warning就是error,表示完全看不懂了

In file included from /usr/include/python2.7/Python.h:8:0,
from /home/sr1/下载/mod_python-2.7.8/src/include/mod_python.h:77,
from mod_python.c:54:
/usr/include/python2.7/pyconfig.h:1161:0: warning: "_POSIX_C_SOURCE" redefined [enabled by default]
/usr/include/features.h:215:0: note: this is the location of the previous definition
In file included from mod_python.c:54:0:
/home/sr1/下载/mod_python-2.7.8/src/include/mod_python.h:93:1: error: unknown type name ‘pool’
/home/sr1/下载/mod_python-2.7.8/src/include/mod_python.h:96:33: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘python_module’
In file included from /home/sr1/下载/mod_python-2.7.8/src/include/mod_python.h:99:0,
from mod_python.c:54:
/home/sr1/下载/mod_python-2.7.8/src/include/util.h:57:1: error: unknown type name ‘array_header’
In file included from /home/sr1/下载/mod_python-2.7.8/src/include/mod_python.h:100:0,
from mod_python.c:54:
/home/sr1/下载/mod_python-2.7.8/src/include/tableobject.h:69:2: error: unknown type name ‘table’
/home/sr1/下载/mod_python-2.7.8/src/include/tableobject.h:70:2: error: unknown type name ‘pool’
/home/sr1/下载/mod_python-2.7.8/src/include/tableobject.h:77:52: error: unknown type name ‘table’
………………………………
………………………………
………………………………
………省略一堆…………
………………………………
………………………………
………………………………
kk71
2013-07-27 08:34:07 +08:00
我都自己编译的呢。
有的vps自带精简优化的ubuntu server版本,那就好办事了。
raptor
2013-07-27 12:31:18 +08:00
centos里的python版本太老,不方便。
当然一定要用的话也不是不可以。
源码编译一下,然后用virtualenv -p用这个高版本的python弄一个单独的环境。
nginx配置反向代理很简单的,uwsgi不好弄,建议换gunicorn,非常简单。
不要考虑什么一键安装之类的东西,后遗症很多,还是自己把要用的各个东西搞懂为好。
raptor
2013-07-27 12:35:04 +08:00
gunicorn+nginx/apache的配置可以参考我以前为web.py写的一个文档:https://github.com/raptorz/webpy.github.com/blob/master/cookbook/gunicorn-apache-nginx.zh-cn.md
pianai
2013-07-27 12:46:05 +08:00
教程 apache2+mod-wsgi+django环境配置 不过ubuntu 系统下的
http://www.pianai.net/?p=11
iCodex
2013-07-27 13:08:14 +08:00
@ericFork 我也是用 gunicorn 这样nginx直接反代过去就好了
另外 centos也不是不可以,只是编译python时最后一步用make altinstall,这样就不会和系统自带的冲突,自己的程序再改改python路径就好。
ericFork
2013-07-27 14:12:21 +08:00
@iCodex 是啊,gunicorn 多方便

大多教程都是 uWSGI,mod_python, mod_wsgi,简直太费力,浪费多少非 SA 的程序员的光阴
swulling
2013-07-29 13:19:34 +08:00
@fucker 不是
@SR1 现在大家都用gunicorn这种高级工具啦

对Linux小白提一个真心的建议,永远避免任何形式的自己编译。。。只用现成的包管理,不会出问题的
rrfeng
2013-07-29 13:46:29 +08:00
@swulling
那也只能永远留在小白阶段了……
liuhang0077
2013-07-29 13:49:10 +08:00
@rrfeng 让小白编译 对小白简直是莫大的折磨。。 我一想推荐rpm 如果是专门学linux的就另当别论了
swulling
2013-07-29 17:29:17 +08:00
@rrfeng 先让服务跑起来,其实就算是资深SA又如何,放着包管理不去用的人去编译,简直吃饱了撑的。。

如果想调整编译参数,也要最好选择Arch的ABS那种方便管理的系统!

另外如果你管理1k台机器,你无论如何都得选择某种二进制包,总不能让每台机器自己呼呼的编译吧。。哪怕是make后tar下,都比呼呼编译强,当然这就是自己又发明了下包管理而已
stackpop
2013-07-29 19:28:48 +08:00
我一直想开发一个一键部署的集成工具,哈哈,可惜执行力不够
0bit
2013-07-29 21:23:23 +08:00
要涉及到多个版本的Python的话,就用pythonbrew或者新推荐的pyenv
如果不涉及到多个Python版本,只是多个项目的话,推荐virtualenv以及virtualenvwrapper。
不管怎么样,安装的时候,一律用pip install。
对新手来说,不太复杂吧。
另外,也真心喜欢gunicorn,纯python的,比uwsgi什么的要友好得多。
不嫌麻烦的话,也可以再装一个supervisor来管理进程。
manoon
2013-07-29 22:29:13 +08:00
所以,我配置完了。。。。松一口气。然后,一直都不敢乱动那几台VPS。重新配置,又得重新学习一遍。累得要死!!!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/77087

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX