ubuntu 10.10 配置 nginx + uwsgi
最近为Python 的Web 项目配置了nginx 和 uwsgi。
这里讲的也比较清楚简单。
下载最新版本的nginx 和 uwsgi。最好不要用 sudo apt-get install nginx , 一开始用这种方法装了版本
较低的nginx, 没有默认支持uwsgi。
方法都是一样, 下载tar.gz 包后, 解压, 安装, 我都是用默认路径。nginx 装在了/usr/local/nginx。
把编译的二进制文件nginx 和 uwsgi 复制到 /usr/local/bin/ , 这样在任何路径下可以启动 nginx 和 uwsgi。
1) 配置nginx (初级)
打开/usr/local/nginx/conf/nginx.conf, 在 http { } 中有一项默认的server, 即:
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html, index.html;
}
...
}
这是初始nginx.conf中的内容, 这里提到的html目录下的index.html 中是“hello nginx”内容, 我们启动nginx: sudo nginx, 在浏览器
输入localhost, 则可以看到页面“hello nginx”。
我们只要增加server即可。比如要监听8000 端口, 首页是myhtml 文件夹下的index.html:
server {
listen 8000;
server_name rxs.com;
location / {
root myhtml;
index index.html;
}
}
重新启动nginx, 浏览器打开 127.0.0.1:8000, 则可以看到 ./myhtml/index.html 中的内容。
2)uwsgi
nginx 新版本默认支持uwsgi, 我们可以这样增加server,
server {
listen 8001;
server_name tracy.com;
location / {
include uwsgi_params
uwsgi_pass 127.0.0.1:9001;
}
}
注意uwsgi 的端口和nginx 监听的端口是不同的, 一般是80。
用python写一个简单的wsgi 程序 (test_uwsgi.py) :
def application(environ, start_response):
start_response("200 OK", [("Content-Type", "text/plain")])
return ["Hello uwsgi!"]
在test_uwsgi.py 所在目录下启动uwsgi:
uwsgi -s :9001 -w test_uwsgi
在浏览器访问127.0.0.1:8001, 即可看到“Hello uwsgi!”
当然这只是很初步的配置, 进一步配置待整理后继续。
这里讲的也比较清楚简单。
下载最新版本的nginx 和 uwsgi。最好不要用 sudo apt-get install nginx , 一开始用这种方法装了版本
较低的nginx, 没有默认支持uwsgi。
方法都是一样, 下载tar.gz 包后, 解压, 安装, 我都是用默认路径。nginx 装在了/usr/local/nginx。
把编译的二进制文件nginx 和 uwsgi 复制到 /usr/local/bin/ , 这样在任何路径下可以启动 nginx 和 uwsgi。
1) 配置nginx (初级)
打开/usr/local/nginx/conf/nginx.conf, 在 http { } 中有一项默认的server, 即:
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html, index.html;
}
...
}
这是初始nginx.conf中的内容, 这里提到的html目录下的index.html 中是“hello nginx”内容, 我们启动nginx: sudo nginx, 在浏览器
输入localhost, 则可以看到页面“hello nginx”。
我们只要增加server即可。比如要监听8000 端口, 首页是myhtml 文件夹下的index.html:
server {
listen 8000;
server_name rxs.com;
location / {
root myhtml;
index index.html;
}
}
重新启动nginx, 浏览器打开 127.0.0.1:8000, 则可以看到 ./myhtml/index.html 中的内容。
2)uwsgi
nginx 新版本默认支持uwsgi, 我们可以这样增加server,
server {
listen 8001;
server_name tracy.com;
location / {
include uwsgi_params
uwsgi_pass 127.0.0.1:9001;
}
}
注意uwsgi 的端口和nginx 监听的端口是不同的, 一般是80。
用python写一个简单的wsgi 程序 (test_uwsgi.py) :
def application(environ, start_response):
start_response("200 OK", [("Content-Type", "text/plain")])
return ["Hello uwsgi!"]
在test_uwsgi.py 所在目录下启动uwsgi:
uwsgi -s :9001 -w test_uwsgi
在浏览器访问127.0.0.1:8001, 即可看到“Hello uwsgi!”
当然这只是很初步的配置, 进一步配置待整理后继续。