部署crm項目

準備工做

使用xftp將項目傳到linux


將knight 傳到linux上python

將項目的數據導出

mysqldum  -uroot -p --all-database   >   alldb.dump

在windows的cmd中執行上面命令導出mysql全部數據庫的數據
而後將alldb.dump用xftp傳到opt目錄下mysql

導入數據:linux

mysql  -uroot -p  < alldb.dump

記得遠程鏈接受權:
ios

建立一個knight虛擬環境

mkvirtualenv knight

在虛擬環境下運行下項目

嘗試雲行下
nginx

發現缺乏模塊。
解決步驟:sql

pip3 install django==1.11.16
pip3 install pymysql
pip3 install django-multiselectfield

將項目的settings.py中參數改如下:

記得還需改變鏈接數據庫的帳號密碼等信息數據庫

啓動:

django

centos+django的項目部署就完成了vim

使用uwsgi

使用uwsgi.ini配置文件去啓動項目,這個文件本身去建立便可,放哪均可以
    (knight) [root@qishione knight]# cat uwsgi.ini 
[uwsgi]
# Django-related settings
# the base directory (full path)
#寫上項目的絕對路徑  
chdir= /opt/knight
# Django's wsgi file

#填寫找到django的wsgi文件,填寫相對路徑,以chdir參數爲相對路徑
module= knight.wsgi
# the virtualenv (full path)
#填寫虛擬環境的絕對路徑
home= /root/Envs/knight/
# process-related settings
# master
#啓動uwsgi主進程
master= true
# maximum number of worker processes
processes= 5

#若是你使用了nginx,作反向代理,必須填寫socket連接,而不是http參數
# the socket (use the full path to be safe
#socket= 0.0.0.0:8000

#若是你不用nginx,直接使用uwsgi,運行一個http服務端,就用這個http參數
http = 0.0.0.0:8000
# ... with appropriate permissions - may be needed
# chmod-socket    = 664
# clear environment on exit
vacuum= true



指定配置文件去啓動uwsgi
uwsgi --ini  uwsgi.ini

/opt/mydjangoproject/knight
啓動你會發現靜態文件不生效了windows

使用nginx反向代理

1.設置django的靜態文件目錄,收集一下
    修改knight/settings.py ,寫入以下參數
    STATIC_ROOT= '/opt/static'
    2.使用命令收集django的靜態文件
    python3 manage.py collectstatic
    3.查看django的靜態文件收集目錄
    ls /opt/static
    
    4.配置nginx,反向代理,找到uwsgi項目,且配置nginx處理uwsgi的靜態文件
    nginx.conf 修改配置以下
    
    server {
        listen       80;
        server_name  qishijd.com;
        #只要用戶訪問qishijd.com:80/  就走這個location匹配>,反向代理給uwsgi:
        location / {
            include    uwsgi_params;
            uwsgi_pass  0.0.0.0:8000;
                    }
            #當用戶請求是qishijd.com/static/的時候
            #就會進入這個location匹配
            #經過alias參數進行路徑別名,讓nginx去/opt/static底下去找靜>態資源
            location  /static  {
            alias  /opt/static;
}
    }

記得改這裏!!

10. 公司會用一個進程管理工具,去啓動,管理多個項目,supervisor


原本咱們是用命令啓動管理項目,


如今講這些命令,寫入到supervisor,經過superviosr去啓動管理這些命令


使用python2的模塊管理工具,去下載supervisor ,注意此時,退出虛擬環境
使用python2的模塊管理工具,去下載supervisor ,注意此時,退出虛擬環境
使用python2的模塊管理工具,去下載supervisor ,注意此時,退出虛擬環境
使用python2的模塊管理工具,去下載supervisor ,注意此時,退出虛擬環境
使用python2的模塊管理工具,去下載supervisor ,注意此時,退出虛擬環境

安裝supervisor
yum install python-setuptools
#安裝
easy_install supervisor

2.使用supervisor命令,生成配置文件
echo_supervisord_conf   >  /etc/supervisor.conf 

3.在這個配置文件中,寫入咱們想要管理的任務
vim /etc/supervisor.conf 
在最底行寫入以下配置
#定義一個任務,名字自定義
#commnad=參數,定義咱們啓動項目的命令
[program:crm_knight]
command=/root/Envs/knight/bin/uwsgi    /opt/knight/uwsgi.ini
stopasgroup=true     ;默認爲false,進程被殺死時,是否向這個
進程組發送stop信號,包括子進程
killasgroup=true     ;默認爲false,向進程組發送kill信號,包括子進程

4.經過配置文件啓動supervisor服務
supervisord -c /etc/supervisor.conf

5.啓動了supervisor服務端後,管理任務
supervisorctl -c /etc/supervisor.conf

任務管理命令以下:有兩種,一個是交互式,一個是參數形式
#參數形式

supervisorctl -c /etc/supervisor.conf stop/start/restart   all
supervisorctl -c /etc/supervisor.conf start crm_knight

#交互式形式
supervisorctl -c /etc/supervisor.conf
相關文章
相關標籤/搜索