首页 数据库 mysql教程 Centos搭建Python+Nginx+Tornado+Mysql环境

Centos搭建Python+Nginx+Tornado+Mysql环境

Jun 07, 2016 pm 03:46 PM
centos 搭建

PythonTornado的组合正在得到越来越多人的关注。Tornado和Nginx一样采用epoll的方式进行进程的调度。非阻塞的的调用方式轻易就解决了大并发的问题,再加上Python是开发轻量级、多并发程序的神器。所以,这个组给看上去相当不错。 下面我将介绍在UNIX(LINUX

Python+Tornado的组合正在得到越来越多人的关注。Tornado和Nginx一样采用epoll的方式进行进程的调度。非阻塞的的调用方式轻易就解决了大并发的问题,再加上Python是开发轻量级、多并发程序的神器。所以,这个组给看上去相当不错。
下面我将介绍在UNIX(LINUX、MAC下的配置方法其本一致)下如何快速搭建其运行环境:
1、安装Python
wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz tar xvfz Python-2.7.5.tgzcd Python-2.7.5 ./configure
make
sudo make install
登录后复制

2、安装Python的包管理工具setuptools、pip和打包工具distribute
wget http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py
wget http://python-distribute.org/distribute_setup.py python distribute_setup.py
wget https://github.com/pypa/pip/raw/master/contrib/get-pip.py python get-pip.py
登录后复制

3、安装Readline
sudo pip install readline
登录后复制

4、安装Mysql
#安装cmake wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz
tar xvfz cmake-2.8.8.tar.gz
cd cmake-2.8.8
./configure
make
sudo make install #安装mysql wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.29.tar.gz
tar xvfz mysql-5.5.29.tar.gz
cd mysql-5.5.29
cmake . -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=0
make
sudo make install #下载安装mysql-python wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz
tar xvfz MySQL-python-1.2.3.tar.gz
cd MySQL-python-1.2.3 #修改site.py中mysql_config的路径(为mysql安装路径下的/bin/mysql_config), site.py
mysql_config = /usr/local/mysql/bin/mysql_config #更改完进行编译和安装 python setup.py build
sudo python setup.py install #将mysql安装路径下的lib加入到环境变量LD_LIBRARY_PATH中 export LD_LIBRARY_PATH=/usr/local/mysql/lib/:$LD_LIBRARY_PATH
登录后复制
5、安装一些Python的常用模块和tornado
pip install tornado
pip install torndb 
pip install requests
pip install markdown
登录后复制

6、配置Mysql
groupadd mysql useradd -g mysql mysql chown mysql.mysql -R /service/mysql/ /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
登录后复制

7、安装Nginx
wget http://nginx.org/download/nginx-0.8.33.tar.gz tar zxvf nginx-0.8.33.tar.gz
cd nginx-0.8.33 ./configure
make 
make install
登录后复制

8、配置nginx,编辑/usr/local/nginx/conf/nginx.conf文件
user nobody;
worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events {
    worker_connections 1024;
}

http {
    include mime.types;
    default_type application/octet-stream;

    upstream snail {
        server 127.0.0.1:8888;
    }

    sendfile on; #tcp_nopush on; keepalive_timeout 65;
    proxy_read_timeout 200;
    tcp_nopush on;
    tcp_nodelay on;
    gzip on;
    gzip_min_length 1000;
    gzip_proxied any;

    server {
        listen 80;
        server_name localhost; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }

        location / {
            proxy_pass_header Server;
            proxy_set_header Host $http_host; #	proxy_redirect false; proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Scheme $scheme;
            proxy_pass http://snail; }

    }

}
登录后复制

9、创建一个项目
vi demo.py
import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
]) if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()
登录后复制

10、运行这个项目
#启动项目 nohup python demo.py & #重启Nginx /usr/local/nginx/sbin/nginx -s reload

在浏览器中输入http://127.0.0.1 看到页面输出hello word!


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1657
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1231
24
CentOS上GitLab的备份方法有哪些 CentOS上GitLab的备份方法有哪些 Apr 14, 2025 pm 05:33 PM

CentOS系统下GitLab的备份与恢复策略为了保障数据安全和可恢复性,CentOS上的GitLab提供了多种备份方法。本文将详细介绍几种常见的备份方法、配置参数以及恢复流程,帮助您建立完善的GitLab备份与恢复策略。一、手动备份利用gitlab-rakegitlab:backup:create命令即可执行手动备份。此命令会备份GitLab仓库、数据库、用户、用户组、密钥和权限等关键信息。默认备份文件存储于/var/opt/gitlab/backups目录,您可通过修改/etc/gitlab

centos关机命令行 centos关机命令行 Apr 14, 2025 pm 09:12 PM

CentOS 关机命令为 shutdown,语法为 shutdown [选项] 时间 [信息]。选项包括:-h 立即停止系统;-P 关机后关电源;-r 重新启动;-t 等待时间。时间可指定为立即 (now)、分钟数 ( minutes) 或特定时间 (hh:mm)。可添加信息在系统消息中显示。

centos和ubuntu的区别 centos和ubuntu的区别 Apr 14, 2025 pm 09:09 PM

CentOS 和 Ubuntu 的关键差异在于:起源(CentOS 源自 Red Hat,面向企业;Ubuntu 源自 Debian,面向个人)、包管理(CentOS 使用 yum,注重稳定;Ubuntu 使用 apt,更新频率高)、支持周期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社区支持(CentOS 侧重稳定,Ubuntu 提供广泛教程和文档)、用途(CentOS 偏向服务器,Ubuntu 适用于服务器和桌面),其他差异包括安装精简度(CentOS 精

centos配置ip地址 centos配置ip地址 Apr 14, 2025 pm 09:06 PM

CentOS 中配置 IP 地址的步骤:查看当前网络配置:ip addr编辑网络配置文件:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0更改 IP 地址:编辑 IPADDR= 行更改子网掩码和网关(可选):编辑 NETMASK= 和 GATEWAY= 行重启网络服务:sudo systemctl restart network验证 IP 地址:ip addr

怎样优化CentOS HDFS配置 怎样优化CentOS HDFS配置 Apr 14, 2025 pm 07:15 PM

提升CentOS上HDFS性能:全方位优化指南优化CentOS上的HDFS(Hadoop分布式文件系统)需要综合考虑硬件、系统配置和网络设置等多个方面。本文提供一系列优化策略,助您提升HDFS性能。一、硬件升级与选型资源扩容:尽可能增加服务器的CPU、内存和存储容量。高性能硬件:采用高性能网卡和交换机,提升网络吞吐量。二、系统配置精调内核参数调整:修改/etc/sysctl.conf文件,优化TCP连接数、文件句柄数和内存管理等内核参数。例如,调整TCP连接状态和缓冲区大小

CentOS HDFS配置有哪些常见误区 CentOS HDFS配置有哪些常见误区 Apr 14, 2025 pm 07:12 PM

CentOS下Hadoop分布式文件系统(HDFS)配置常见问题及解决方案在CentOS系统上搭建HadoopHDFS集群时,一些常见的错误配置可能导致性能下降、数据丢失甚至集群无法启动。本文总结了这些常见问题及其解决方法,帮助您避免这些陷阱,确保HDFS集群的稳定性和高效运行。机架感知配置错误:问题:未正确配置机架感知信息,导致数据块副本分布不均,增加网络负载。解决方案:仔细检查hdfs-site.xml文件中的机架感知配置,并使用hdfsdfsadmin-printTopo

centos7如何安装mysql centos7如何安装mysql Apr 14, 2025 pm 08:30 PM

优雅安装 MySQL 的关键在于添加 MySQL 官方仓库。具体步骤如下:下载 MySQL 官方 GPG 密钥,防止钓鱼攻击。添加 MySQL 仓库文件:rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm更新 yum 仓库缓存:yum update安装 MySQL:yum install mysql-server启动 MySQL 服务:systemctl start mysqld设置开机自启动

HDFS配置CentOS需要哪些步骤 HDFS配置CentOS需要哪些步骤 Apr 14, 2025 pm 06:42 PM

在CentOS系统上搭建Hadoop分布式文件系统(HDFS)需要多个步骤,本文提供一个简要的配置指南。一、前期准备安装JDK:在所有节点上安装JavaDevelopmentKit(JDK),版本需与Hadoop兼容。可从Oracle官网下载安装包。环境变量配置:编辑/etc/profile文件,设置Java和Hadoop的环境变量,使系统能够找到JDK和Hadoop的安装路径。二、安全配置:SSH免密登录生成SSH密钥:在每个节点上使用ssh-keygen命令

See all articles