Linux 搭建Nginx+uWSGI+Django環境

  1. 安裝環境html

    sudo apt-get install nginx
    sudo apt install python3
    sudo apt install python3-pip

    使用 sudo pip3 install 安裝 下面環境前端

    pip3 install 
                    uwsgi
                    Django
                    django-cors-headers  # 跨域
                    mysqlclient    # 鏈接MySQL
                    wechatpy[cryptography]  #微信公衆平臺SDK
                    xlrd  # 表格插件

    而後在項目文件夾根目錄執行下面命令,而後就能夠在項目根目錄下面找到後端的樣式資源(static文件夾下)了python

    python3 manage.py collectstatic
  2. 環境配置mysql

    cd /etc/nginx/sites-enabled/

    建立一個配置文件,如:demo,裏面的內容以下,當前示例配置文件是先後端分離(Vue和Django):nginx

    server {
        listen 80;
        listen [::]:80;
    
        server_name demo.zhuchenglin.cn;
    
        # 後端Django的樣式
        location /static/admin/ {
                     expires 30d;
                     autoindex on;
                     add_header Cache-Control private;
                     alias /var/www/html/demo/back/static/admin/;
        }
        # 前端樣式
         location /static/ {
                 expires 30d;
                 autoindex on; 
                 add_header Cache-Control private;
                 alias /var/www/html/demo/front/dist/static/;
    
        }
        # 前端找到Vue的index.html
        location /front/ {
            alias /var/www/html/demo/front/dist/;
            index index.html index.htm; 
        }
        # 後端處理請求
        location /{
               include  uwsgi_params;
               uwsgi_pass  127.0.0.1:9000;
                uwsgi_send_timeout 600; 
                uwsgi_connect_timeout 600;
                uwsgi_read_timeout 1000;   
    
         }
    }
  3. 服務啓動和關閉
    1. 啓動uWSGI,--processes 後面的數字能夠更改,表明開啓進程的個數。sql

      uwsgi --socket 127.0.0.1:9000 --chdir /var/www/html/demo/back  --module back.wsgi:application --processes 1 --enable-threads
      其餘關於uwsgi的參數請見uwsgi官方文檔
    2. 啓動Nginxdjango

      sudo /usr/sbin/nginx
    3. 關閉uWSGI和Nginx
      1. 關閉uWSGI和Nginx均可以使用ubuntu

        ps -ef | grep uwsgi
        ps -ef | grep nginx
        而後使用 kill -3 進程id
      2. nginx 命令
        sudo /usr/sbin/nginx -t #檢測配置文件是否有問題 sudo /usr/sbin/nginx -s stop # 快速關閉 sudo /usr/sbin/nginx -s quit # 從容關閉 sudo /usr/sbin/nginx -s reload sudo /usr/sbin/nginx -s restart後端

這樣就能夠經過域名來訪問Django項目了。跨域

注:本文操做在ubuntu系統上進行的,在其餘Linux系統上安裝軟件的命令可能不同(好比Centos用yum)
如需轉載請註明出處:http://www.javashuo.com/article/p-titlxelr-kc.html

相關文章
相關標籤/搜索