阿里輕量應用服務器+django+uwsgi+nginx+https項目部署小記

 

 

參考:    https://blog.csdn.net/watsy/article/details/9247967

 

sudo apt-get update
sudo apt-get install zlib1g
sudo apt-get install zlib1g-dev


----------------------------------安裝MySQL-------------------------------------

關於修改數據庫設置遠程連接
https://blog.csdn.net/junqing124/article/details/53180874?utm_source=blogxgwz0
關於安裝mysqlclient報錯找不到mysql_conf問題
https://www.cnblogs.com/fwl8888/p/9346338.html

----------------------------------python3.6.6-----------------------------------下載python3.6.6

wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz

tar -xvf Python-3.6.6.tar.xz

cd Python-3.6.6

#啓用優化
./configure --enable-optimizations

#這一步很耗時
make

make install


#更新pip版本
python3 -m pip install --upgrade pip

------------------------------------virtualenv----------------------------------

安裝虛環境

sudo apt-get install python2.7 python2.7-dev
sudo apt-get install virtualenv
sudo apt-get install virtualenvwrapper

echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc

source ~/.bashrc

mkvirtualenv envs

先創建許環境   再往下執行

.................................................................................

#1基本命令  

#a查看當前的虛擬環境目錄
workon +tab+tab

#b切換到虛擬環境
workon 虛擬環境名
  
#c退出虛擬環境
deactivate

#d刪除虛擬環境
rmvirtualenv venv

------------------------------------uWSGI---------------------------------------

#Python uwsgi 安裝配置

pip install uwsgi
apt-get install build-essential python-dev  依賴

#測試uwsgi是否可成功運行:
#新建個test.py文件
def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"]

uwsgi --http :9090 --wsgi-file test.py

訪問ip:9090 頁面輸出"Hello World"則表示成功

 在項目根目錄新建"uwsgi.ini"

[uwsgi]
#http=0.0.0.0:8889
socket=0.0.0.0:9656
chdir=/home/XinHeServer
wsgi-file=/home/XinHeServer/XinHeServer/wsgi.py
processes=1
threads=1
master=True
home=/root/.virtualenvs/envs
pythonpath=/root/.virtualenvs/envs/lib/python3.6/site-packages
pidfile=uwsgi.pid
daemonize=/home/logs/uwsgi_log/uswgi.log
vacuum=true
uwsgi_read_timeout=600
buffer-size     =65535

cd 到uwsgi.ini的目錄  運行: uwsgi --ini uwsgi.ini
-------------------------------------Nginx---------------------------------------


首先需安裝nginx依賴庫

1.安裝gcc g++的依賴庫
apt-get install build-essential
apt-get install libtool


2.安裝pcre依賴庫
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev


3.安裝zlib依賴庫
apt-get install zlib1g-dev


4.安裝ssl依賴庫
apt-get install openssl

 https的話直接去申請一年的免費證書然後給你一個key 下載這倆文件  1541069125642.pem    1541069125642.key    就這倆玩意   阿里官方教程已經很詳細了   然後把東西配到你的nginx就好了 .

 

接着就是把你的80端口定向到443去      

也就是用戶訪問你的網站時默認是到80 的  ,

而你的https卻是443端口

所以需要重定向一下就OK了

#nginx 配置

    server {  
        listen  80;  
        server_name 你的網址;  
        rewrite ^(.*)$  https://$host$1 permanent;  
    }  
    gzip_disable "msie6";

#https配置
    server {
        listen 443;
        server_name 你的網址;
        ssl on;
        charset     utf-8;
        client_max_body_size 3M;
        root html;
        access_log  /home/logs/nginx_log/xinhe_access.log;
        error_log   /home/logs/nginx_log/xinhe_error.log;
        index index.html index.htm;
        ssl_certificate   cert/1541069125642.pem;
        ssl_certificate_key  cert/1541069125642.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location /media  {
            alias /home/XinHeServer/media;
        }
        location /static {
            alias /home/XinHeServer/static;
        }
        location / {
            include uwsgi_params;
            #同uwsgi內容
            uwsgi_pass 0.0.0.0:9656;
            #鏈接超時時間
            uwsgi_read_timeout 60;
        }
    }


人老易忘,做此記錄.

 

 

 

 

 

 

------------------------------------------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章