![[mac]nginx+spawn-fcgi+flup+web.py配置](https://www.wentong.org/skin/wt/rpic/t17.jpg)
由于不了解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了
人吐槽 | 人点赞 |
发表评论