美文网首页测试开发
Api_web.py/nginx/uwsgi 部署

Api_web.py/nginx/uwsgi 部署

作者: 古佛青灯度流年 | 来源:发表于2016-11-26 18:38 被阅读82次
  • 准备:

1.web.py :强大且简单
2.nginx:简易使用说明
3.uwsgi:中文版说明

  • 安装:

    • web.py

pip install web.py

  - nginx
 [安装](http://www.jianshu.com/p/b8c5e9bd57f9)
 [nginx配置教程](http://www.jianshu.com/p/b493dc895176)
  - uwsgi:

pip install uwsgi

- # 配置:
`webapp.py`

import web
urls = (
'/', 'index'
)
app = web.application(urls, globals())
application = app.wsgifunc()
class index:
def GET(self):
return "Hello, world!"
if name == "main":
app.run()

 ` nginx` 新建server:
 - nginx 默认路径:`/usr/local/etc/nginx`
- 修改`nginx.conf`

别的地方不用动,只要修改http模块就行

http {
include app/*; # 添加这一行
include mime.types;
default_type application/octet-stream;

- 设置server 路径:`/usr/local/etc/nginx/app/`
- 新建文件:`at.test.cc.conf`   配置如下

server {
listen 80;
server_name at.test.cc;# 自定义的域名,别忘了配置hosts ;
location /{
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
# UWSGI_CHDIR 后面跟的是.py 文件在你本地的绝对路径
uwsgi_param UWSGI_CHDIR /Users/xcma/code/god_wph/Src/Webapp;
uwsgi_param UWSGI_SCRIPT webapp; # webapp为你要执行的.py 文件
}
location /static {
alias /home/notice/web/static;
autoindex on;
}
}

`uwsgi`注意
如果使用uwsgi做代理 ,那么在代码中必须添加下面的一行,另外这行代码一定不要放在
`if __name__ == "__main__":    app.run()`后面:

application = app.wsgifunc()

uWSGI启动参数:
uwsgi --socket 127.0.0.1:9090 \ # 监听在指定端口
--wsgi-file hello.py \ # 部署的web应用
--master --processes 2 \ # 创建两个worker进程处理请求
--daemonize /var/log/uwsgi.log \ # 后台运行uWSGI,并把日志输出到指定文件
--pidfile /var/log/uwsgi.pid # pid文件


- # 启动
 - 启动uwsgi:

uwsgi -s 127.0.0.1:9090 -w webapp # webapp为要执行的.py文件/或者绝对路径
uwsgi -s 127.0.0.1:9090 -w webapp --daemonize /var/log/uwsgi.log # 这样就在后台执行了

! 注意点:这里指定的ip/port 要跟nginx中的一致
  - 启动nginx:

sudo nginx -c /usr/local/etc/nginx/nginx.conf
/usr/local/bin/nginx # 启动

或者

sudo nginx
/usr/local/bin/nginx -s reload #平滑重启

或者

sudo nginx -s reload
/usr/local/etc/nginx/nginx.conf #配置文件。

- # 访问
浏览器输入:` at.test.cc`即可访问到目标文件了,搭建成功!

@ 雾霾-2016-11-26 18:34:18

相关文章

网友评论

    本文标题:Api_web.py/nginx/uwsgi 部署

    本文链接:https://www.haomeiwen.com/subject/iedgpttx.html