當前位置:首頁 » 編程語言 » python安裝tornado

python安裝tornado

發布時間: 2023-06-06 01:40:54

⑴ 用python做web開發,tornado 如何部署,都是用nginx+supervisor嗎

因為Tornado是非同步的網路框架,性能夠好,可以直接放在最外層,但是為了避免阻塞問題,會開多個進程,然後使用 Nginx 做反向代理實現負載均衡。具體可以看這篇文章 Introction to Tornado 中文翻譯。
那麼這里就涉及到要開多個Tornado進程的問題,使用Supervisor來做這件事是最簡單的。Supervisor 的使用方法可以看這篇文章 Python 進程管理工具 Supervisor 使用教程
另外,如果你需要部署Django或者 Flask,則推薦 Nginx+Gunicorn+Supervisor
Nginx放在最外層,然後使用Supervisor做進程管理,使用Gunicorn啟動Django或者Flask,相較於uwsgi 的方法,簡單很多,而且Gunicorn可以讓你使用Gevent和Tornado來為你的後端實現非同步訪問,性能直接飆升。

⑵ 如何快速有效的安裝Python+Nginx+Tornado+Mysql

下面我將介紹在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!
轉載,僅供參考,祝你愉快,滿意請採納。

熱點內容
年輕人運行內存為什麼比安卓好 發布:2025-07-15 08:52:03 瀏覽:514
怎麼配置組策略 發布:2025-07-15 08:52:02 瀏覽:245
pythonjson格式 發布:2025-07-15 08:42:54 瀏覽:677
醫院葯房要什麼配置 發布:2025-07-15 08:29:55 瀏覽:665
編程說明書 發布:2025-07-15 08:16:39 瀏覽:760
android請求超時 發布:2025-07-15 07:56:57 瀏覽:530
修改linux的主機名 發布:2025-07-15 07:52:46 瀏覽:907
天龍八部自動挖礦腳本怎麼寫 發布:2025-07-15 07:42:01 瀏覽:648
本地編譯器怎麼運行 發布:2025-07-15 07:42:00 瀏覽:995
加密狗會壞嗎 發布:2025-07-15 07:38:32 瀏覽:563