web.py运行于nginx的uwsgi上

初学web.py,必须要在nginx运行才对,也知道uwsgi的性能目前是最优的,所以此文将记录下如何搭建这样的环境。

1.安装nginx

方法很多,一般源码安装

2.安装uwsgi

下载源码,我在这里下载的:http://projects.unbit.it/downloads/uwsgi-1.9.20.tar.gz

解压后运行python setup.py install则可

3.安装web.py

装法类似,下载地址:http://projects.unbit.it/downloads/uwsgi-1.9.20.tar.gz

解压后python setup.py install

4.配置nginx,让其将访问转给uwsgi进行处理:在nginx.conf中加入下面的配置,表示将对8000端口的访问全部转给uwsgi处理,uwsgi占用的端口号是9000

    server {
        listen       8000;

        location / {
            include   uwsgi_params;
            uwsgi_pass  127.0.0.1:9000;
        }
    }

5.写一个web.py的程序,将其命名为code.py,用来处理真正的请求

import web

# 根请求都交给index类处理
urls = ('/', 'index')

# index类,仅返回一个hello world
class index:
        def GET(self):
                return "Hello, world!"


app = web.application(urls, globals())
application = app.wsgifunc()

6.启动uwsgi

#  uwsgi -s 127.0.0.1:9000 -w code
-s为ip和端口号

-w指定应用程序的名字

目前遇到的问题是如果应用程序中增加了if __name__ == "__main__":代码,则会报“unable to load app 0”这样的错误,目前还不知道怎么解决

7.重启nginx,在浏览器中输入“host:8000”,则可以看到“Hello, world!"回显在浏览器中


参考

http://www.cnblogs.com/Jerryshome/archive/2011/07/20/2111683.html

http://obmem.info/?p=703


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,以下是安装uwsginginx的步骤: 1. 安装uwsgi: 在终端中输入以下命令: ``` pip install uwsgi ``` 2. 安装nginx: 在终端中输入以下命令: ``` sudo apt-get update sudo apt-get install nginx ``` 3. 配置uwsgi: 创建一个名为uwsgi.ini的文件,并在其中添加以下内容: ``` [uwsgi] socket = 127.0.0.1:5000 chdir = /path/to/your/project module = your_project_name.wsgi:application ``` 其中,socket指定uwsgi监听的地址和端口号,chdir指定uwsgi启动时的工作目录,module指定uwsgi启动时需要加载的Python模块及其应用程序对象。 4. 配置nginx: 创建一个名为your_project_name.conf的文件,并在其中添加以下内容: ``` server { listen 80; server_name your_domain_name.com; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:5000; } } ``` 其中,listen指定nginx监听的端口号,server_name指定服务器的域名或IP地址,location中的两行指定uwsgi的参数和启动地址。 5. 启动uwsginginx: 在终端中分别输入以下命令: ``` uwsgi --ini uwsgi.ini sudo service nginx start ``` 这样就完成了uwsginginx的安装和配置。 ### 回答2: 安装uwsgi nginx可以按照以下步骤进行操作: 1.安装Python和pip:首先,确保系统中已安装Python和pip(Python的包管理工具)。如果尚未安装,请根据您的操作系统在官方网站上下载并安装。 2.使用pip安装uwsgi:打开终端或命令行界面,运行以下命令安装uwsgi: ``` pip install uwsgi ``` 这将从Python包索引(PyPI)下载并安装uwsgi。 3.安装并配置nginx:在终端或命令行界面中,运行以下命令安装nginx: ``` sudo apt-get update sudo apt-get install nginx ``` 这将通过包管理器(在示例中为apt-get)下载和安装nginx。安装完成后,您可以通过执行以下命令来启动nginx: ``` sudo service nginx start ``` 4.配置uwsginginx:将uwsgi配置为与nginx一起使用。首先,创建一个名为uwsgi.ini的uwsgi配置文件,然后在文件中添加以下内容(示例): ``` [uwsgi] http-timeout = 86400 http-keepalive = true plugins = python3 socket = 127.0.0.1:5000 chdir = /path/to/your/project wsgi-file = your_wsgi_app_file.py callable = app ``` 确保将`socket`指令中的IP地址和端口(示例中为127.0.0.1:5000)与您的应用程序配置匹配。 然后,打开nginx配置文件(通常位于/etc/nginx/sites-available/default)并修改其中的server部分,添加以下内容(示例): ``` location / { uwsgi_pass 127.0.0.1:5000; include uwsgi_params; } ``` 确保将`uwsgi_pass`指令中的IP地址和端口(示例中为127.0.0.1:5000)与uwsgi配置文件中的`socket`指令相匹配。 5.重启nginxuwsgi:完成配置后,重新启动nginxuwsgi使其生效: ``` sudo service nginx restart uwsgi --ini /path/to/your/uwsgi.ini ``` 这将重新启动nginx并使用uwsgi配置文件启动uwsgi。 通过按照以上步骤进行操作,您应该能够成功安装和配置uwsginginx,使其一起工作。请根据您的需求进行相应的配置修改。 ### 回答3: 安装uwsginginx是一种常见的部署Python web应用程序的方式。以下是安装uwsginginx的步骤。 首先,我们需要安装uwsgi。 1. 使用以下命令安装uwsgi: ```shell $ pip install uwsgi ``` 2. 创建一个uwsgi启动脚本,例如`myapp_uwsgi.ini`,并添加以下内容: ```ini [uwsgi] module = myapp:app # 这里的myapp是你的应用程序的包名和主模块名 master = true processes = 4 # 根据你的服务器配置设置进程数 socket = /tmp/myapp.sock # 设定uwsginginx之间通信的socket文件路径 chmod-socket = 666 vacuum = true die-on-term = true ``` 注意替换`module`和`socket`字段的值为您的应用程序对应的模块和路径。 3. 使用以下命令启动uwsgi服务: ```shell $ uwsgi --ini myapp_uwsgi.ini ``` 接下来,我们需要安装nginx。 1. 使用以下命令安装nginx: ```shell $ sudo apt-get install nginx ``` 2. 编辑nginx配置文件,例如`/etc/nginx/sites-available/myapp`,将以下内容添加到文件中: ```nginx server { listen 80; server_name your_domain.com; # 替换为您的域名 location / { include uwsgi_params; uwsgi_pass unix:/tmp/myapp.sock; # 这里的socket路径与uwsgi配置文件的socket路径一致 } } ``` 注意将`server_name`字段替换为您的域名或服务器IP地址。 3. 创建符号链接以启用nginx站点配置文件: ```shell $ sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/ ``` 4. 重新启动nginx服务: ```shell $ sudo service nginx restart ``` 现在,您的uwsginginx已经安装并配置完成。您可以通过访问您的域名或服务器IP地址来访问您的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值