django + Nginx + uwsgi部署

[toc]

安裝流程

本人是在ubuntu上部署的
1、升級python版本,ubuntu默認python版本是2.7和3.5的但是我需要的是python3.6,這里是python版本升級的參考
2、安裝nginx,測試nginx并進行基礎配置
3、安裝uwsgi,測試uwsgi并進行基礎配置
4、進行nginx、uwsgi和django的整合

安裝uwsgi

我是將uwsgi安裝在python虛擬環(huán)境中的

# 注意這里的3.6要與python的版本相對應,不然后面的安裝會失敗
apt-get install python3.6-dev 
pip install uwsgi

在django項目目錄下創(chuàng)建一個uwsgi.ini,配置如下:

[uwsgi]
# 配置服務器的監(jiān)聽ip和端口,讓uWSGI作為nginx的支持服務器的話,設置socke就行;如果要讓uWSGI作為單獨的web-server,用http
#http=0.0.0.0:8000
socket= 0.0.0.0:9999
# 配置項目目錄(此處設置為項目的根目錄)
chdir=/home/ubuntu/BEFB
# 這里代表在項目目錄下包含了wsgi文件的文件目錄---------------------------------
module=BEFB.wsgi:application
# 是否開啟一個進程來管理其他的服務進程
master=true
# 開啟的進程數量
processes=2
# 進程開啟線程的數量
threads=4
# 以守護進程方式提供服, 輸出信息將會打印到log中
daemonize=/home/ubuntu/BEFB/uwsgi.log
# 退出的時候清空環(huán)境變量
vacuum=true
# 記錄進程的pid方便用于管理進程的啟動和結束
pidfile = /home/ubuntu/uwsgi_pid.log
# python虛擬環(huán)境的位置
home=/home/ubuntu/nev
# 緩存大小的設置
buffer-size=32768

測試uwsgi之前先測試一下django項目是否正常運行,python manage.py runserver 0.0.0.0:8000

測試uwsgi之前開啟uwsgi的http協(xié)議,關閉socket協(xié)議,使用uwsgi --ini uwsgi.ini開啟服務。

安裝Nginx

Nginx安裝在全局

sudo apt-get install nginx

安裝完成之后,Nginx會自動開啟,使用瀏覽器測試一下,文件大致結構如下:

所有配置文件都在:/etc/nginx
默認的配置文件(這個文件不一般不做修改):/etc/nginx/nginx.conf
這個文件夾里面的文件是我們對Nginx自定義的配置(我們的配置寫在里面的文件):/etc/nginx/sites-available/
Nginx使用的自定義配置文件夾(我們將自定義的配置文件的軟鏈接放到里面,Nginx就會啟用):/etc/nginx/sites-enabled/

軟鏈接的使用:ln -s 源地址 目的地址 例如:ln -s /opt/linux/rootfs_dir /home/jyg/rootfs_dir

Nginx使用的一些操作:
service Nginx stop------關閉
service Nginx restart------重啟

配置Nginx

這里是一些基礎配置:

server {
        listen 9998;

        server_name 148.70.16.137;
        charset UTF-8;
    error_log       /home/ubuntu/nginx.log;        
    client_max_body_size 75M;

        location / {
        include uwsgi_params;
                uwsgi_pass 0.0.0.0:9999;
        }

        location /static {
        expires 30d;
        autoindex on;
        add_header Cache-Control private;
        alias /home/ubuntu/BEFB/static/img;
     }
 }

注意幾點

  • nginx監(jiān)聽的端口不能和uwsgi監(jiān)聽的端口一樣
  • 修改nginx配置文件之后需要restart重啟一下nginx才能生效
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容