Nginx + Gunicorn + Django 部署小記

本人對于nginx是剛接觸不久今天看一站長寫了關于Nginx + Gunicorn + Django 部署小記我也拿過來學習並分享給各位吧。

這段時間在用Django開發一個論壇,打算做一個Cocoa開發者社區。這幾天在學習如何部署,正好前段時間UCloud送了三個月主機,可以拿來練練手。VPS用的64位的Ubuntu 12.04,折騰兩天總算走通了,趕忙記錄下來...

apt-get
伺服器拿到手後第一件事就是更新apt-get,要換源什麽的自己搜一大堆。之前因爲系統不小心選成了Ubuntu 10.04了,遇到一大堆問題,後來換到12.04一切順利。

apt-get update
pip
pip還是建議更換源,速度是飛一般的感覺。具體方法可以看看我之前介紹的那篇文章《Pythoner的福利,豆瓣的PyPI源》

sudo apt-get install python-pip
Django
Django不用說肯定是用pip裝,我一般是用的最新版,這樣就可以了。

sudo pip install django
Nginx
首先給默認的Nginx配置備個份,這是好習慣。目錄位于/etc/nginx/sites-available/default

cp /etc/nginx/sites-available/default default.bak
然後Vim編輯

代碼如下

vim /etc/nginx/sites-available/default
server {
listen 80;

server_name www.111cn.net;
access_log /var/log/nginx/isaced.log;

location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

location /static/ {
root /data/isaced; #Django專案所在目錄
}

以上是最簡單的Nginx配置,目的是爲能跑起來就行,更多其他詳細配置還請參照其他文章。

Gunicorn
Gunicorn是一個朋友(CloverStd)推薦的,一個開源Python WSGI UNIX的HTTP伺服器,Github倉庫地址在這,傳說速度快(配置快、運行快)、簡單,默認是同步工作,支持Gevent、Eventlet異步,支持Tornado,官方有很詳細的文檔可以參閱。

需要在你的Django專案的settings.py中的INSTALLED_APPS加入:gunicorn

gunicorn --worker-class=gevent isaced.wsgi:application
•--worker-class
指定工作方式,這裏我用的gevent
如果提示You need gevent installed to use this worker則表示你還沒有安裝gevent。
•isaced.wsgi:application
這裏是指你的專案名,在Django創建專案的時候會自動生成對應名字文件夾中的wsgi.py,這裏就是指的它。
nohup
nohup是一個Linux命令,用來不挂斷地運行某條命令。這裏我們用它來執行gunicorn,來保持gunicorn進程不會被挂斷。

nohup gunicorn --worker-class=gevent NSLoger.wsgi:application -b 127.0.0.1:8000&
--worker-class來指定工作方式爲gevent,-b指定地址和埠號。

注意:在尾部加上&(and)字符表示後台運行

執行這條命令後可以用ps命令查看進程,就能看到gunicorn了~

Start
好了,以上就是整個伺服器的配置了。然後我們重啓下Nginx,刷新頁面就能看到你的Django App了。

sudo service nginx restart
一篇小白的部署日記就到這裏了,如有什麽錯誤的地方還請各位大大指正!

更多相關文章
  • 在配置 Nginx+Gunicorn+Django 時,我用Nginx作了反向代理,但是沒有設置轉發後request的host,發現所有請求都是返回"Bad Request (400)",現在來分享這個問題的解決方法
  • 本文章重點給各位同學介紹關于Nginx+PHP(FastCGI)+MySQL在小記憶體VPS(t1.micro)上的安裝配置與優化方法,文章記錄了安裝配置的整個過程希望對大家有幫助.背景介紹:以前,因爲AWS EC2的價格比較昂貴而租用了其它國外小廠商的VPS,在使用了3年多之後,發現AWS EC2
  • 一般個人站長買的伺服器都是空間小記憶體小那麽我們要如何來對小記憶體進行優化了,下面我來給各位同學介紹一下優化方法,適用于nginx,linux哦.先使用:ps aux 查看各進程記憶體使用情況.php-fpm的重啓/
  • 本文章爲各位簡單的介紹Nginx+uWSGI+Django+Python環境安裝配置詳解,如果各位對于在linux中Nginx+uWSGI+Django+Python環境安裝配置不了解可以和小編一志來看看吧.一.安裝PYTHON2.7.7:[[email protected] tools]# pwd/byrd/tool
  • linux+nginx+python+fastcgi 安裝配置及 django+web.py 部署
    最近專案需要使用nginx,因此將常用的django+apache的架構換成django+nginx+fastcgi,此文是整個搭建的步驟,django + web.py 只是作爲運行實例,其中可能有很多問題,本文或許可以給您作爲參考.linux下nginx+python+fastcgi部署總結(d ...
  • 本文我們在看看在windows下搭建 nginx+php 運行環境的詳細步驟,然後再將 wordpress 部署到 nginx+php 環境上調試,詳細教程如下文.以前玩wordpress的時候,還是用apache+
  • nginx日志配置 nginx日志log以JSON格式記錄
    本文我們來分享一下nginx日志配置的方法,文章後右我們繼續升級爲nginx日志log以JSON格式記錄,這樣可以更方便的對logstash進行分析.首先,我們來看看nginx日志配置日志對于統計排錯來說非常有利的.本文總結了nginx日志相關的配置如access_log.log_format.op ...
  • 下面我們來看一篇小編總結的linux中ruby2.1+ redmine2.5+nginx 配置,如果有需要了解的朋友不防進入參考,配置過程複雜但文章思路淺析了.在同一台伺服器上裝了redmine和gitlab 配置redmine + nginx的時候各種折騰啓動方法1:ruby script/rai ...
一周排行