分享好友 系统运维首页 频道列表

Nginx+uwsgi+python配置

Nginx教程  2023-02-10 02:040

版本:Nginx 1.0.5

   uwsgi 1.1.2

   Python 2.7.2

原理: 

Nginx+uwsgi+python配置

  • nginx配置 
location /python {
         include uwsgi_params;
         uwsgi_pass 127.0.0.1:9090;
}
  • uwsgi启动参数

    uwsgi --socket :9090 --wsgi-file /var/www/project/hello.py

  • hello.py 文件
def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return "Hello World"

 

上述过程没有记录细节,感谢热心网友aho友情提供他的完整体验过程

1.    Nginx安装:
  a.    下载Nginx:
      wget http://nginx.org/download/nginx-1.3.9.tar.gz
  b.    解压安装:
      tar -zvxf nginx-1.3.9.tar.gz
      ./configure --prefix=/usr/local/nginx
      sudo make && make install
  c.    配置[可选]
      nginx安装目录下的conf/nginx.conf
      端口号:listen       80; #如果80端口被占,可换别的端口
      html文件目录路径:root html; #此处是相对路径,可根据自身需求表更,比如/usr/local/xxoo等
2.    uwsgi安装:
  a.    下载并安装uwsgi:
      wget http://projects.unbit.it/downloads/uwsgi-1.0.4.tar.gz
      tar -zxvf uwsgi-1.0.4.tar.gz # 解压
      mv uwsgi-1.0.4 uwsgi # 重命名为uwsgi,仅仅为了方便
      cd uwsgi # 切换到uwsgi目录
      python setup.py build # 编译安装
      make
  b.    将编译产生的可执行文件移动到/usr/bin里面去
      mv uwsgi /usr/bin
3.    配置并启动第一个实例:
  a.    在nginx的配置文件中加上
      location /py {
         include uwsgi_params;
         uwsgi_pass 127.0.0.1:8080;
      }
  b.    创建第一个python文件hello.py,选择目录(比如我的/var/www/application/)
      def application(env, start_response):
          start_response('200 OK', [('Content-Type','text/html')])
          ret = 'hello world'
          return ret
  c.    重启nginx
      sudo service nginx restart
  d.    启动uwsgi
      uwsgi --socket :9090 --wsgi-file /var/www/application/hello.py
  e.    在浏览器地址栏输入localhost/py,查看结果!

 

查看更多关于【Nginx教程】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
Nginx端口占用问题
错误信息:nginx: [emerg] listen() to 0.0.0.0:80, backlog 511 failed (98: Address already in use)主要是端口被占用,通过如下命令,可以查看该端口被那个应用占用:sudo netstat -ntpl 然后kill -9 PID将其杀死关闭即可解决

0评论2023-02-13565

Linux使用nginx反向代理。可实现域名指向特定端口
在配置80指向域名的时候出现端口占用,使用kill -9无法杀死端口,应使用下面的命令来杀死进程killall -9 nginx(使用完本命令需要再把配置过的配置文件重新启动。命令写在了PS下面)后在root权限下的nginx的sbin下使用./nginx -t(命令重启nginx并检查是否有语

0评论2023-02-13636

装tomcat和nginx心得
开机启动tomcat1:在/etc/rc.d/init.d目录下生成一个文件tomcat80802:在文件里添加如下内#!/bin/bash#2345 linux运行级别#10开机启动优先级,数值越大越排在前面,最大值100#90关机优先级#chkconfig:2345 10 90#description: tomcat8080 start....start(){ec

0评论2023-02-13333

nginx 之 proxy_pass的使用
使用注意事项proxy_pass在nginx中作代理转发使用。如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问。第一种:location /proxy/

0评论2023-02-13675

用Nginx代理请求,处理前后端跨域 用nginx代理请求,处理前后端跨域文件
  自从前端spa框架出现后,都是前后端分离开发了。我们在开发的时候难免会遇到跨域的问题。跨域这种问题解决的方法基本都是在服务端实现的。以java为例,我知道的有3种方法处理跨域:  1.使用 @CrossOrigin 注解对每一个接口进行跨域处理,缺点是比较麻烦

0评论2023-02-13771

手动上传图片到nginx下可访问,程序上传后访问图片报403
1. 首先查看文件权限2. 初步确定是服务器权限问题2.1 解决方案一:更改文件权限2.2 解决方案二:修改nginx运行用户 1. 首先查看文件权限#指令如下ls -l2. 初步确定是服务器权限问题403 forbidden错误是禁止读取访问,也就是说服务器理解了请求,但是不允许访问

0评论2023-02-13745

check nginx配置文件错误:[emerg]: getpwnam(“nginx”) failed
 1、错误提示:[root@server include]# /application/nginx/sbin/nginx -t -c /applications/nginx/nginx/nginx.confnginx: [emerg] getpwnam("nginx") failed in /applications/nginx/nginx/nginx.conf:2nginx: configuration file /application/nginx/ngin

0评论2023-02-13620

Nginx 499的问题 PHP 异步 HTTP 与 NGINX 499
PHP 异步 HTTP在 PHP 代码中提交异步 HTTP 请求比较常用的方式是通过 fsockopen/fwrite/fclose 来实现,请参考如下代码。function post($host, $path, $port, $data) {$post = http_build_query($data);$len = strlen($post);$fp = fsockopen($host, $port,

0评论2023-02-13458

nginx FastCGI模块(FastCGI)配置
http://www.howtocn.org/nginx:nginx%E6%A8%A1%E5%9D%97%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E4%B8%AD%E6%96%87%E7%89%88:standardhttpmodules:fastcginginx官方文档:http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html 摘要这个模块允许nginx

0评论2023-02-10486

nginx+tomcat反向代理下使用tomcat-redis-session-manager进行session共享中值得注意的一个问题
公司目前项目使用nginx反向代理+多个tomcat进行负载均衡,之前使用ip_hash策略进行session控制。近期有考虑不再使用ip_hash策略,所以需要进行session共享。根据项目实际情况,拟考虑使用开发配置比较简单,应用比较广泛的tomcat-redis-session-manager方式进

0评论2023-02-10303

更多推荐