Nginx+uwsgi+web.py配置

遇坑的同鞋可以留意一下

操作系统:Centos7

准备文件:
Python-2.7.13.tgz
下载地址:https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
nginx-1.12.0.tar.gz
下载地址:http://nginx.org/download/nginx-1.12.0.tar.gz
uwsgi-2.0.15.tar.gz
下载地址:https://projects.unbit.it/downloads/uwsgi-2.0.15.tar.gz

1、安装Python
configure注意带参数--with-zlib,否则uwsgi会报错
tar -zxvf Python-2.7.13.tgz
cd Python-2.7.13
./configure --with-zlib
make
make install
make clean

python --version 可以查看版本
修改版本会导致一些小问题,可以尝试修改#!/usr/bin/python为#!/usr/bin/python2.7

2、安装配置nginx
安装没什么特别的
tar -zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0
./configure
make
make install
make clean

配置
如果没有自定义安装路径
nginx.conf文件默认路径为/usr/local/nginx/conf/nginx.conf
如果用yum安装配置路径为/etc/nginx/nginx.conf
可以试着查找
find /|grep nginx.conf
whereis nginx
修改nginx.conf 文件,不必担心改坏了,同目录下还有个nginx.conf.default
如果80端口有其它用处,可以把listen 80;改成其它端口,避免冲突
内容不妨先仿着server再写一个server与原来的server保持并列,
server {
listen 2001;
server_name [::]:2001 localhost;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
}
}
listen应该是监听,那么从外部访问应该访问2001端口
uwsgi_pass 127.0.0.1:8080;这句与proxy_pass看起来很像,向内转发数据,并且需要在8080端口上有监听,uwsgi会处理这事

启动nginx
/usr/local/nginx/sbin/nginx
可以带配置文件,默认用/usr/local/nginx/conf/nginx.conf

试着访问一下x.x.x.x:80与x.x.x.x:2001

3、写一个test.py
暂且放在/var/test/路径下
#!/usr/bin/python2.7
# -*- coding:utf-8 -*-
# test.py
import web
urls = (
‘/‘, ‘index‘
)
class index:
def GET(self):
return ‘Hello, world!‘
app = web.application(urls,globals())
# app.run()
application = app.wsgifunc()
如果没有web模块可以先pip install web.py
试试会不会报错python code.py

4、安装配置uwsgi
这里有更详细的说明
http://uwsgi-docs.readthedocs.io/en/latest/Install.html

tar -zxvf uwsgi-2.0.15.tar.gz
cd uwsgi-2.0.15
python uwsgiconfig.py --build

配置文件
支持多种格式,这里用ini
为code.py写一个配置文件test.uwsgi.ini
[uwsgi]
socket = 127.0.0.1:8080 #与nginx的uwsgi_pass对应
chdir = /var/test/
wsgi-file = test.py
processes = 4
threads = 2
stats = 127.0.0.1:2011
daemonize = ./uwsgi.log

启动
./uwsgi --wsgi-file test.uwsgi.ini
如果正常的话
curl x.x.x.x:2001
将会返回Hello,world
否则可以到uwsgi.log中查看错误信息

查看端口占用
lsof -i:80

在记事本中写了贴过来,格式有点问题,懒得改了

时间: 2024-09-30 13:59:49

Nginx+uwsgi+web.py配置的相关文章

nginx uwsgi flask相关配置

一.安装Nginx 在 /home/download下下载压缩包 wget https://nginx.org/download/nginx-1.12.2.tar.gz 解压缩 tar zxvf nginx-1.12.2.tar.gz 添加环境变量: vim ~/.bashrc //添加 #NGINX export NGINX_HOME=/usr/local/nginx export PATH=$PATH:$NGINX_HOME/sbin source ~/.bashrc//激活 一些nginx

windows平台上nginx部署web.py(转)

windows上部署web.py真的是有些费力不讨好,没办法我自己托管的服务器是windows2003的系统.看了好多资料,最终没能在IIS上部署web.py.只能以nginx服务器的反向代理来部署web.py 首先,我们需要下载从nginx的官方网站下载nginx主程序,点击这里下载 ,并解压到到一个指定的目录,双击nginx.exe就可以运行服务器,我们可以通过任务管理器查看是否多出了2个nginx进程.(如果80端口被占用将不会成功运行),如果这过程中出现错误,将被记录到logs/erro

python后端开发:高并发异步uwsgi+web.py+gevent

为什么用web.py? python的web框架有很多,比如webpy.flask.bottle等,但是为什么我们选了webpy呢?想了好久,未果,硬要给解释,我想可能原因有两个:第一个是兄弟项目组用webpy,被我们组拿来主义,直接用了:第二个是我可能当时不知道有其他框架,因为刚工作,知识面有限.但是不管怎么样,webpy还是好用的,所有API的URL和handler在一个文件中进行映射,可以很方便地查找某个handler是为了哪个API服务的.(webpy的其中一个作者是Aaron Swar

uwsgi+web.py+nginx on Ubuntu14.04 LTS

Install uwsgi and nginx.If you want uwsgi support python,you must install "uwsgi-plugin-python" sudo apt-get update sudo apt-get install uwsgi uwsgi-plugin-python nginx First,We create a simple python script named "index.py" in directr

2-4-运维必备核心技能-nginx实现web服务配置

定义客户端请求的相关配置 12.keepalive_timeout timeout [header_timeout] 设定保持连接的超时时长,0表示禁止长连接,默认为75s 13.keepalive_requests number 在一次长连接上所允许请求的资源的最大数量,默认为100,如果第12项设置为0,此项没有用处 14.keepalive_disable none | browser ... 对哪种浏览器禁用长连接,现在绝大多数浏览器都支持,但可以设置禁用(防止爬虫) 15.send_t

debian完整部署 Nginx + uWSGI + Django

debian完整部署 Nginx + uWSGI + Django 手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供的服务器包用apt-get这种方式安装的.这种方式比较简单,但没有新版本. 另外就是使用源代码自己编译安装,这种比较繁琐,但能选择适合的版本安装. 这里介绍的是第二种,使用源代码编译的版本进行安装部署. 部署测试环境: - wind

webpy+nginx+uwsgi安装配置

转:(1)安装Nginx1.1 下载nginx-1.0.5.tar.gz并解压1.2 ./configure (也可以增加--prefix= path指定安装路径)此时有可能会提示缺少pcre支持,如果要安装pcre的话可以通过 yum install pcre-devel 来实现安装1.3 make1.4 make install (2)安装uWSGI2.1 下载uwsgi-0.9.8.2.tar.gz并解压2.2 make在安装uWSGI的时候有可能提示说是libxml2不存在,针对此情况,

一个简单的python web应用部署 nginx+uwsgi

1.环境配置 1)所需环境 操作系统 Mac os python3.6,web.py 0.40, uWSGI 2.0.15, uwsgitop 0.10, nginx 1.10.3 2)步骤 安装python3.6 -略 安装web.py easy_install web.py(推荐) pip install web.py 如果报错 可能还需安装utils db pip install utils pip install db 安装uWSGI pip install uwsgi 安装uwsgit

debian 系统python+uwsgi+nginx实现web环境

1,python web部署的实现: python+uwsgi+nginx实现web. 本文测试环境: 服务器:树莓派B+ 操作系统: [email protected]:~# cat /etc/issue Raspbian GNU/Linux 7 \n \l IP: [email protected]:~# ip ad s 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN      link/loopbac