Django笔记 生产环境部署 gunicorn+nginx+supervisor
2016-04-15 12:56
851 查看
使用supervisor来调用gunicorn。
用gunicorn来启动django服务。
然后用nginx做反向代理,代理django的服务,即实现面向用户的服务器。
1.
virtualenv venv34blog -p /usr/bin/python3.4
2.
source venv34blog/bin/activet
3.
pip—
现在要将Django程序部署到生产环境上,在vps上来练习一下。
Python 2.7
使用virtualenv建立多个虚拟环境,python为3.4.
然后cd projectname,gunicorn projectname.wsgi:application –bind 0.0.0.0:9090,绑定在本机上的9090端口
此时可以用netstat -lpnt查看端口占用情况
然后用curl 0.0.0.0:9090去测试,如果出现以下情况,说明成功了:
设置gunicorn.conf.py
/config/supervisor.conf
http://www.tuicool.com/articles/MVRze2
django 部署,gunicorn、virtualenv、nginx
http://www.cnblogs.com/tk091/p/3859514.html
http://www.jianshu.com/p/be9dd421fb8d
http://www.atmarkit.co.jp/ait/articles/1406/17/news013.html
http://www.atmarkit.co.jp/ait/articles/1407/24/news003.html
http://my.oschina.net/u/1241293/blog/383850
一个用户绑定多个域名
http://www.2cto.com/os/201411/355366.html
http://blog.csdn.net/zacklin/article/details/7859680
http://blog.csdn.net/nightelve/article/details/19265421
supervisor
http://blog.anatoo.jp/entry/20120310/1331321778
Nginx no-www to www and www to no-www
http://stackoverflow.com/questions/7947030/nginx-no-www-to-www-and-www-to-no-www
用gunicorn来启动django服务。
然后用nginx做反向代理,代理django的服务,即实现面向用户的服务器。
1.
virtualenv venv34blog -p /usr/bin/python3.4
2.
source venv34blog/bin/activet
3.
pip—
现在要将Django程序部署到生产环境上,在vps上来练习一下。
部署环境
Ubuntu 12.04 LTSPython 2.7
使用virtualenv建立多个虚拟环境,python为3.4.
前提
跟开发环境一样,使用了virtualenv建立了单独的运行环境,并且可以启动服务器了。1.gunicorn
在虚拟环境中安装gunicorn1.pip install gunicorn 2.在setting文件中添加app 3.gunicorn projectname.wsgi:application --bind 0.0.0.0:9090
然后cd projectname,gunicorn projectname.wsgi:application –bind 0.0.0.0:9090,绑定在本机上的9090端口
此时可以用netstat -lpnt查看端口占用情况
然后用curl 0.0.0.0:9090去测试,如果出现以下情况,说明成功了:
设置gunicorn.conf.py
2.supervisor
supervisor是一个监视和管理进程的工具,在进程当掉之后,可以重启。因此适合用此来启动服务器进程。安装
在os的python2.7环境下,安装supervisor配置文件
[program:myproject] command=/root/env/venv34/bin/gunicorn -c /root/workspace/myproject/myproject/gunicorn.conf.py myproject.wsgi:application ;directory=/opt/www/memo user=system autostart=true autorestart=true redirect_stderr=true ;environment=PYTHON_EGG_CACHE=/opt/www/memo/.python-eggs
/config/supervisor.conf
命令行
supervisord -c supervisor.conf 通过配置文件启动supervisor supervisorctl -c supervisor.conf status 察看supervisor的状态 supervisorctl -c supervisor.conf reload 重新载入 配置文件 supervisorctl -c supervisor.conf start [all]|[appname] 启动指定/所有 supervisor管理的程序进程 supervisorctl -c supervisor.conf stop [all]|[appname] 关闭指定/所有 supervisor管理的程序进程
3.nginx
安装
装nginx,此步适用ubuntu: apt-get install nginx
配置
/etc/nginx
输入没有www的域名自动转向含有www的域名的配置方法如下 server { listen 80; server_name example.com; return 301 http://www.example.com$request_uri; } server { listen 80; server_name www.example.com; ... }
命令行
nginx命令: 启动: /etc/init.d/nginx start 停止: /etc/init.d/nginx stop 测试配置文件是否正确: nginx -t 配置proxy功能: 重启nginx:nginx -s reload nginx restart 访问ip即可
参考
VPS环境搭建详解(Virtualenv+Gunicorn+Supervisor+Nginx)http://www.tuicool.com/articles/MVRze2
django 部署,gunicorn、virtualenv、nginx
http://www.cnblogs.com/tk091/p/3859514.html
http://www.jianshu.com/p/be9dd421fb8d
http://www.atmarkit.co.jp/ait/articles/1406/17/news013.html
http://www.atmarkit.co.jp/ait/articles/1407/24/news003.html
http://my.oschina.net/u/1241293/blog/383850
一个用户绑定多个域名
http://www.2cto.com/os/201411/355366.html
http://blog.csdn.net/zacklin/article/details/7859680
http://blog.csdn.net/nightelve/article/details/19265421
supervisor
http://blog.anatoo.jp/entry/20120310/1331321778
Nginx no-www to www and www to no-www
http://stackoverflow.com/questions/7947030/nginx-no-www-to-www-and-www-to-no-www
相关文章推荐
- 什么是Mac OS X?跟Linux有什么区别
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- 新注册
- Linux vs Mac:Linux 比 Mac 好的 7 个原因
- 苹果mac OS X上安装metasploit
- 四大漏洞入侵博客
- Validation of viewstate MAC failed.的解决方法
- Mac平台中编译安装Lua运行环境及Hello Lua实例
- 在Mac OS中安装Lua的教程
- vbs Windows系统改变或修改网卡的MAC地址的脚本与软件第1/2页
- MAC官方菜单纯CSS实现灰色会换色
- mac系统OS X10.10版本安装最新5.7.9mysql的方法
- 在Ubuntu系统上安装Ghost博客平台的教程
- 在Mac OS下使用Node.js的简单教程
- Mac环境下php操作mysql数据库的方法分享
- PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
- jQuery根据用户电脑是mac还是pc加载对应样式的方法
- 在MAC OS X上安装MYSQL
- django中使用jquery ajax post数据出现403错误的解决办法(两种方法)