仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 716|回复: 9
打印 上一主题 下一主题

[CentOS(社区)] 来一发Centos搭建Python+Nginx+Tornado+Mysql情况

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:07:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
小知识:CentOS并不包含封闭源代码软件。
Python是一种说明型、面向对象、动态数据类型的高等法式设计说话。自从20世纪90年月初Python说话出生至今,它逐步被普遍运用于处置体系治理义务和Web编程。Python曾经成为最受迎接的法式设计说话之一。2011年1月,它被TIOBE编程说话排行榜评为2010年度说话。官网




Nginx是一款轻量级的Web办事器/反向署理办事器及电子邮件(IMAP/POP3)署理办事器,并在一个BSD-like协定下刊行。由俄罗斯的法式设计师IgorSysoev所开辟,供俄国年夜型的进口网站及搜刮引擎Rambler(俄文:Рамблер)应用。其特色是占领内存少,并发才能强,现实上nginx的并发才能确切在同类型的网页办事器中表示较好。官网





Tornado是FriendFeed应用了一款应用Python编写的,绝对简略的非壅塞式Web办事器。其运用法式应用的Web框架看起来有些像web.py或许Google的webapp,不外为了能有用应用非壅塞式办事器情况,这个Web框架还包括了一些相干的有效对象和优化。Tornado就是我们在FriendFeed的Web办事器及其经常使用对象的开源版本。Tornado和如今的主流Web办事器框架(包含年夜多半Python的框架)有着显著的差别:它长短壅塞式办事器,并且速度相当快。得利于其非壅塞的方法和对epoll的应用,Tornado每秒可以处置数以千计的衔接,是以Tornado是及时Web办事的一个幻想框架。我们开辟这个Web办事器的重要目标就是为了处置FriendFeed的及时功效――在FriendFeed的运用里每个运动用户都邑坚持着一个办事器衔接。(关于若何扩容办事器,以处置数以千计的客户真个衔接的成绩,请参阅TheC10Kproblem)官网

MySQL是一个关系型数据库治理体系,由瑞典MySQLAB公司开辟,今朝属于Oracle公司。MySQL是一种联系关系数据库治理体系,联系关系数据库将数据保留在分歧的表中,而不是将一切数据放在一个年夜仓库内,如许就增长了速度并进步了灵巧性。MySQL的SQL说话是用于拜访数据库的最经常使用尺度化说话。MySQL软件采取了双受权政策(本词条“受权政策”),它分为社区版和贸易版,因为其体积小、速度快、整体具有本钱低,特别是开放源码这一特色,普通中小型网站的开辟都选择MySQL作为网站数据库。官网



Python+Tornado的组合正在获得愈来愈多人的存眷。Tornado和Nginx一样采取epoll的方法停止过程的调剂。非壅塞的的挪用方法随意马虎就处理了年夜并发的成绩,再加上Python是开辟轻量级、多并发法式的神器。所以,这个组给看上去相当不错。
上面我将引见在UNIX(LINUX、MAC下的设置装备摆设办法其本分歧)下若何疾速搭建其运转情况:
1、装置Python
  1. wgethttp://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgztarxvfzPython-2.7.5.tgzcdPython-2.7.5./configuremakesudomakeinstall
复制代码
2、装置Python的担保理对象setuptools、pip和打包对象distribute
  1. wgethttp://peak.telecommunity.com/dist/ez_setup.pypythonez_setup.pywgethttp://python-distribute.org/distribute_setup.pypythondistribute_setup.pywgethttps://github.com/pypa/pip/raw/master/contrib/get-pip.pypythonget-pip.py
复制代码
3、装置Readline
  1. sudopipinstallreadline
复制代码
4、装置Mysql
  1. #装置cmakewgethttp://www.ckuyun.com/files/v2.8/cmake-2.8.8.tar.gztarxvfzcmake-2.8.8.tar.gzcdcmake-2.8.8./configuremakesudomakeinstall#装置mysqlwgethttp://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.29.tar.gztarxvfzmysql-5.5.29.tar.gzcdmysql-5.5.29cmake.-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_DATADIR=/usr/localmysql/data/-DMYSQL_UNIX_ADDR=/usr/localmysql/data/mysqld.sock-DWITH_INNOBASE_STORAGE_ENGINE=1-DSYSCONFDIR=/etc-DEXTRA_CHARSETS=all-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_unicode_ci-DWITH_DEBUG=0makesudomakeinstall#下载装置mysql-pythonwgethttp://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gztarxvfzMySQL-python-1.2.3.tar.gzcdMySQL-python-1.2.3#修正site.py中mysql_config的路径(为mysql装置路径下的/bin/mysql_config),site.pymysql_config=/usr/local/mysql/bin/mysql_config#更改完停止编译和装置pythonsetup.pybuildsudopythonsetup.pyinstall#将mysql装置路径下的lib参加到情况变量LD_LIBRARY_PATH中exportLD_LIBRARY_PATH=/usr/local/mysql/lib/:$LD_LIBRARY_PATH
复制代码
5、装置一些Python的经常使用模块和tornado
  1. pipinstalltornadopipinstalltorndbpipinstallrequestspipinstallmarkdown
复制代码
6、设置装备摆设Mysql
  1. groupaddmysqluseradd-gmysqlmysqlchownmysql.mysql-R/service/mysql//usr/local/mysql/scripts/mysql_install_db--user=mysql--basedir=/usr/local/mysql--datadir=/usr/local/mysql/datacp/usr/local/mysql/support-files/my-medium.cnf/etc/my.cnf
复制代码
7、装置Nginx
  1. wgethttp://nginx.org/download/nginx-0.8.33.tar.gztarzxvfnginx-0.8.33.tar.gzcdnginx-0.8.33./configuremakemakeinstall
复制代码
8、设置装备摆设nginx,编纂/usr/local/nginx/conf/nginx.conf文件
  1. usernobody;worker_processes1;#error_loglogs/error.log;#error_loglogs/error.lognotice;#error_loglogs/error.loginfo;#pidlogs/nginx.pid;events{worker_connections1024;}http{includemime.types;default_typeapplication/octet-stream;upstreamsnail{server127.0.0.1:8888;}sendfileon;#tcp_nopushon;keepalive_timeout65;proxy_read_timeout200;tcp_nopushon;tcp_nodelayon;gzipon;gzip_min_length1000;gzip_proxiedany;server{listen80;server_namelocalhost;#redirectservererrorpagestothestaticpage/50x.html#error_page500502503504/50x.html;location=/50x.html{roothtml;}location/{proxy_pass_headerServer;proxy_set_headerHost$http_host;#        proxy_redirectfalse;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Scheme$scheme;proxy_passhttp://snail;}}}
复制代码
9、创立一个项目
  1. videmo.pyimporttornado.ioloopimporttornado.webclassMainHandler(tornado.web.RequestHandler):defget(self):self.write("Hello,world")application=tornado.web.Application([(r"/",MainHandler),])if__name__=="__main__":application.listen(8888)tornado.ioloop.IOLoop.instance().start()
复制代码
10、运转这个项目
#启动项目nohuppythondemo.py&#重启Nginx/usr/local/nginx/sbin/nginx-sreload
在阅读器中输出http://127.0.0.1看到页面输入helloword!
小知识:在过去的四年中,我经常使用CentOS,主要是作为企业Linux商业版本产品的一种替代,很多个人、企业或机构都希望拥有主流企业Linux的稳定性、可靠性和声誉。
再现理想 该用户已被删除
沙发
发表于 2015-1-15 06:35:32 | 只看该作者

来一发Centos搭建Python+Nginx+Tornado+Mysql情况

楼下的接上
谁可相欹 该用户已被删除
板凳
发表于 2015-1-17 13:57:06 | 只看该作者
熟读Linux系统有关知识,如系统目录树,有关内容可购书阅读或搜索论坛。
第二个灵魂 该用户已被删除
地板
发表于 2015-1-26 16:30:12 | 只看该作者
随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
山那边是海 该用户已被删除
5#
发表于 2015-2-4 22:32:55 | 只看该作者
发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
再现理想 该用户已被删除
6#
发表于 2015-2-10 23:07:13 | 只看该作者
学习Linux系统在服务中的配置方法及使用方法。Linux在服务器中应用相当广,应对常用的apache,samba,ftp等服务器基本配置清楚了解。[重点,应巩固学习]
深爱那片海 该用户已被删除
7#
发表于 2015-3-1 18:05:07 | 只看该作者
主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。
不帅 该用户已被删除
8#
发表于 2015-3-11 00:16:55 | 只看该作者
我是学习嵌入式方向的,这学期就选修了这门专业任选课。
老尸 该用户已被删除
9#
发表于 2015-3-17 19:08:20 | 只看该作者
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
蒙在股里 该用户已被删除
10#
发表于 2015-3-25 00:15:40 | 只看该作者
不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-1 15:33

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表