Ubuntu server 12.04 LTS下 Nginx+uwsgi+Python-Flask 运行环境搭建

    xiaoxiao2021-03-25  14

    首先,得有一个Ubuntu服务器(当然或者其他)


    开发环境搭建 (以下安装都是在root超级用户,使用apt-get简易安装)

    1、nginx 安装

    apt-get install nginx

    完成安装后测试 启动nginx

    /etc/init.d/nginx start # 或者 service nginx start

    在终端输入curl 127.0.0.1:5000测试是否显示nginx欢迎信息

    2、uwsgi安装

    wget http://projects.unbit.it/downloads/uwsgi-2.0.5.1.tar.gz python setup.py install

    验证成功 /usr/bin/uwsgi -h 出现帮助提示就行了

    3、uwsgi-plugin-python安装 如果缺少它将出现502 bad gateway的网页,uwsgi的log日志会提示 – unavailable modifier requested: 0

    apt-get install uwsgi uwsgi-plugin-python

    4、python安装 Ubuntu提供了一个良好的python开发环境,Ubuntu12.04自带了python2.7和python3,可以自己选用

    5、python-pip安装

    apt-get install python-pip

    如果失败需要先安装python-dev

    6、flask安装

    pip install flask

    7、其他python模快都可以使用pip安装了,是否需要使用虚拟机,看自己喜好

    nginx和uwsgi配置

    1、先添加一个项目目录Test在/usr/local/src下,新建测试程序test.py

    # /usr/local/src/Test/test.py from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run()

    给项目目录配置权限,nginx和uwsgi默认是以www-data用户和组来运行: chown -R www-data:www-data /usr/local/src/Test chmod -R 775 /usr/local/src/Test

    2、修改nginx配置文件 /etc/nginx/sites-available/default

    ... location / { include uwsgi_params; uwsgi_pass 127.0.0.1:5000; root html; index index.html index.htm; } ...

    3、修改uwsgi文件,在/etc/uwsgi/apps-available目录下添加一个配置文件app_config.xml

    <uwsgi> <pythonpath>/usr/local/src/Test</pythonpath> <plugins>python</plugins> <module>test</module> <callable>app</callable> <socket>127.0.0.1:5000</socket> <master/> <processes>4</processes> <memory-report/> </uwsgi> pythonpath表示项目目录 module表示项目启动模块,如上例为test.py,这里就为test callable表示Test项目的实例名称,上例代码中app = Flask( name ),所以这里为app socket表示和nginx通信的地址和端口,和nginx配置里的uwsgi_pass一致。 processes表示开启多少个子进程处理请求。 部署,启动测试 启动uwsgi uwsgi -x app_config.xml 不要关闭此Terminal 新打开一个Terminal(Alt + Fx),登录进去

    启动nginx service nginx start

    测试 在浏览器中输入ip就能看到“Hello World!”


    Ubuntu apt-get 安装nginx和uwsgi 目录结构

    nginx的目录存放位置 配置文件目录 /etc/nginx 网站资源文件存放位置 /usr/share/nginx

    ubuntu的配置文件分成三部分:

    /etc/nginx根目录存放公共的配置

    在sites_available和sites_enabled配置站点相关的信息例如域名端口等等。

    /etc/nginx# tree ├── conf.d ├── fastcgi_params ├── koi-utf ├── koi-win ├── mime.types ├── nginx.conf ├── proxy_params ├── scgi_params ├── sites-available │ └── default ├── sites-enabled │ └── default -> /etc/nginx/sites-available/default ├── uwsgi_params └── win-utf /usr/share/nginx# tree . └── html └── index.html

    2 . uwsgi的目录存放位置 配置文件目录 /etc/uwsgi 资源文件 /usr/share/uwsgi

    ………..

    不想写了…….

    转载请注明原文地址: https://ju.6miu.com/read-300227.html

    最新回复(0)