首先,得有一个Ubuntu服务器(当然或者其他)
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-python4、python安装 Ubuntu提供了一个良好的python开发环境,Ubuntu12.04自带了python2.7和python3,可以自己选用
5、python-pip安装
apt-get install python-pip如果失败需要先安装python-dev
6、flask安装
pip install flask7、其他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/nginxubuntu的配置文件分成三部分:
/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.html2 . uwsgi的目录存放位置 配置文件目录 /etc/uwsgi 资源文件 /usr/share/uwsgi
………..
不想写了…….
