html
PATH=/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/ruby/bin/:/root/bin #前面加上/opt/python36/bin
2.下載虛擬環境解釋器前端
在根目錄下 pip3 install -i https://pypi.douban.com/simple virtualenvwrapper #若是第一步的環境變量沒配置,pip3不能用
3.編輯 ~./bashrcvue
vim ~./bashrc 寫入如下兩行代碼 export WORKON_HOME=~/Envs #設置virtualenv的統一管理目錄 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的參數,生成乾淨隔絕的環境 export VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3 #指定python解釋器 source /opt/python34/bin/virtualenvwrapper.sh #執行virtualenvwrapper安裝腳本 讀取文件,使文件生效 source ~/.bashrc
4.新建一個虛擬環境node
在根目錄下
mkvirtualenv s15vuedrf
5.準備先後端代碼python
(1)代碼不在本地的狀況linux
在/opt/下建立一個s15vuedrf文件夾,用來放置先後端代碼 cd /opt/ mkdir s15vuedrf
下載先後端代碼 django代碼 wget https://files.cnblogs.com/files/pyyu/luffy_boy.zip vue代碼 wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip
獲得ios
解壓代碼 unzip 07-luffy_project_01.zip unzip luffy_boy.zip 注:unzip若是不能用 yum install unzip yum install zip
(2)代碼在本地的狀況nginx
使用xftp工具
填寫主機ip地址後,寫入Linux的用戶名密碼便可實現Linux與windows的文件互傳
將文件傳到指定位置便可
1.準備node打包環境web
在s15vuedrf文件夾在下載node
wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz
獲得redis
解壓該node包
tar -zxvf node-v8.6.0-linux-x64.tar.gz
獲得
進入該文件夾中的bin目錄 cd node-v8.6.0-linux-x64 cd bin 查看該路徑 pwd #獲得 /opt/s15vuedrf/node-v8.6.0-linux-x64/bin 將該路徑添加到環境變量中 vim /etc/profile 在最後加入/opt/s15vuedrf/node-v8.6.0-linux-x64/bin 讀取文件,使文件生效 source /etc/profile
檢測node和npm是否能正常使用 node -v npm -v
2.安裝vue的環境依賴(所需的包)
進入到前端代碼包中
cd 07-luffy_project_01
注:查看該目錄下的全部文件,若是有package-lock.json和node_modules文件,刪掉再進行下一步 rm -rf package-lock.json rm -rf node_modules
安裝依賴包
npm install
編譯打包
npm run build
以上兩條都正確以後,就會生成一個dist靜態文件,整個前端項目的內容以及index.html都在這裏了
3.注意: src/restful/api.js文件中,前端所寫的axios請求可能都是向本地服務器請求,須要改爲服務器的地址,因爲更改的地方較多,因此用sed語法
將全部的地址更改 sed -i "s/127.0.0.1/192.168.177.130/g" src/restful/api.js 檢查是否更改爲功 vim src/restful/api.js
1.準備工做
進入到後端代碼包中
cd luffy_boy
注:若是新開了一個窗口,虛擬環境沒有激活,要激活虛擬環境
workon s15vuedrf
2.解決後端軟件包依賴問題
(1)方式一:一次性安裝全部的依賴包
導出本地軟件包依賴 pip3 freeze > requirements.txt 將這個requirements.txt 傳至到服務器,在服務器的新虛擬環境中,安裝這個文件,就能安裝全部的軟件包了 pip3 install -r requirements.txt
(2)方式二:根據報錯一個個安裝依賴包
根據這一句的報錯逐個安裝依賴包,直到執行這句不報錯,證實全部的依賴包安裝完畢,後端項目可以運行 python3 manage.py runserver pip3 install -i https://pypi.douban.com/simple django pip3 install -i https://pypi.douban.com/simple requests pip3 install -i https://pypi.douban.com/simple django-redis pip3 install -i https://pypi.douban.com/simple pycrypto ......
出現下圖樣式,表示安裝成功
3.準備uwsgi,支持高併發的啓動python項目
下載uwsgi pip3 install -i https://pypi.douban.com/simple uwsgi 確保uwsgi來自虛擬環境 which uwsgi 獲得的路徑應該在s15vuedrf下
注:uwsgi的使用方式
(1)經過uwsgi啓動一個python web文件 定義一個配置文件並編寫 touch s15testuwsgi.py vim s15testuwsgi.py 在配置文件s15testuwsgi.py中寫入,並保存退出 def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return [b"Hello World"] # python3 uwsgi命令啓動(使用該文件啓動) uwsgi --http :8000 --wsgi-file s15testuwsgi.py 瀏覽器訪問 192.168.177.1300:8000 (2)經過uwsgi啓動django 建立一個Django項目 django-admin startproject djangotry 進入該Django項目 cd djangotry/ 經過uwsgi啓動django uwsgi --http :8000 --module djangotry.wsgi 訪問本地192.168.177.130 獲得Django基礎頁面證實訪問成功
注:uwsgi的熱加載(不重啓項目,自動生效新的後端代碼)
uwsgi --http :8000 --module djangotry.wsgi --py-authoreload=1
使用uwsgi的配置文件啓動項目
每次都寫這樣一句話"uwsgi --http :8000 --module djangotry.wsgi --py-authoreload=1",太麻煩,且啓動的配置參數會更長,使用項目啓動文件更方便 建立一個uwsgi.ini配置文件,寫入參數信息 touch uwsgi.ini 參數信息 [uwsgi] # Django-related settings # the base directory (full path) #指定項目的絕對路徑的第一層路徑!!!!!! chdir = /opt/s15vuedrf/luffy_boy/ # Django's wsgi file #指定項目的wsgi.py文件,寫入相對路徑便可,以chdir參數爲相對路徑 module =luffy_boy.wsgi # the virtualenv (full path) #寫入虛擬環境解釋器的絕對路徑 home = /root/Envs/s15vuedrf # process-related settings # master master = true # maximum number of worker processes #指定uwsgi啓動的進程個數 processes = 5 #socket指的是,uwsgi啓動一個socket鏈接,當使用nginx+uwsgi時,使用socket參數!!!!!(uwsgi不支持靜態文件的解析,必須用nginx處理靜態文件) # the socket (use the full path to be safe socket = 0.0.0.0:9000 #http是指uwsgi啓動一個http鏈接,不用nginx,只用uwsgi的時候,使用這個參數!!!!! #http =0.0.0.0:8000 # ... with appropriate permissions - may be needed # chmod-socket = 664 # clear environment on exit vacuum = true #後臺運行 daemonize=yes 使用uwsgi的配置文件啓動項目 uwsgi --ini uwsgi.ini
4.supervisor進程管理工具的使用
注:將Linux進程運行在後臺的命令有哪些??? 1.在命令後加上"&"符號 python manage.py runserver & 2.使用nohup命令 3.使用進程管理工具
使用python2的包管理工具下載easy_install,注意,此時要退出虛擬環境 easy_install supervisor 若是沒有easy_install命令,使用以下命令安裝 yum install python-setuptools 經過echo_supervisord_conf命令,生成一個配置文件,文件中就是要管理的進程任務 echo_supervisord_conf > /etc/supervisor.conf 編輯配置文件,寫入操做django項目的 命令 vim /etc/supervisor.conf 直接到最底行,寫入如下配置 [program:s15luffy] #uwsgi可執行文件的地址,以及uwsgi.ini的地址 command=/root/Envs/s15vuedrf/bin/uwsgi --ini /opt/s15vuedrf/luffy_boy/uwsgi.ini 啓動supervisord服務端,指定配置文件啓動 supervisord -c /etc/supervisor.conf 經過supervisorctl管理任務 supervisorctl -c /etc/supervisor.conf supervisor管理django進程的命令以下 supervisorctl直接輸入命令會進入交互式的操做界面 > stop s15luffy > start s15luffy > status s15luffy 啓動luffy的後端代碼
5.nginx的配置
編譯安裝nginx(略) nginx的主配置文件nginx.conf的配置 #第一個server虛擬主機是爲了找到vue的dist文件, 找到路飛的index.html server { listen 80; server_name 192.168.13.79; #當請求來自於 192.168.13.79/的時候,直接進入如下location,而後找到vue的dist/index.html location / { root /opt/s15vuedrf/07-luffy_project_01/dist; index index.html; } } #因爲vue發送的接口數據地址是 192.168.13.79:8000 咱們還得再準備一個入口server server { listen 8000; server_name 192.168.13.79; #當接收到接口數據時,請求url是 192.168.13.79:8000 就進入以下location location / { #這裏是nginx將請求轉發給 uwsgi啓動的 9000端口 uwsgi_pass 192.168.13.79:9000; # include 就是一個「引入的做用」,就是將外部一個文件的參數,導入到當前的nginx.conf中生效 include /opt/nginx112/conf/uwsgi_params; } }