linux、nginx和uwsgi搭建django生產(chǎn)環(huán)境

操作系統(tǒng):ubuntu14

** 1. 安裝nginx和uwsgi **

sudo apt-get update  # 更新apt-get的軟件列表
sudo apt-get install nginx  # 安裝nginx
sudo apt-get install uwsgi  # 安裝uwsgi

** 2. nginx的配置 **
依次執(zhí)行如下命令:

cd /etc/nginx/sites-available  # 進入nginx的配置文件夾
touch sitename.conf  # 新建一個配置文件
vim sitename.conf

并輸入以下內(nèi)容:

server {
    listen 80;
    server_name domain.cn;  # 這里寫自己解析到這臺服務器的域名,沒有的話就寫0.0.0.0
    charset utf-8;

    client_max_body_size 75M;

    # 配置映射django項目的media文件
    # 配置后當你訪問http://domain/media/1.pic時,nginx會自行處理,
    # 把你項目中的/home/web-sites/ProjectName/media/1.jpg給返回
    # 過去,同理,下面的static也是如此
    location /media {
        alias /home/web-sites/ProjectName/media; # django項目媒體文件目錄
    }
    location /static {
        alias /home/web-sites/ProjectName/static; # django項目靜態(tài)文件目錄
    }
    location / {
        uwsgi_pass django-ProjectName;  # 自己寫一個名字
        include uwsgi_params;
    }
}

將剛才的配置文件在sites-enabled建立一個軟連接,執(zhí)行命令如下:

ln -s /etc/nginx/sites-available/sitename.conf /etc/nginx/sites-enabled
service nginx restart  # 重啟nginx

** 3. uwsgi的配置 **
依次執(zhí)行如下命令:

cd /etc/uwsgi/apps-vailable
touch myapp.ini  # 新建一個配置文件。必須以ini為結尾
vim myapp.ini  # 編輯新建的配置文件

并輸入以下內(nèi)容:

[uwsgi]
master = true
chdir = /home/web-sites/ProjectName  # 項目目錄
processes = 4  # 進程數(shù)
socket = /home/web-sites/ProjectName/ProjectName.sock
chmod-socket = 666
wsgi-file = /home/web-sites/ProjectName/ProjectName/wsgi.py
daemonize = /home/web-sites/logname.log  # 日志文件地址

同樣將剛才的配置文件在apps-enabled建立一個軟連接,執(zhí)行命令如下:

ln -s /etc/uwsgi/apps-available/myapp.ini /etc/uwsgi/apps-enabled
service uwsgi restart  # 重啟uwsgi

** 注意事項:**

  1. 新加的配置文件必須為*.ini格式且軟連接到/etc/uwsgi/apps-enabled中
  2. 若有nginx或uwsgi啟動失敗的問題,可以查看/var/log/nginx.log和/var/log/uwsgi.log這兩個日志文件

** 遇到的問題 **

  1. 啟動uwsgi時出現(xiàn)以下錯誤:
Mon Aug  8 17:14:34 2016 - bind(): Permission denied [core/socket.c line 185]

解決方法為:

更改項目的最上層父目錄的權限為755或以上
  1. 通過nginx訪問出現(xiàn)如下錯誤:
Mon Aug  8 18:13:40 2016 - -- unavailable modifier requested: 0 --

解決方法為:

sudo apt-get install uwsgi-plugin-python
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容