1、安装uwsgi:
1) yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
2) pip3 install uwsgi
3) ln -s /usr/python/bin/uwsgi /usr/bin/uwsgi(任何地方都可以使用uwsgi命令)
uwsgi --version : 查看版本命令
测试1:
# test.py def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')])return ["Hello World"] # python2 #return [b"Hello World"] # python3
uwsgi --http :7070 --wsgi-file test.py
浏览器访问 :http://ip:7070 出现Hello World表示uwsgi安装成功!!!
注:uwsgi --http :端口 --chdir=项目路径 --module 项目名.wsgi
测试2:
例uwsgi --http :7070 --chdir=/usr/python/movieMongo/ --module moeMongo.wsgi
这样启动项目,浏览器访问也是可以的,但是shell不能关闭,一关闭项目就停止运行,浏览器不能访问啦!(端口7070必须是开通安全配置)
测试3:可以把启动信息写进xxx.ini文件中,用uwsgi xxx.ini启动,照样可以在浏览器中访问!
xxx.ini文件内容:
[uwsgi] http=:9090 wsgi-file=server.py master=true processes=4 threads=2 stats=127.0.0.1:9191
2、安装nginx:
1) 下载 nginx:
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.g
2)进入到nginx-1.13.7目录中,编译程序
./configure (这样是默认安装,安装在/usr/local/nginx;配置文件是/usr/local/nginx/conf/nginx.conf,启动项是/usr/local/nginx/sbin/nginx)
make
make install
3、uwsgi与nginx混合使用:
配置xxx.ini和nginx.conf文件:
1) xxx.ini文件内容:
[uwsgi]
# 内部链接的,与nginx.conf中的uwsgi_pass 127.0.0.1:7071一样(7071端口可以不添加)
socket=127.0.0.1:7071
#http=:7070 # 不需要nginx ,单独运行,然后浏览器访问
wsgi-file=app.py
master=true
processes=4
threads=2
buffer-size = 65536
daemonize = appuwsgi.log # 日志信息在appuwsgi.log中,就不会打印啦,关键是可以关闭xshell
#stats=127.0.0.1:9191
2)nginx.conf文件内容:
server {
listen 7070; # 这个端口是提供给外面访问的,必须添加
#server_name 127.0.0.1;
#fastcgi_buffers 8 128k;
#charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:7071; #与xxx.ini中的socket必须保持一致(7071端口可以不添加)
}
location /static/ {
alias /home/www/myproject/myapp/static/; #项目静态路径设置
}
}
3)然后启动nginx和运行xxx.ini:
启动nginx: ./nginx
( 重启:./nginx -s reload 验证conf文件是否正确:./nginx -t )
运行xxx.ini: uwsgi xxx.ini
4)nginx和uwsgi线程:
nginx线程:
uwsgi线程:
4、uwsgi+nginx+django项目:
1) nginx.conf 文件内容:
server {
listen 7070;
#server_name 127.0.0.1;
#fastcgi_buffers 8 128k;
#charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:7073;
}
location /static/ {
alias /home/www/myproject/myapp/static/; #项目静态路径设置
}
}
2)xxx.ini文件内容:
[uwsgi]
socket=127.0.0.1:7073
chdir=/usr/python/movieMongo # 项目路径
# 项目的wsgi文件
module=movieMongo.wsgi
# 做测试用的,http网页访问
#http=:7070
#wsgi-file=app.py
master=true
# 线程数
processes=4
# 进程数
threads=2
buffer-size = 65536
#运行程序uwsgi appUwsgi.ini,没有日志,并且可以关闭xshell
daemonize =appUwsgi.log
3)运行nginx和uwsgi:
(1) 进入/usr/local/nginx/sbin目录 ,运行 ./nginx
(2) 运行xxx.ini文件,运行 uwsgi xxx.ini
4) 浏览器访问: http://47.107.57.99:7070/get_movieTop250/?start=0&count=250
5、mongodb导出数据:
linux中txt文件导入数据库中,内容是一个个json;每个json之间没有逗号',',如果有逗号',',导入数据库会出错!!!
导入语句:mongoimport -h 地址 -d 数据库 -c 集合 文件
例如:mongoimport -h 127.0.0.1 -d movie -c top movies.txt
6、nginx、uwsgi与web应用框架的介绍: