Flask+uwsgi+Nginx环境搭建
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
需要的軟件列表:
setuptools-33.1.1.zip
Python-2.7.13.tgz
pip-9.0.1.tar.gz
nginx-1.10.3.tar.gz
軟件統(tǒng)一上傳到/usr/local/src/下,python是使用自己編譯的。
先安裝以下的軟件(如果有的話,就可以不安裝了,例如使用rpm -qa zlib-devel先查看下)
yum install zlib-devel -y
yum install openssl-devel -y
tar -zxvf解壓
./configure --prefix=/usr/local/python #安裝到/usr/local/python目錄下。
make?
make install
unzip解壓setuptool
/usr/local/python/bin/python setup.py install
tar -zxvf解壓pip
/usr/local/python/bin/python setup.py install
?
使用pip安裝flask和uwsgi
/usr/local/python/bin/pip install flask
/usr/local/python/bin/pip install uwsgi
先安裝pcre-devel:
yum install pcre-devel -y
./configure --prefix=/usr/local/nginx
make && make install
cat /usr/local/nginx/conf/nginx.conf
#user ?nobody; worker_processes ?1;events {worker_connections ?1024; }http {include ? ? ? mime.types;default_type ?application/octet-stream;log_format ?main ?'$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';sendfile ? ? ? ?on;keepalive_timeout ?65;server {listen ? ? ? 8080;access_log ?/usr/local/nginx/logs/flask_access.log main;error_log /usr/local/nginx/logs/flask_error.log error;client_max_body_size 200M;location / {include ? ? ?uwsgi_params;uwsgi_pass ? unix:/dev/shm/uwsgi.sock;index ?index.html index.htm;}}}
啟動(dòng)nginx:
/usr/local/nginx/sbin/nginx ?-t
/usr/local/nginx/sbin/nginx
注意:uwsgi_pass ? unix:/dev/shm/uwsgi.sock;需要和uwsgi的配置相對(duì)應(yīng)!
cat /root/uwsgi.ini [uwsgi] uid = root gid = root socket = /dev/shm/uwsgi.sock chmod-socket = 666 enable-threads = true master = true plugins = /usr/local/python/bin/python vhost = true workers = 5 max-requests = 1000 pidfile = /var/run/uwsgi.pid daemonize = /var/log/uwsgi.log chdir = /root/ops_dev/ module = ops_dev callable = app
啟動(dòng)uwsgi,有些報(bào)錯(cuò)沒(méi)什么事:
/usr/local/python/bin/uwsgi /root/uwsgi.ini
cat /root/ops_dev/ops_dev.py
# -*- coding: UTF-8 -*- from flask import Flask app = Flask(__name__)@app.route('/', methods=['GET', 'POST']) def index():return 'Hello ?world,Python ops_dev!'編寫完需要重啟uwsgi,開(kāi)改動(dòng)代碼都需要重啟uwsgi,直接使用pkill進(jìn)行重啟即可:
pkill uwsgi
訪問(wèn)http://localhost:8080/進(jìn)行測(cè)試。
訪問(wèn)日志記錄(nginx和uwsgi的訪問(wèn)日志,可用來(lái)排錯(cuò)。):
?
最后附上本人的網(wǎng)絡(luò)課堂地址,如有興趣請(qǐng)點(diǎn)擊:?實(shí)踐哥
轉(zhuǎn)載于:https://my.oschina.net/zhuangweihong/blog/867214
總結(jié)
以上是生活随笔為你收集整理的Flask+uwsgi+Nginx环境搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 本地事物的简介
- 下一篇: 设计模式(一)单例模式的七种写法