centos 6.4下nginx+uwsgi+flask的运行环境搭建
2013-07-14 00:12
701 查看
以下的安装过程,笔者在centos 6.4实际配置成功过,记录起来供大家参考,有问题可以联系我。
1、安装nginx
安装nginx之前先要安装gcc编译器和相关工具,使用yum安装,非常方便。
nginx的一些模块需要第三方库的支持,例如gzip需要zlib,rewrite模块需要pcre库,ssl功能需要openssl库。直接使用yum安装就行了。
前往nginx官网nginx.org下载最新的版本,笔者下载的是1.2.7的版本。
确保用flask自带的web服务器能够运行。
4、配置nginx和uwsgi
这个步骤是比较麻烦,但是理解原理后也不难。
uwsgi在nginx 1.2.7是标准模块,所以不需要安装。编辑nginx的配置文件,使其加载uwsgi。
修改完成后可以测试下配置文件是否没有错误。
配置完成之后,重新启动nginx。先找到nginx主进程编号:
笔者电脑上是13367,然后重新启动
在flask的项目下新建一个配置文件app_config.xml,用来设置uwsgi相关的参数,一会uwsgi在启动时需要指明这个配置文件,内容如下:
其中个参数表示:
pythonpath表示项目目录
module表示项目启动模块,如上例为app.py,这里就为app
callable表示flask项目的实例名称,上例代码中app= Flask(__name__),所以这里为app
socket表示和nginx通信的地址和端口,和nginx配置里的uwsgi_pass一致。
processes表示开启多少个子进程处理请求。
启动uwsgi:
其中-x参数表示加载的配置文件路径。
这时候在浏览器里访问http://localhost,看到输出Hello World!就大功告成了。
小提示:如果需要让uwsgi以守护进程的方式运行,使用-d参数并指明日志路径就可以了。
小结
nginx和uwsgi之间的通信这里是使用端口进行通信,也可以使用socket文件。uwsgi的配置也可以使用其他的配置文件,不一定要用xml,这里就不再说明了。有什么一问题可以来信交流。
源引自:http://www.01happy.com/centos-nginx-uwsgi-flask/
1、安装nginx
安装nginx之前先要安装gcc编译器和相关工具,使用yum安装,非常方便。
$ sudo yum -y install gcc gcc-c++ make autoconf automake
nginx的一些模块需要第三方库的支持,例如gzip需要zlib,rewrite模块需要pcre库,ssl功能需要openssl库。直接使用yum安装就行了。
$ sudo yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
前往nginx官网nginx.org下载最新的版本,笔者下载的是1.2.7的版本。
$ wget http://nginx.org/download/nginx-1.2.7.tar.gz[/code]
解压安装$ tar -zxv -f nginx-1.2.7.tar.gz $ cd nginx-1.2.7 $ ./configure $ make $ sudo make install
这里configure使用的都是默认的参数,可以根据自己的需要进行修改。可以使用./configure –help查看帮助说明。
启动nginx服务器sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
其中/usr/local/nginx/sbin/nginx表示启动程序,这里用全路径更加直观,可以根据自己的习惯做软链接到系统路径。
使用浏览器访问http://127.0.0.1/,如果看到Welcome to nginx!的字样,就表示安装成功了。
2、安装uwsgi
先安装相关依赖python-devel、setuptools,libxml2-devel,直接用yum安装。如果是自行编译安装的python,可以不用安装python-devel。$ sudo yum -y install python-devel python-setuptools libxml2-devel
前网官网http://projects.unbit.it/uwsgi/下载uwsgi,虽然页面都是英文的,但是不难找到到下载页面。$ wget http://projects.unbit.it/downloads/uwsgi-1.9.tar.gz[/code]
解压安装:$ tar -zxv -f uwsgi-1.9.tar.gz $ cd uwsgi-1.9 $ python setup.py install
3、安装flask
前往官网http://flask.pocoo.org/下载flask。$ wget http://pypi.python.org/packages/source/F/Flask/Flask-0.9.tar.gz[/code]
解压安装$ tar -zxv -f Flask-0.9.tar.gz $ cd Flask-0.9 $ sudo python setup.py install
新建flask项目,就一个程序文件app.py,内容如下:
1 | from flask import Flask |
2 | app = Flask(__name__) |
3 |
4 | @app .route( "/" ) |
5 | def hello(): |
6 | return "Hello World!" |
7 |
8 | if __name__ = = "__main__" : |
9 | app.run() |
4、配置nginx和uwsgi
这个步骤是比较麻烦,但是理解原理后也不难。
uwsgi在nginx 1.2.7是标准模块,所以不需要安装。编辑nginx的配置文件,使其加载uwsgi。
location / { include uwsgi_params; uwsgi_pass 127.0.0.1:3031; root html; index index.html index.htm; }
修改完成后可以测试下配置文件是否没有错误。
$ sudo /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
配置完成之后,重新启动nginx。先找到nginx主进程编号:
$ ps -ef | grep nginx
笔者电脑上是13367,然后重新启动
$ sudo kill -HUP 13367
在flask的项目下新建一个配置文件app_config.xml,用来设置uwsgi相关的参数,一会uwsgi在启动时需要指明这个配置文件,内容如下:
1 | < uwsgi > |
2 | < pythonpath >/home/chenjiebin/web/flaskdemo</ pythonpath > |
3 | < module >app</ module > |
4 | < callable >app</ callable > |
5 | < socket >127.0.0.1:3031</ socket > |
6 | < master /> |
7 | < processes >4</ processes > |
8 | < memory-report /> |
9 | </ uwsgi > |
pythonpath表示项目目录
module表示项目启动模块,如上例为app.py,这里就为app
callable表示flask项目的实例名称,上例代码中app= Flask(__name__),所以这里为app
socket表示和nginx通信的地址和端口,和nginx配置里的uwsgi_pass一致。
processes表示开启多少个子进程处理请求。
启动uwsgi:
$ sudo /usr/local/bin/uwsgi -x /home/chenjiebin/web/flaskdemo/app_config.xml
其中-x参数表示加载的配置文件路径。
这时候在浏览器里访问http://localhost,看到输出Hello World!就大功告成了。
小提示:如果需要让uwsgi以守护进程的方式运行,使用-d参数并指明日志路径就可以了。
$ sudo /usr/local/bin/uwsgi -x /home/chenjiebin/web/flaskdemo/app_config.xml -d /var/log/uwsgi/uwsgi.log
小结
nginx和uwsgi之间的通信这里是使用端口进行通信,也可以使用socket文件。uwsgi的配置也可以使用其他的配置文件,不一定要用xml,这里就不再说明了。有什么一问题可以来信交流。
源引自:http://www.01happy.com/centos-nginx-uwsgi-flask/
相关文章推荐
- 基于centos搭建nginx+uwsgi运行django环境
- centos+nginx+uwsgi+virtualenv+flask 多站点环境搭建
- 基于centos搭建nginx+uwsgi运行django环境
- 基于Centos搭建nginx+uwsgi运行django环境
- CentOS 7.2 安装配置nginx+python+uwsgi+flask运行环境
- centos 7 nginx+uwsgi+flask 环境搭建
- Ubuntu server 12.04 LTS下 Nginx+uwsgi+Python-Flask 运行环境搭建
- centos+nginx+uwsgi+virtualenv+flask 多站点环境搭建
- Flask+uwsgi+Nginx环境搭建
- 分布式(2):CentOS+nginx+uwsgi+Python 多站点环境搭建
- CmsTop 大众版运行环境搭建 (CentOS+Nginx+PHP FastCGI)
- Centos+nginx+uwsgi+Python多站点环境搭建
- 单机运行环境搭建之 --Centos6.4下webbench压力测试
- CentOS+nginx+uwsgi+Python 多站点环境搭建
- 13、单机运行环境搭建之 --Centos6.4下iptables保护主机安全
- CentOS+nginx+uwsgi+Python 多站点环境搭建
- CentOS+nginx+uwsgi+Python 多站点环境搭建
- 搭建python的web环境 Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服务器环境
- CentOS+nginx+uwsgi+Python+django 环境搭建
- 11、单机运行环境搭建之 --Centos6.4下mysql5.6.10的性能优化