Centos搭建Python+Nginx+Tornado+Mysql环境
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
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Methods for using Chinese input in CentOS include: using the fcitx input method: install and enable fcitx, set shortcut keys, press the shortcut keys to switch input methods, and input pinyin to generate candidate words. Use iBus input method: Install and enable iBus, set shortcut keys, press the shortcut keys to switch input methods, and input pinyin to generate candidate words.

To read U disk files in CentOS 7, you need to first connect the U disk and confirm its device name. Then, use the following steps to read the file: Mount the USB flash drive: mount /dev/sdb1 /media/sdb1 (replace "/dev/sdb1" with the actual device name) Browse the USB flash drive file: ls /media/sdb1; cd /media /sdb1/directory; cat file name

There are two ways to enter the root authority of CentOS 7: use the sudo command: enter sudo su - in the terminal and enter the current user password. Log in directly as the root user: Select "Other" on the login screen, enter "root" and the root password. Note: Operate carefully with root privileges, perform tasks with sudo privileges, and change the root password regularly.

One can use the scp command to securely copy files between network hosts. It uses ssh for data transfer and authentication. Typical syntax is: scpfile1user@host:/path/to/dest/scp -r/path/to/source/user@host:/path/to/dest/scp exclude files I don't think you can when using scp command Filter or exclude files. However, there is a good workaround to exclude the file and copy it securely using ssh. This page explains how to filter or exclude files when copying directories recursively using scp. How to use rsync command to exclude files The syntax is: rsyncav-essh-

Solutions for forgotten CentOS passwords include: Single-user mode: Enter single-user mode and reset the password using passwd root. Rescue Mode: Boot from CentOS Live CD/USB, mount root partition and reset password. Remote access: Use SSH to connect remotely and reset the password with sudo passwd root.

After forgetting your CentOS username and password, there are two ways to restore access: Reset the root password: Restart the server, edit the kernel command line in the GRUB menu, add "rw init=/sysroot/bin/sh" and press Ctrl+x ;Mount the root file system and reset the password in single-user mode. Use rescue mode: Start the server from the CentOS installation ISO image, select rescue mode; mount the root file system, copy the chroot environment from the ISO image, reset the password, exit the chroot environment and restart the server.

CentOS 7 disables root permissions by default. You can enable it by following the following steps: Temporarily enable it: Enter "su root" on the terminal and enter the root password. Permanently enabled: Edit "/etc/ssh/sshd_config", change "PermitRootLogin no" to "yes", and restart the SSH service.

Three solutions for forgotten passwords in CentOS 7: Single-user mode: Restart the system, edit the kernel options, change ro to rw init=/sysroot/bin/sh, and use the passwd command to reset the root password. Rescue mode: Boot from the installation media, select rescue mode, mount the root file system, chroot to the root file system, and use the passwd command to reset the root password. Grub2 command line: Restart the system, press c to enter the command line, load the kernel, mount the root file system, chroot to the root file system, and use the passwd command to reset the root password.
