当前位置:首页 > linux教程 > 列表

linux中快速搭建nginx+uwsgi+flask环境

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-21 16:32:54 浏览: 评论:0 

下文来为各位推荐一篇关于linux中快速搭建nginx+uwsgi+flask环境文章,希望这篇文章可以给各位带来帮助哦.

1.下载所需要的软件包

  1. wget http://nginx.org/download/nginx-1.5.9.tar.gz 
  2. wget http://projects.unbit.it/downloads/uwsgi-2.0.4.tar.gz 
  3. wget http://exim.mirror.fr/pcre/pcre-8.34.tar.gz 

2.编译安装

  1. #安装pcre ,Nginx的HTTP Rewrite模块会用到 
  2. tar zxvf pcre-8.34.tar.gz 
  3. cd pcre-8.34/ 
  4. ./configure 
  5. sudo make 
  6. sudo make install 
  7. cd .. 
  8. #安装nginx------------------------------------------ 
  9. tar -zxvf nginx-1.5.9.tar.gz 
  10. cd nginx-1.5.9 
  11. ./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-cc-opt='-O3' --with-cpu-opt=opteron 
  12. sudo  make && sudo make install 
  13. cd .. 
  14. #安装uwsgi------------------------------------------- 
  15. tar -zxvf uwsgi-2.0.4.tar.gz 
  16. cd uwsgi-2.0.4 
  17. sudo make 
  18. vi /etc/ld.so.conf    #添加动态链接库目录/usr/local/lib 
  19. #添加行:/usr/local/lib 
  20. ldconfig    #使之生效 
  21. cp uwsgi /usr/bin 
  22. cd .. 
  23. #-------------------------------------------------- 
  24. #Flask,安装方式很多:yum、apt-get、pip 
  25. sudo   pip  install  flask 

3.编辑nginx和uwigi配置文件,nginx.conf配置.

  1. $ cat /usr/local/nginx/conf/nginx.conf 
  2. user  nobody; 
  3. worker_processes  2; 
  4. events { 
  5.     worker_connections  1024; 
  6. http { 
  7.     include       mime.types; 
  8.     default_type  application/octet-stream; 
  9.     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' 
  10.     #                  '$status $body_bytes_sent "$http_referer" ' 
  11.     #                  '"$http_user_agent" "$http_x_forwarded_for"'; 
  12.     #access_log  logs/access.log  main; 
  13.     sendfile        on; 
  14.     #tcp_nopush     on; 
  15.     #keepalive_timeout  0; 
  16.     keepalive_timeout  65; 
  17.     gzip  on; 
  18.     server { 
  19.         listen       80; 
  20.         server_name    #记得做下本地hosts 
  21.         location / { 
  22.             uwsgi_pass 127.0.0.1:9000; 
  23.             include uwsgi_params; 
  24.             uwsgi_param UWSGI_CHDIR  /data/www.phpfensi.com/flask/yw;  #网站目录可以选,因为uwsgi那还是要配置的 
  25.             uwsgi_param UWSGI_SCRIPT run;  #run就是flask/yw目录下运行文件run.py 
  26.             access_log off; 
  27.     } 
  28.         error_page   500 502 503 504  /50x.html; 
  29.         location = /50x.html { 
  30.             root   html; 
  31.         } 
  32.         #location ~ .php$ { 
  33.         #    root           html; 
  34.         #    fastcgi_pass   127.0.0.1:9000; 
  35.         #    fastcgi_index  index.php; 
  36.         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name; 
  37.         #    include        fastcgi_params; 
  38.         #} 
  39.     } 

uwsgi.ini配置

方法1:

  1. $ cat /usr/local/nginx/conf/uwsgi_ini 
  2.     [uwsgi] 
  3.     socket = 0.0.0.0:9000 
  4.     master = true 
  5.     pidfile = /usr/local/nginx/uwsgi.pid 
  6.     processes = 8 
  7.     workers = 2 
  8.     chdir = /data/www.phpfensi.com/flask/yw   #网站目录 
  9.     callable = app    #这个就是run.py里的app,you know! 
  10.     pythonpath = /data/www.phpfensi.com/flask 
  11.     profiler=true 
  12.     memory-report=true 
  13.     enable-threads = true 
  14.     logdate=true 
  15.     limit-as=6048 
  16.     daemonize=/data/logs/flask.log   #run.py运行后产生的信息都记录在这的flask.log日志文件里 

方法2:

  1. [uwsgi] 
  2.     socket = 0.0.0.0:9000 
  3.     pidfile = /usr/local/nginx/uwsgi.pid 
  4.     processes = 8 
  5.     master = true 
  6.     chdir = /data/www.phpfensi.com/flask/yw   #网站目录 
  7.     #module = run     #这个就是run.py 
  8.     callable = app    #这个就是run.py里的app,you know! 
  9.     pythonpath = /data/www.phpfensi.com/flask 

4.运行和停止uwsgi和nginx

  1. sudo /usr/bin/uwsgi --ini /usr/local/nginx/conf/uwsgi.ini 
  2. sudo sudo /usr/local/nginx/sbin/nginx 
  3. #kill 
  4. sudo killall nginx 
  5. sudo killall -9 uwsgi

Tags: nginx+uwsgi+flask linux环境

分享到: