Django 項目部署

Django 項目部署

1. Nginx 靜態服務器

安裝 Nginx

sudo apt-get install nginx

配置 Nginx

sudo vim /usr/local/nginx/conf/nginx.conf

# 在server部分中配置

server {
         listen       80;
         server_name  www.meiduo.site;

        location / {
             root   /home/python/Desktop/front_end_pc;
             index  index.html index.htm;
         }

        # 餘下省略
}

啓停Nginx

# 重啓 Nginx 服務器

sudo /usr/local/nginx/sbin/nginx -s reload

# 首次啓動 Nginx 服務器
sudo /usr/local/nginx/sbin/nginx

# 停止 Nginx 服務器
sudo /usr/local/nginx/sbin/nginx -s stop

2. 動態接口

在項目中複製開發配置文件dev.py 到生產配置prod.py

修改配置文件prod.py中

DEBUG = True

ALLOWED_HOSTS = [...,  'www.meiduo.site']  # 添加www.meiduo.site

CORS_ORIGIN_WHITELIST = (
    '127.0.0.1:8080',
    'localhost:8080',
    ···根據需要添加···
)

3.UWSGI

安裝 uwsgi

pip install uwsgi

配置 uwsgi

在項目目錄下 (wsgi目錄)創建 uwsgi.ini 文件

[uwsgi]
#使用nginx連接時使用,Django程序所在服務器地址
socket=10.211.55.2:8001
#直接做web服務器使用,Django程序所在服務器地址
#http=10.211.55.2:8001
#項目目錄
chdir=/Users/delron/Desktop/meiduo/meiduo_mall
#項目中wsgi.py文件的目錄,相對於項目目錄
wsgi-file=meiduo_mall/wsgi.py
# 進程數
processes=4
# 線程數
threads=2
# uwsgi服務器的角色
master=True
# 存放進程編號的文件
pidfile=uwsgi.pid
# 日誌文件,因爲uwsgi可以脫離終端在後臺運行,日誌看不見。我們以前的runserver是依賴終端的
daemonize=uwsgi.log
# 指定依賴的虛擬環境
virtualenv=/Users/delron/.virtualenv/meiduo

修改 Nginx 配置文件,讓 Nginx 接收到請求轉發給uwsgi服務器

upstream meiduo {
         server 10.211.55.2:8001;  # 此處爲uwsgi運行的ip地址和端口號
         # 如果有多臺服務器,可以在此處繼續添加服務器地址
     }

     #gzip  on;
     server {
         listen  8000;
         server_name api.meiduo.site;

         location / {
             include uwsgi_params;
             uwsgi_pass meiduo;
         }

     }


     server {
         listen       80;
         server_name  www.meiduo.site;

         #charset koi8-r;

         #access_log  logs/host.access.log  main;
         location /xadmin {
             include uwsgi_params;
             uwsgi_pass meiduo;
         }

         location /ckeditor {
             include uwsgi_params;
             uwsgi_pass meiduo;
         }

         location / {
             root   /home/python/Desktop/front_end_pc;
             index  index.html index.htm;
         }


         error_page   500 502 503 504  /50x.html;
         location = /50x.html {
             root   html;
         }

     } 

     # 重啓 Nginx
     sudo /usr/local/nginx/sbi/nginx -s reload

啓停uwsgi

# 啓動 uwsgi
uwsgi --ini uwsgi.ini

# 停止 uwsgi
uwsgi --stop uwsgi.pid
發佈了49 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章