Enviar pesquisa
Carregar
Django deploy
•
4 gostaram
•
1,486 visualizações
Andy Dai
Seguir
My talk about Django Deployment
Leia menos
Leia mais
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 45
Baixar agora
Baixar para ler offline
Recomendados
Node.js X Windows Azure
Node.js X Windows Azure
Caesar Chi
Node js q-con
Node js q-con
q3boy
Google's Infrastructure and Specific IoT Services
Google's Infrastructure and Specific IoT Services
Intel® Software
Building Voice Controls and Integrating with Automation Actions on an IoT Net...
Building Voice Controls and Integrating with Automation Actions on an IoT Net...
Intel® Software
The State of High-Performance Computing in the Open-Source R Ecosystem
The State of High-Performance Computing in the Open-Source R Ecosystem
Intel® Software
Yeoman - A Node.js cli tool for web developers
Yeoman - A Node.js cli tool for web developers
Caesar Chi
Webconf2013-非典型貧窮網站維運經驗分享
Webconf2013-非典型貧窮網站維運經驗分享
Mu-Fan Teng
An intro of web scaffolding tool using yeoman generator
An intro of web scaffolding tool using yeoman generator
貫銘 盛
Recomendados
Node.js X Windows Azure
Node.js X Windows Azure
Caesar Chi
Node js q-con
Node js q-con
q3boy
Google's Infrastructure and Specific IoT Services
Google's Infrastructure and Specific IoT Services
Intel® Software
Building Voice Controls and Integrating with Automation Actions on an IoT Net...
Building Voice Controls and Integrating with Automation Actions on an IoT Net...
Intel® Software
The State of High-Performance Computing in the Open-Source R Ecosystem
The State of High-Performance Computing in the Open-Source R Ecosystem
Intel® Software
Yeoman - A Node.js cli tool for web developers
Yeoman - A Node.js cli tool for web developers
Caesar Chi
Webconf2013-非典型貧窮網站維運經驗分享
Webconf2013-非典型貧窮網站維運經驗分享
Mu-Fan Teng
An intro of web scaffolding tool using yeoman generator
An intro of web scaffolding tool using yeoman generator
貫銘 盛
Web basic develop mode - Node.js
Web basic develop mode - Node.js
Caesar Chi
快快樂樂學 Scrapy
快快樂樂學 Scrapy
recast203
JavaScript for backend
JavaScript for backend
Caesar Chi
Tainan.py, Experience about package
Tainan.py, Experience about package
Tim (文昌)
Less
Less
pswho
初探 Elastic Observability 的實踐方法
初探 Elastic Observability 的實踐方法
Joe Wu
Qcon beijing-2013-04-27-tianyongqiang
Qcon beijing-2013-04-27-tianyongqiang
drewz lin
2013 輔大資工 暑期宅學營 PhoneGap 跨平台任我玩,HTML5 無痛開發 App
2013 輔大資工 暑期宅學營 PhoneGap 跨平台任我玩,HTML5 無痛開發 App
Huang-I Yang
Grpc + python.key
Grpc + python.key
Andy Dai
該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?
Andy Dai
Power UP your CLI
Power UP your CLI
Andy Dai
Search search search
Search search search
Andy Dai
Django channels
Django channels
Andy Dai
Django Third party packages
Django Third party packages
Andy Dai
Practical django secuirty
Practical django secuirty
Andy Dai
總之來講講 Search
總之來講講 Search
Andy Dai
Python web meetup 11 18
Python web meetup 11 18
Andy Dai
Django in heavy load environment
Django in heavy load environment
Andy Dai
電腦不只會幫你選土豆,還會幫你選新聞
電腦不只會幫你選土豆,還會幫你選新聞
Andy Dai
用 Python 打造你自己的 summly
用 Python 打造你自己的 summly
Andy Dai
Tradeoffs of replacing core components
Tradeoffs of replacing core components
Andy Dai
ElastiCache
ElastiCache
Andy Dai
Mais conteúdo relacionado
Semelhante a Django deploy
Web basic develop mode - Node.js
Web basic develop mode - Node.js
Caesar Chi
快快樂樂學 Scrapy
快快樂樂學 Scrapy
recast203
JavaScript for backend
JavaScript for backend
Caesar Chi
Tainan.py, Experience about package
Tainan.py, Experience about package
Tim (文昌)
Less
Less
pswho
初探 Elastic Observability 的實踐方法
初探 Elastic Observability 的實踐方法
Joe Wu
Qcon beijing-2013-04-27-tianyongqiang
Qcon beijing-2013-04-27-tianyongqiang
drewz lin
2013 輔大資工 暑期宅學營 PhoneGap 跨平台任我玩,HTML5 無痛開發 App
2013 輔大資工 暑期宅學營 PhoneGap 跨平台任我玩,HTML5 無痛開發 App
Huang-I Yang
Semelhante a Django deploy
(8)
Web basic develop mode - Node.js
Web basic develop mode - Node.js
快快樂樂學 Scrapy
快快樂樂學 Scrapy
JavaScript for backend
JavaScript for backend
Tainan.py, Experience about package
Tainan.py, Experience about package
Less
Less
初探 Elastic Observability 的實踐方法
初探 Elastic Observability 的實踐方法
Qcon beijing-2013-04-27-tianyongqiang
Qcon beijing-2013-04-27-tianyongqiang
2013 輔大資工 暑期宅學營 PhoneGap 跨平台任我玩,HTML5 無痛開發 App
2013 輔大資工 暑期宅學營 PhoneGap 跨平台任我玩,HTML5 無痛開發 App
Mais de Andy Dai
Grpc + python.key
Grpc + python.key
Andy Dai
該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?
Andy Dai
Power UP your CLI
Power UP your CLI
Andy Dai
Search search search
Search search search
Andy Dai
Django channels
Django channels
Andy Dai
Django Third party packages
Django Third party packages
Andy Dai
Practical django secuirty
Practical django secuirty
Andy Dai
總之來講講 Search
總之來講講 Search
Andy Dai
Python web meetup 11 18
Python web meetup 11 18
Andy Dai
Django in heavy load environment
Django in heavy load environment
Andy Dai
電腦不只會幫你選土豆,還會幫你選新聞
電腦不只會幫你選土豆,還會幫你選新聞
Andy Dai
用 Python 打造你自己的 summly
用 Python 打造你自己的 summly
Andy Dai
Tradeoffs of replacing core components
Tradeoffs of replacing core components
Andy Dai
ElastiCache
ElastiCache
Andy Dai
Dynamo db
Dynamo db
Andy Dai
Build your own trello witihin 100 LOC (with Meteor)
Build your own trello witihin 100 LOC (with Meteor)
Andy Dai
Boost your django admin with Grappelli
Boost your django admin with Grappelli
Andy Dai
Mais de Andy Dai
(17)
Grpc + python.key
Grpc + python.key
該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?
Power UP your CLI
Power UP your CLI
Search search search
Search search search
Django channels
Django channels
Django Third party packages
Django Third party packages
Practical django secuirty
Practical django secuirty
總之來講講 Search
總之來講講 Search
Python web meetup 11 18
Python web meetup 11 18
Django in heavy load environment
Django in heavy load environment
電腦不只會幫你選土豆,還會幫你選新聞
電腦不只會幫你選土豆,還會幫你選新聞
用 Python 打造你自己的 summly
用 Python 打造你自己的 summly
Tradeoffs of replacing core components
Tradeoffs of replacing core components
ElastiCache
ElastiCache
Dynamo db
Dynamo db
Build your own trello witihin 100 LOC (with Meteor)
Build your own trello witihin 100 LOC (with Meteor)
Boost your django admin with Grappelli
Boost your django admin with Grappelli
Django deploy
1.
Deploying Django Andy@Django Workshop 2013/8/6 1 13年8月6⽇日星期⼆二
2.
好不容易把網站寫好 了,終於要放上去... 2 13年8月6⽇日星期⼆二
3.
這還不簡單 3 13年8月6⽇日星期⼆二
4.
4 13年8月6⽇日星期⼆二
5.
4 • 買一台VPS 或實體機器 13年8月6⽇日星期⼆二
6.
4 • 買一台VPS 或實體機器 •
DNS 指好 13年8月6⽇日星期⼆二
7.
4 • 買一台VPS 或實體機器 •
DNS 指好 • python manage.py runserver 13年8月6⽇日星期⼆二
8.
4 • 買一台VPS 或實體機器 •
DNS 指好 • python manage.py runserver • 開啟 http://xxx.com:8000 13年8月6⽇日星期⼆二
9.
5 打完收工!開始賺錢! 13年8月6⽇日星期⼆二
10.
6 13年8月6⽇日星期⼆二
11.
7 13年8月6⽇日星期⼆二
12.
8 來!跟著我做! 13年8月6⽇日星期⼆二
13.
TURN OFF DEBUG 9 13年8月6⽇日星期⼆二
14.
你不會想讓使用者看到這些 10 13年8月6⽇日星期⼆二
15.
也不會想讓使用者看到這些.. 11 13年8月6⽇日星期⼆二
16.
IMPLEMENT 404 &
500 否則... 12 13年8月6⽇日星期⼆二
17.
13 報告學長,完全沒有畫面 13年8月6⽇日星期⼆二
18.
SET UP ERROR ALERTS 14 13年8月6⽇日星期⼆二
19.
DON’T USE SQLITE 15 13年8月6⽇日星期⼆二
20.
Web Server 的選擇 16 •
Apache 系 • 務必使用 mod_wsgi • 不過如果非不得已的話別自找麻煩... • nginx 系 • nginx + gunicorn • nginx + uwsgi 13年8月6⽇日星期⼆二
21.
nginx + gunicorn 17 13年8月6⽇日星期⼆二
22.
gunicorn 18 • http://gunicorn.org/ • Gunicorn
'Green Unicorn' is a Python WSGI HTTP Server for UNIX. It's a pre- fork worker model ported • 總之就是一個效能很好的 wsgi web server 13年8月6⽇日星期⼆二
23.
• pip install
gunicorn • gunicorn project.wsgi:application -b 0.0.0.0:$PORT -w $NUM_WORKERS 19 13年8月6⽇日星期⼆二
24.
20 #!/bin/bash set -e LOGFILE=/home/ubuntu/project/log/gunicorn.log LOGDIR=$(dirname $LOGFILE) NUM_WORKERS=5 USER=ubuntu GROUP=ubuntu cd
/home/ubuntu/project source /home/ubuntu/.virtualenvs/project/bin/activate test -d $LOGDIR || mkdir -p $LOGDIR exec /home/ubuntu/.virtualenvs/project/bin/home/ubuntu/.virtualenvs/project/bin/ gunicorn_django -w $NUM_WORKERS --user=$USER --group=$GROUP --log-level=debug --log-file=$LOGFILE 2>>$LOGFILE An example of run.sh 13年8月6⽇日星期⼆二
25.
21 用 supervisor 來管
process [program:project] directory = /home/ubuntu/project/ user = ubuntu command = /home/ubuntu/project/run.sh stdout_logfile = /home/ubuntu/project/log/logfile_std.log stderr_logfile = /home/ubuntu/project/log/logfile_err.log 13年8月6⽇日星期⼆二
26.
Usage • sudo supervisorctl
update • sudo supervisorctl status project • sudo supervisorctl stop project • sudo supervisorctl start project • sudo supervisorctl restart project 22 13年8月6⽇日星期⼆二
27.
NGINX 23 13年8月6⽇日星期⼆二
28.
nginx 是啥... 24 • 基本上是個
light-weight web server • Serve static/media files • 記得 python manage.py collectstatic • 當做 Reversed proxy 用 13年8月6⽇日星期⼆二
29.
nginx.conf 25 server { listen 80; ... location
/media/ { autoindex off ; root /path/to/your/media/file ; } location /static/ { autoindex off; root /path/to/your/static/file ; } location / { .... proxy_pass http://0.0.0.0:8000/; } } 13年8月6⽇日星期⼆二
30.
恭喜!結束了... 26 13年8月6⽇日星期⼆二
31.
不過是不是漏了什麼 27 13年8月6⽇日星期⼆二
32.
網站是會更新的! 28 13年8月6⽇日星期⼆二
33.
29 • 重新打包上傳一次 • use
git or mercurial • git pull 搞定一切 • 不過還是得要 ssh 登入之後做一堆事情 13年8月6⽇日星期⼆二
34.
30 USE fabric! 13年8月6⽇日星期⼆二
35.
SCALING 31 13年8月6⽇日星期⼆二
36.
32 13年8月6⽇日星期⼆二
37.
32 13年8月6⽇日星期⼆二
38.
32 13年8月6⽇日星期⼆二
39.
不過其實你可以不用 那麼辛苦 33 13年8月6⽇日星期⼆二
40.
34 • Media Server •
S3 • CDN • Database Server • Amazon RDS • Google Cloud SQL • Heroku Postgresql 13年8月6⽇日星期⼆二
41.
• Heroku • Openshift •
dotCloud • AWS Elastic Beanstalk 35 如果你有 $$,其實你真的不用 那麼辛苦 13年8月6⽇日星期⼆二
42.
Django deploy 有點麻 煩,剛開始學習用 PaaS
就好 36 13年8月6⽇日星期⼆二
43.
如果你 $$ 夠多,那麼 或許你也用
PaaS 就好 37 13年8月6⽇日星期⼆二
44.
Reference • http://michal.karzynski.pl/blog/2013/06/09/ django-nginx-gunicorn-virtualenv- supervisor/ • https://devcenter.heroku.com/articles/ django •
http://www.google.com 38 13年8月6⽇日星期⼆二
45.
一些好用的東西 • Sentry https://getsentry.com/ •
Newrelic http://newrelic.com/ • Papertrail https://papertrailapp.com/ • Amazon SES http://aws.amazon.com/ses/ 39 13年8月6⽇日星期⼆二
Baixar agora