[mac]nginx+spawn-fcgi+flup+web.py配置

由于不了解nginx,配置中遇到一些坑,记录下来

环境:macOs:10.12.4

安装:

  • Nginx 0.8.* or 0.7.* (需要包含fastcgi和rewrite模块)。
  • Webpy 0.32
  • Spawn-fcgi 1.6.2
  • Flup(注意:python2:pip install flup==1.0.2,python3:pip install flup**应为最新的版本不支持python2**)

web脚本:

/Users/bj-m-206380a/Documents/workspace/web_value/app.py
***
注意:python脚本头部必须有

#!/usr/bin/env python

# -*- coding: utf-8 -*-

否则Spawn-fcgi运行会报错,无法解析脚本

***

Spawn-fcgi运行脚本:

spawn-fcgi -d /Users/bj-m-206380a/Documents/workspace/web_value -f /Users/bj-m-206380a/Documents/workspace/web_value/app.py -a 127.0.0.1 -p 9001 -F 2
***
-d:指定项目路径
-f:指定脚本路径
-a:指定本机域名
-p:指定端口
-F:指定进程(pid)数量
-n:(可选)查看具体报错信息
***
运行成功如下:


个别错误修改:

spawn-fcgi: child exited with: 126

脚本没有权限,运行下面命令即可

chmod +x fcgi.py

nginx配置如下:
server { 
            listen 9002; #配置监听端口(运行后用户访问的这个)
            server_name localhost; 

            location / { 
            access_log  logs/host.Mitsuki.log  main;#配置日志地址,路径:/usr/local/Cellar/nginx/1.15.0/logs
            index templates/index.html; 
            root /Users/bj-m-206380a/Documents/workspace/web_value/; 
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;  # [1]
            fastcgi_param PATH_INFO $fastcgi_script_name;        # [2]
            fastcgi_pass 127.0.0.1:9001;#中间件监听端口,需要和spawn-fcgi启动的端口一致!!

            } 
         location /static/ {
                    root /Users/bj-m-206380a/Documents/workspace/web_value/; #这里也需要配置项目目录,不然js等静态资源访问不到
                    if (-f $request_filename) {
                       rewrite ^/static/(.*)$  /static/$1 break;
                    }
            }
            }

访问127.0.0.1:9002端口下任意接口:

结果正常~  到这里旧ok了

文章来源: [mac]nginx+spawn-fcgi+flup+web.py配置

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:[mac]nginx+spawn-fcgi+flup+web.py配置