阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 6.4下搭建Nginx+uWSGI+Flask运行环境教程

206次阅读
没有评论

共计 5041 个字符,预计需要花费 13 分钟才能阅读完成。

记下在 CentOS 6.4 中搭建 Nginx+uWSGI+Flask 运行环境教程,笔者在 CentOS 6.4 实际配置成功过,记录起来供大家参考,有问题可以联系我。

推荐阅读

Ubuntu 12.04 下部署 Nginx+uWSGI+Flask http://www.linuxidc.com/Linux/2014-01/96007.htm

你应该使用 Nginx + uWSGI http://www.linuxidc.com/Linux/2013-07/87286.htm

uWSGI + Nginx 部署 Flask Web 应用 http://www.linuxidc.com/Linux/2013-06/85828.htm

Django+Nginx+uWSGI 部署 http://www.linuxidc.com/Linux/2013-02/79862.htm

Linux 下 Nginx+uWSGI 部署 Python 应用 http://www.linuxidc.com/Linux/2012-10/72443.htm

Ubuntu Server 12.04 安装 Nginx+uWSGI+Django 环境 http://www.linuxidc.com/Linux/2012-05/60639.htm

CentOS 5.5 + Nginx 0.8.50 + uWSGI + Django 1.2.3 部署 Django 项目 http://www.linuxidc.com/Linux/2011-05/36399.htm

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

解压安装

$ 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

解压安装:

$ tar -zxv -f uwsgi-1.9.tar.gz

$ cd uwsgi-1.9

$ python setup.py install

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-05/101529p2.htm

3、安装 flask

前往官网 http://flask.pocoo.org/ 下载 flask。

$ wget http://pypi.Python.org/packages/source/F/Flask/Flask-0.9.tar.gz

解压安装

$ tar -zxv -f Flask-0.9.tar.gz

$ cd Flask-0.9

$ sudo python setup.py install

新建 flask 项目,就一个程序文件 app.py,内容如下:

from flask import Flask
app = Flask(__name__)
 
@app.route("/")
def hello():
return "Hello World!"
 
if __name__ == "__main__":
app.run()

确保用 flask 自带的 web 服务器能够运行。

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 在启动时需要指明这个配置文件,内容如下:

<uwsgi>
<pythonpath>/home/chenjiebin/web/flaskdemo</pythonpath>
<module>app</module>
<callable>app</callable>
<socket>127.0.0.1:3031</socket>
<master/>
<processes>4</processes>
<memory-report/>
</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,这里就不再说明了。有什么一问题可以来信交流。

Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里

更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

记下在 CentOS 6.4 中搭建 Nginx+uWSGI+Flask 运行环境教程,笔者在 CentOS 6.4 实际配置成功过,记录起来供大家参考,有问题可以联系我。

推荐阅读

Ubuntu 12.04 下部署 Nginx+uWSGI+Flask http://www.linuxidc.com/Linux/2014-01/96007.htm

你应该使用 Nginx + uWSGI http://www.linuxidc.com/Linux/2013-07/87286.htm

uWSGI + Nginx 部署 Flask Web 应用 http://www.linuxidc.com/Linux/2013-06/85828.htm

Django+Nginx+uWSGI 部署 http://www.linuxidc.com/Linux/2013-02/79862.htm

Linux 下 Nginx+uWSGI 部署 Python 应用 http://www.linuxidc.com/Linux/2012-10/72443.htm

Ubuntu Server 12.04 安装 Nginx+uWSGI+Django 环境 http://www.linuxidc.com/Linux/2012-05/60639.htm

CentOS 5.5 + Nginx 0.8.50 + uWSGI + Django 1.2.3 部署 Django 项目 http://www.linuxidc.com/Linux/2011-05/36399.htm

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

解压安装

$ 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

解压安装:

$ tar -zxv -f uwsgi-1.9.tar.gz

$ cd uwsgi-1.9

$ python setup.py install

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-05/101529p2.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计5041字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中