1
skyworker 2013-07-26 22:12:03 +08:00 via Android 1
Centos的yum体系是绑定Python版本,用Python的web项目,最好用Debian
|
3
ipconfiger 2013-07-26 22:34:27 +08:00
稍微熟悉点linux貌似不是啥难事,centos唯一麻烦一点是替换python版本,还有yum库版本都太旧
不想折腾ubuntu server也不错啊 |
4
jezal 2013-07-26 22:34:54 +08:00
这不奇怪,本来 Python Web 部署比较麻烦,特别是咱们这样的新手。不过还好,由于 VPS 磁盘损毁我今天又部署了下 nginx uuwsgi mysql django 环境,每一个部分都有很多暗坑。请楼主不要着急,一一击破。有问题请贴出来,我能回答的尽量回答。
|
5
likai OP |
6
ericFork 2013-07-26 22:53:10 +08:00
ubuntu 12.04, nginx, gunicorn, mysql, flask
|
7
adow 2013-07-26 22:55:16 +08:00
我一直都是全程yum的,同事们都很鄙视我
|
8
octopus_new 2013-07-26 23:05:23 +08:00
CentOS怎么了....., 个人认为也没什么, python版本就替换一下而已嘛, 不用YUM也活得挺好的啊. Debian也ok, 这完全是看团队或者个人习惯而已。有的人就Debian系, 有的人就Redhat系, 萝卜青菜嘛.....
|
9
julyclyde 2013-07-26 23:06:33 +08:00 via iPad
centos5里yum依赖python包是2.4的
装epel的python26包即可 |
10
tangyuan 2013-07-26 23:36:52 +08:00
所以我喜欢用bottle + sqlite,当然我的应用非常小...
|
11
reusFork 2013-07-26 23:42:41 +08:00
|
12
xdata 2013-07-26 23:47:07 +08:00
服务器系统一直在用CentOS.
CentOS下的Python什么时候成为问题了? 不想自己编译, 自己配置, Python环境, 请直接使用各种方便的Python环境管理工具来管理. |
13
imcj 2013-07-26 23:47:53 +08:00
如果习惯Vagrant做开发or测试环境的话,你因该有一个自动部署脚本,部署还是问题?
|
14
paicha 2013-07-27 00:06:18 +08:00 via Android
静等楼主配置手记。
|
15
clowwindy 2013-07-27 00:40:04 +08:00 1
|
16
fucker 2013-07-27 02:01:02 +08:00
我的环境是ubuntu + apache + wsgi + webpy(bottle) + mysql (sqlite,postgesql)
这种东西配置起来大同小异吧,看见上面说的,yum并不影响啥。撸主你说的一键安装shell没见过。 我配置的时候是apache,mysql 各自分别安装,wsgi也是apt-get来的。webpy,mako,MySQLdb啥的都是easy_install ,主要环节是apache或者你的nginx,配置httpd.conf文件,注意做好alias,模块加载,项目路径就行了。 |
17
SR1 2013-07-27 03:00:19 +08:00
身为一个Linux入门小白,我已经折腾好几个晚上了,还没搭好环境。
目标是LinuxMint + Apache + Python + MySQL + Mod_Python 现在卡在Mod_Python编译上,make的时候一直提示缺少头文件,比如apr.h,比如Python.h 可是apr.h已经通过软连接将他们所在的文件夹连接到/usr/include/ 里了,还是提示找不到, 没搞懂gcc查找头文件的机制,只能把每个文件都连接到/usr/include/ 里。 而Python.h这个头文件完全没找到,重装了Python-dev也没用,真心给跪了。 过路的大神顺路搭救下我,谢谢 |
18
swulling 2013-07-27 03:39:10 +08:00 1
|
19
swulling 2013-07-27 03:43:17 +08:00 2
@SR1 https://library.linode.com
这个太全了。。 比如django + mod_python https://library.linode.com/frameworks/django-apache-mod-python 比如django + mod_wsgi https://library.linode.com/frameworks/django-apache-mod-wsgi 简直傻瓜教程啊 |
23
vibbow 2013-07-27 05:25:14 +08:00 1
linux 耗费了多少程序员的光阴:装完一个程序包、发现需要再装一个程序包、发现需要再装一个程序包、最后都不知道往电脑里装了多少程序包、最后再费点时间写个控诉+炫耀的安装攻略
|
25
paloalto 2013-07-27 08:17:03 +08:00
|
26
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下的环境搭建的不人性化,@#$%^&@#$%^& |
27
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’ ……………………………… ……………………………… ……………………………… ………省略一堆………… ……………………………… ……………………………… ……………………………… |
28
kk71 2013-07-27 08:34:07 +08:00
我都自己编译的呢。
有的vps自带精简优化的ubuntu server版本,那就好办事了。 |
29
raptor 2013-07-27 12:31:18 +08:00
centos里的python版本太老,不方便。
当然一定要用的话也不是不可以。 源码编译一下,然后用virtualenv -p用这个高版本的python弄一个单独的环境。 nginx配置反向代理很简单的,uwsgi不好弄,建议换gunicorn,非常简单。 不要考虑什么一键安装之类的东西,后遗症很多,还是自己把要用的各个东西搞懂为好。 |
30
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
|
31
pianai 2013-07-27 12:46:05 +08:00
教程 apache2+mod-wsgi+django环境配置 不过ubuntu 系统下的
http://www.pianai.net/?p=11 |
32
iCodex 2013-07-27 13:08:14 +08:00
@ericFork 我也是用 gunicorn 这样nginx直接反代过去就好了
另外 centos也不是不可以,只是编译python时最后一步用make altinstall,这样就不会和系统自带的冲突,自己的程序再改改python路径就好。 |
33
ericFork 2013-07-27 14:12:21 +08:00
|
34
swulling 2013-07-29 13:19:34 +08:00
|
36
liuhang0077 2013-07-29 13:49:10 +08:00
@rrfeng 让小白编译 对小白简直是莫大的折磨。。 我一想推荐rpm 如果是专门学linux的就另当别论了
|
37
swulling 2013-07-29 17:29:17 +08:00
@rrfeng 先让服务跑起来,其实就算是资深SA又如何,放着包管理不去用的人去编译,简直吃饱了撑的。。
如果想调整编译参数,也要最好选择Arch的ABS那种方便管理的系统! 另外如果你管理1k台机器,你无论如何都得选择某种二进制包,总不能让每台机器自己呼呼的编译吧。。哪怕是make后tar下,都比呼呼编译强,当然这就是自己又发明了下包管理而已 |
38
stackpop 2013-07-29 19:28:48 +08:00
我一直想开发一个一键部署的集成工具,哈哈,可惜执行力不够
|
39
0bit 2013-07-29 21:23:23 +08:00 1
要涉及到多个版本的Python的话,就用pythonbrew或者新推荐的pyenv
如果不涉及到多个Python版本,只是多个项目的话,推荐virtualenv以及virtualenvwrapper。 不管怎么样,安装的时候,一律用pip install。 对新手来说,不太复杂吧。 另外,也真心喜欢gunicorn,纯python的,比uwsgi什么的要友好得多。 不嫌麻烦的话,也可以再装一个supervisor来管理进程。 |
40
manoon 2013-07-29 22:29:13 +08:00
所以,我配置完了。。。。松一口气。然后,一直都不敢乱动那几台VPS。重新配置,又得重新学习一遍。累得要死!!!
|
41
janxin 2013-07-29 23:10:32 +08:00 via iPad
linode的文档非常值得参考,即使非linode机器也可以用
|
42
lw9956164 2013-07-29 23:31:33 +08:00
搭建过 ubuntu gunicorn+flask表示毫无压力
|
43
mengzhuo 2013-07-30 09:01:35 +08:00
virtualenv+pip用来架设Python webserver表示没有半点压力
|
44
pythoner 2013-07-30 12:59:43 +08:00
编译安装python2.7,替换系统默认python版本
但是由于yum 默认要用python2.4,所以要修改yum的配置文件,指定py2.4 除了这一点需要注意意外,其它的包安装起来基本不会有什么问题。 |
46
hartnett 2013-07-30 14:04:07 +08:00
tornado + mysql + nginx + supervisor,几句apt-get就搞定了。
|
50
gladuo 2016-07-24 00:49:02 +08:00
docker 吧
|