1.crm項目部署回顧(小BOSS)css
crm部署 nginx+uwsgi+django+mysqlhtml
nginx 前端前端
uwsgi+django 後端vue
mysql 數據支撐node
crm是一個單體的應用,前端代碼和後端代碼,融合在了一塊兒.這種須要會佈置python
linux默認終端有7個mysql
按住ctrl + alt 從 f1-f7是7個終端 f1是圖形化終端,f2-f7是黑屏
咱們用的是xshell遠程鏈接,鏈接到linux,能夠有N個終端jquery
咱們從新登陸服務器,linux
注意.docker不要隨便停人家的服務,這很危險.nginx
寫代碼,提供服務纔是產品,纔可以賺錢.linux命令必定要學熟
領導給了服務器帳戶和密碼,要登陸服務器,看進程,看端口,看具體跑了什麼東西,才能明白服務器的做用
3306是一臺服務器.ps -ef nginx表明web服務器的服務器
nginx web server 學名是服務器,也就是linux用的web軟件
命令看下ps -ef
每一個任務對應一個窗口,
web ` 對應80
django 對應8000
數據庫 3306
若是端口改變了,咱們須要認識後邊的Program name
老師想要儘量這個過程當中發生了什麼,從無到有.
如何快速的進行一步?
linux默認終端有7個 按住ctrl + alt 從 f1-f7是7個終端 f1是圖形化終端,f2-f7是黑屏 咱們用的是xshell遠程鏈接,鏈接到linux,能夠有N個終端 1.先去啓動後端,uwsgi + django 2.先準備項目 xftp lrzsz 3.先準備虛擬環境 4.安裝uwsgi 5.用uwsgi啓動crm項目 -一是命令 + 參數 (不建議使用,請用配置文件 uwsgi.ini) uwsgi --http :8000 --module crm.wsgi 解釋:--http 就是直接能夠經過瀏覽器訪問,不經過nginx uwsgi --socket :8000 --module crm.wsgi 解釋: --socket 是必須用nginx去反向代理,才能找到,瀏覽器直接訪問找不到
No application,這個錯誤是,必需要進入項目的第一層目錄,可能在家目錄下面可能執行
下面咱們用uwsgi.ini進行配置
咱們須要要這個文件uwsgi.ini啓動,下面咱們打開這個文件看一下文件內的配置
配置文件,就如上圖那麼多.
如今,若是咱們想要啓動這個進程,必須找到第一層,在這個目錄下面啓動
回車,發現啓動4個進程
咱們發現,上邊的進程已經存在了.
出現以下圖的問題:
解決方案見下圖.
強制殺死,兩個進程
這個時候,啓動了4個工做進程.
咱們如今結束窗口1這個運行
運行第二個窗口,查看進程
再次在窗口1中運行:
在窗口2中再次查看
查看一下端口
這個時候,咱們可以查看到這個端口uwsgi是8000端口
這個時候咱們查看到的是8000端口訪問不了,
咱們關閉防火牆試一下
依然訪問不了
5.用uwsgi啓動crm項目 -一是命令 + 參數 (不建議使用,請用配置文件 uwsgi.ini) uwsgi --http :8000 --module crm.wsgi 解釋:--http 就是直接能夠經過瀏覽器訪問,不經過nginx uwsgi --socket :8000 --module crm.wsgi 解釋: --socket 是必須用nginx去反向代理,才能找到,瀏覽器直接訪問找不到 正確的方式: 二,用配置文件uwsgi.ini [uwsgi] # Django-related settings # the base directory (full path) #填寫項目的絕對路徑(第一層路徑) chdir = /opt/Crm_Project # Django's wsgi file #填寫crm第二層目錄下的wsgi.py文件的路徑 module = Crm_Project.wsgi # the virtualenv (full path) #填寫虛擬環境的絕對路徑 home = /root/Envs/nginx_crm # process-related settings # master master = true # maximum number of worker processes #基於uwsgi的多進程,根據cpu來優化 processes = 4 # the socket (use the full path to be safe #若是你用了nginx反向代理,就填寫socket參數 #若是你用了nginx反向代理,就填寫socket參數 #若是你用了nginx反向代理,就填寫socket參數 #若是你用了nginx反向代理,就填寫socket參數 #若是你用了nginx反向代理,就填寫socket參數 socket = 0.0.0.0:8000 #若是你沒用nginx,想直接經過瀏覽器測試後端,使用http #http = 0.0.0.0:8000 # ... with appropriate permissions - may be needed # chmod-socket = 664 # clear environment on exit vacuum = true
三,經過配置文件,啓動crm,啓動後端!!!! uwsgi --ini uwsgi.ini 四。關閉防火牆 iptables -F #清空規則 systemctl stop firewalld #關閉防火牆服務 systemctl disable firewalld #禁止開機自啓 五,收集crm的靜態文件 修改settings.py 寫入 STATIC_ROOT= '/opt/crmstatic' 六:用命令收集靜態文件 python3 manage.py collectstatic
這樣咱們就能夠查看這個防火牆,這時候就僅僅有3條列了.看見這三行表明防火牆已經關閉了
咱們再次刷新一下網址,
服務端獲得的地址
無效請求塊的大小 ,
咱們如今是把後盾啊跑出來了.
2.安裝這個數據庫
2.準備數據庫,啓動 #保證mariadb已經安裝了 yum install mariadb-server mariadb -y systemctl start mariadb #啓動數據庫
沒有任何的提示,就表明最好的提示
下面,咱們啓動數據庫
咱們也能夠驗證這個事情,查看的命令是 systemctl status mariadb
這個時候,咱們發現,正在運行了
這個時候,咱們發現了這個命令包括8000端口的uwsgi和3306端口的mysql都已經啓動了
咱們能夠登陸mariadb看一下
登陸,沒有密碼,查看一下數據庫
退出
3.準備nginx,進行反向代理 1.安裝nginx 2.修改nginx的配置文件 nginx.conf 3.修改代碼以下,截取的片斷代碼以下,參照着修改 upstream mycrm { server 0.0.0.0:8000; } #nginx的虛擬主機參數 server { #第一個虛擬主機,監聽的80端口 listen 80; #填寫的是你自定義的域名 或者服務器的ip地址,或者寫locathost server_name 192.168.226.128; #當用戶訪問 www.s18dnf.com的時候,就進入這個虛擬主機 location / { uwsgi_pass http://mycrm; include uwsgi_params; } #這個location是解決crm的靜態文件的問題的 #只要請求url是192.168.226.128/static/admin/admin.css location /static { #alias參數 就是將/static轉化爲/opt/crmstatic ,也就找到了咱們全部的靜態文件 alias /opt/crmstatic; }
這個時候,咱們再準備nginx
打開文件:
咱們須要改的是連個虛擬主機
保存,退出
咱們找到了這個參數逇位置
如今也就是一個普通的文本uwsgi_params,包含在nginx.conf確定不行的
下面咱們再來編輯剛纔的文件:
只有上邊的一點點代碼
上邊表明解決靜態文件問題的文件.
只要配置了上圖紅框內的內容,nginx就會返回靜態文件相關的內容.
uwsgi_pass表明轉發給一個單點機器
下面咱們結合一下負載均衡結合地址池
在這裏,咱們須要寫上多個地址.
這個時候,下面咱們須要修改一下下面的uwsgi_pass的寫法
總體寫法見下圖
也就是負載均衡結合反向代理
上邊是:定義負載均衡池,寫入你的後端地址
下面的是:轉發給負載均衡池,名字是自定義的叫mycrm
保存退出.
一個問題:沒有作靜態文件收集
補充:
五,收集crm的靜態文件 修改settings.py 寫入 STATIC_ROOT= '/opt/crmstatic' 六:用命令收集靜態文件 python3 manage.py collectstatic
修改一下這個settings.py
這個地方,最好仍是用虛擬環境,而後輸入收集命令.
輸入yes,只有熟練了,纔會
其實咱們什麼事情,都沒有作.因此是0個文件.
下面是一點點步驟和一些片斷代碼:
3.準備nginx,進行反向代理 1.安裝nginx 2.修改nginx的配置文件 nginx.conf 3.修改代碼以下,截取的片斷代碼以下,參照着修改
upstream mycrm { server 0.0.0.0:8000; } #nginx的虛擬主機參數 server { #第一個虛擬主機,監聽的80端口 listen 80; #填寫的是你自定義的域名 或者服務器的ip地址,或者寫locathost server_name 192.168.226.128; #當用戶訪問 www.s18dnf.com的時候,就進入這個虛擬主機 location / { uwsgi_pass http://mycrm; include uwsgi_params; } #這個location是解決crm的靜態文件的問題的 #只要請求url是192.168.226.128/static/admin/admin.css location /static { #alias參數 就是將/static轉化爲/opt/crmstatic ,也就找到了咱們全部的靜態文件 alias /opt/crmstatic; }
整個是自上而下找代碼.
ip是經過自上而下尋找,若是是4個主機,咱們須要經過域名進行區分.
目的就是找到,功能性的虛擬主機.
nginx修改完成後,咱們須要在平滑加載一下
報錯,咱們從新打開看下
這個時候,咱們去掉http看一下
依然報錯,
多了一個括號
應該是少了一個分號;
老師測試的時候,出現的一個問題
這個錯誤是須要啓動nginx
老師檢查了一下端口,這時候沒有開啓80端口,80表明的是nginx
上邊這個咱們須要開啓nginx服務
這個時候再次訪問,依然訪問不到,什麼狀況
流程圖:
用戶=>請求192.168.34.128(域名www.pian.com:80)==>nginx(經過uwsgi_pass進行負載均衡)
==>(uwsgi 8000端口)
一次咱們訪問的是80端口
訪問80端口,獲得下圖:
沒有訪問的權限,可是進入到了django了
下面咱們進入admin,訪問下面的地址
這個時候,靜態頁面也就出來了
咱們能夠直接訪問這個地址,獲得下面的頁面,下面咱們須要結合域名和ip進行處理
2.supervisor的坑(接着上邊的第一個)
4.還差一個supervisor 1.下載安裝(看昨日筆記) 2.修改supervisor的配置文件 寫入任務 3.這裏有個坑 咱們用supervisor,其實就是幫我們執行了一下啓動uwsgi的命令而已 4.注意後臺不能啓動過uwsgi
咱們須要導出一個文件
昨天咱們已經操做了,因此上邊就省略了
此時咱們開始編輯supervisor.conf
在最底部寫入這樣的一個任務
若是路徑發生了變化,第一個要修改爲本身的uwsgi的絕對路徑
以及本身的配置的絕對路徑.
注意,這裏的一個坑.
若是後端已經開了一個uwsgi,再用supervisor啓動,固然是啓動不了的.
下面咱們開始用匹配supervisor的一個命令
這個時候表明已經啓動了
咱們再啓動一下supervisor,看到熟悉的報錯界面,見下圖,應該看到的是running
也就是咱們已經開啓了一個8000,如今咱們想再用supervisor再開啓一個8000,確定會報錯的.
咱們如今應該怎麼辦?幹掉原來的8000
還有一個問題是supervisor跑起來了,一直開一個小窗口在這個跑,能不能在後臺讓他跑?
手動起這個程序,會須要一個窗口,可是用supervisor就會在後臺起這個.什麼叫後臺起?就是不佔用一個窗口,在程序後邊啓動.
咱們先退出左邊的程序.
查看端口
篩選出supervisor
咱們幹掉以後,從新來一次 kill -9 6273 強制殺死
咱們看一下man手冊
沒找到,能夠經過linux 在線命令查看
kill -9 表示強制殺死的一個信號
幹掉以後,從新執行下面的命令
這個時候成功跑起來了(剛纔電腦卡了一下,將來可能存在一些問題,注意下).
這個時候,成功訪問.
上圖是咱們中止服務,再看一下網頁
再開啓一下,
3.路飛學城部署
vue+nginx+uwsgi+django+mysql+redis
redis(就是一個key - value鍵值型數據庫,緩存型數據庫,內存型數據庫),mysql是一個關係型數據庫 vue + django 先後端分離的項目 js html css bootstrap jquery
點擊進入"路飛學城",
點擊python//linux//go只是實現單獨的不刷新,相似於ajax局部刷新
名字叫作vue+django 先後端分離的項目 這種也須要會佈置
上圖是nginx.conf的一個配置文件
部署方法以下:
首先,咱們創建一個統一管理的目錄.s18luffy
直接在linux下載
上邊是解壓的命令
由於使用mac結尾的因此出現了這個圖標.
咱們刪除這個文件.
咱們每次開一個新項目,就須要開啓一個新的虛擬環境
這個過程須要一點點時間.
咱們看到,上圖目前是一個乾淨的虛擬環境.
下圖先處理的是後端的uwsgi後端的部署.
2.後端uwsgi部署
1.下載路飛代碼
wget https://files.cnblogs.com/files/pyyu/luffy_boy.zip
2.安裝新的虛擬環境,解決環境依賴問題 ,能夠用requirements.txt解決依賴問題
vim requirements.txt #打開,編輯寫入以下模塊依賴包信息
certifi==2018.11.29
chardet==3.0.4
crypto==1.4.1
Django==2.1.4
django-redis==4.10.0
django-rest-framework==0.1.0
djangorestframework==3.9.0
idna==2.8
Naked==0.1.31
pycrypto==2.6.1
pytz==2018.7
PyYAML==3.13
redis==3.0.1
requests==2.21.0
shellescape==3.4.1
urllib3==1.24.1
uWSGI==2.0.17.1
3.安裝這個文件 requirements.txt
pip3 install -i https://pypi.douban.com/simple -r requirements.txt
4.使用uwsgi去啓動路飛學城後端
使用uwsgi.ini配置文件方式啓動,內容以下
[uwsgi]
# Django-related settings
# the base directory (full path)
#填寫項目的絕對路徑(第一層路徑)
chdir = /opt/s18luffy/luffy_boy
# Django's wsgi file
#填寫crm第二層目錄下的wsgi.py文件的路徑
module = luffy_boy.wsgi
# the virtualenv (full path)
#填寫虛擬環境的絕對路徑
home = /root/Envs/s18luffy
# process-related settings
# master
master = true
# maximum number of worker processes
#基於uwsgi的多進程,根據cpu來優化
processes = 4
# the socket (use the full path to be safe
#若是你用了nginx反向代理,就填寫socket參數
#若是你用了nginx反向代理,就填寫socket參數
#若是你用了nginx反向代理,就填寫socket參數
#若是你用了nginx反向代理,就填寫socket參數
#若是你用了nginx反向代理,就填寫socket參數
socket = 0.0.0.0:9001
#若是你沒用nginx,想直接經過瀏覽器測試後端,使用http
#http = 0.0.0.0:9001
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
5.用supervisor也去管理路飛的後臺
[program:s18luffy]
command=/root/Envs/s18luffy/bin/uwsgi --ini /opt/s18luffy/luffy_boy/uwsgi.ini
stopasgroup=true
killasgroup=true
首先,咱們建立這樣的一個文本文件,再打開,寫入要安裝的包.
記得要空一行.
保存退出.
上圖是,咱們先看一下要安裝的包以及,這個文件夾下面的內容.
下面,咱們開始安裝
這個時候一行一行讀取下載.
這時候,咱們須要配置第四步.
安裝完成以後,咱們查看一下安裝了哪些包
下面咱們測試一下能不能跑起路飛學城來?
如今,咱們調用的是wsgi這個模塊,這個模塊的性能很低
上邊紅色的是,咱們沒有進行數據庫遷移,咱們先退出來,解決的這個問題.
上圖當前處於運行狀態,咱們固然不能用0.0.0.0:9999進行訪問.
上圖,咱們返回的僅僅是json字符串.
也就是json化的數據,也就是發送給前端的vue.
後端給前端發送數據,前端在渲染,相關的內容
這個時候,咱們獲得的知識一些json的一些數據.
這個時候,咱們返回的只是一些json的數據,沒有什麼意義
咱們須要的是,經過json返回的數據渲染前端的內容.
如今,咱們訪問這個前端也就沒有了任何的意義.
前端獲得的是json數據是沒有意義的.咱們該如何處理?
下圖是第一層路徑
第二層路徑也是須要修改的,注意咱們說的須要修改的文件是啓動文件uwsgi.ini
須要修改的地方:
1.項目的絕對路徑,第一層路徑
2.第二層路徑下的wsgi.py文件
3.填寫虛擬環境的絕對路徑
4.修改端口
socket=0.0.0.0:9000
虛擬環境如何尋找?存放虛擬環境的位置,見下圖
如今,咱們須要考慮端口是否會衝突
這個時候,咱們看到後端端口,8000正在跑.
cd - #回到上一次的工做目錄
咱們再建立一個啓動文件.
編輯這個文件,複製上邊的內容:
確認沒有問題,保存退出
下面咱們啓動文件
下圖中,確保沒有error信息,後端就跑起來了
下面咱們再用supervisor在啓動一下
咱們不能手動啓動,咱們用supervisor試一下,
退出以後,咱們編輯一下下面的supervisor內容.
進入以後,如何複製4行?光標停在途中所示的綠色位置而後 4yy 就能複製了四行,複製就 p 一下
環境裏邊的uwsgi和配置文件裏邊的uwsgi都須要絕對路徑
dd是刪除一行的命令
而後,咱們保存退出.
上圖是查看執行uwsgi的絕對路徑
咱們啓動文件的路徑:見下圖
而後咱們運行這條命令:
由於咱們修改了下圖所示的supervisor.conf,因此咱們須要處理一下
咱們先殺死關於supervisor的內容.
這個時候已經殺死了supervisor,
思考:若是殺不死怎麼辦?
殺死這個進程可能慢一些,不要着急
這個時候,咱們再啓動一下supervisor
出現上邊現象是由於,咱們把兩條絕對路徑給註釋掉了
這個時候,咱們再從新啓動一下:
這個時候,咱們看到了s18crm和s18luffy都運行了
這個時候,咱們再次打開這個配置文件.
複製出來:
[program:s18luffy] command=/root/Envs/s18luffy/bin/uwsgi --ini /opt/s18luffy/luffy_boy/uwsgi.ini stopasgroup=true killasgroup=true
後端如今搞定了,咱們開始搞前端
1.前端vue部署,雖然沒有學,可是思路是有的,如何完?
2.路飛學城部署 vue + nginx + uwsgi + django + mysql + redis(就是一個key - value型數據庫,緩存型數據庫,內存型數據庫) vue + django 先後端分離的項目 js html css bootstrap jquery 部署方法以下 1.前端vue部署 1.下載vue代碼,解壓縮 wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip unzip 07-luffy_project_01.zip 2.配置node環境,去打包編譯vue代碼 下載node的代碼包 wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz 解壓縮node代碼包 tar -zxvf node-v8.6.0-linux-x64.tar.gz 配置node的PATH環境變量便可 修改PATH生效便可 3.驗證node是否正確配置(node就是如同python解釋器 npm就是如同pip軟件包管理工具) node -v npm -v 4.修改vue的代碼文件 由於vue須要向後臺發起請求,找到uwsgi 咱們的架構是將uwsgi隱藏在nginx後面 全部,vue(端口80)首先找的是nginx(反向代理,端口是9000),而後nginx(反向代理,端口是9000)反向代理給uwsgi (後端地址,9001) 修改方式以下 api.js路徑以下/opt/s18luffy/07-luffy_project_01/src/restful #這裏更改你本身的服務器ip地址 sed -i "s/127.0.0.1:8000/192.168.226.128:9000/g" api.js sed 是linux處理字符串的命令 -i 是將結果替換到文件 "s/127.0.0.1:8000/192.168.226.128:9000/g" #解釋 s是替換模式 /你想替換的內容/你想替換的結果/ g是全局替換 api.js 你想修改操做的文件 5.進行打包vue,生成靜態文件夾 dist 確保你在vue的代碼文件夾 npm install #解決vue代碼所需的模塊依賴 npm run build #進行編譯打包 6.當vue打包正確完成後,生成一個dist靜態文件夾,此時就給丟給nginx去處理啦!!!
首先,前端代碼須要下載下來,
前端也是須要下載一個壓縮包.
即便,咱們不會寫python和node,依然能夠作好這個事情.
前面,咱們先保存退出.
先回到/opt/下面,再回到咱們的項目下面,s18luffy下面.
咱們,如今須要的是對先後端的代碼進行統一管理.
如今咱們開始下載:
先查看一下,而後咱們再解壓縮
解壓縮:
這個時候node環境就出來了
進入node環境,bin認識
這個時候,咱們發現node和npm已經提供好了
有人已經幫咱們作好了,咱們只須要配置環境變量就能夠了
如何將上邊的路徑加入環境變量?
而後,咱們找到,
PATH,添加內容到路徑內.:
保存,退出.
執行下圖的命令,使其生效
下面咱們看一下具體的內容.版本
node是解釋器,npm指的是pip那個包
查看版本的目的:
3.驗證node是否正確配置(node就是如同python解釋器 npm就是如同pip軟件包管理工具) node -v npm -v
下面,咱們進入vue目錄下面的代碼框架的目錄
vue的代碼須要打包,編譯的
vue首先找到nginx,nginx用的是虛擬主機配置的,經過 兩個server虛擬主機實現的功能,
vue最終生成的是靜態文件.
部署vue的流程:
1.用戶訪問域名ip,首先進入的是nginx,看到的是vue的靜態頁面index.html
2.當咱們用戶在瀏覽器,點擊路飛頁面的課程列表,就向後臺的django發起post請求,好比0.0.0.0:9000(django和uwsgi)
3.uwsgi也就是後臺,接收到請求,響應請求,返回一個json數據
4.vue接收到數據,進行渲染.也就是看到了課程信息了.
可是,咱們在django前面加上了nginx,也就是反向代理,爲了讓用戶不直接訪問後臺,爲了保護後臺,
不要http找到django,而用的是socket找到django,
再總結一下,
vue 發起數據請求,請求流程是
vue=>nginx=>反向代理 丟給uwsgi,
因此,vue找到的仍是nginx
注意,nginx和uwsgi各自佔用一個端口.
9001指的是後端django啓動的一個端口.
捋一下:
8000指的是crm的uwsgi.
9000指的是第二個虛擬主機的9000
9001指的是後端的uwsgi的9001
80虛擬主機1,是首先打交道的虛擬主機,做用是:用於返回vue頁面的一個東西.
虛擬主機能夠實現web服務器的一個做用.
虛擬主機用於返回靜態頁面的做用,虛擬主機2是反向代理的做用.
接收前端的一個反向列表.看一下python的課程有哪些,
首先傳遞到nginx,而後再傳到uwsgi,
虛擬主機是經過server標籤實現的,
當咱們在路飛首頁,點擊課程列表的時候,vue發起一個post請求,請求格式是 服務器ip:9000 反向代理的做用端口
而後,nginx的9000端口,又向後臺的uwsgi 9001轉發了請求,
下面咱們開始繼續進行:(站在運維的角度思考問題)
咱們看到有一個js文件.
打開這個文件:
咱們應該替換成服務器IP以及虛擬主機2的ip
沒有運維就是須要本身須要幹
裏邊信息那麼多,確定不可能本身一個一個修改的
用sed,用於處理字符串的一個命令
最後的g,表明全局替換
直接回車,就所有修改了
如今,只是返回這樣的結果,並無生效
咱們加上-i表示替換結果,寫入到文件.
回車,再打開一下,發現所有都修改完成了.
sed是linux處理字符串的命令
-i是將結果替換到文件
sed 是linux處理字符串的命令 -i 是將結果替換到文件 "s/127.0.0.1:8000/192.168.226.128:9000/g" #解釋 s是替換模式 /你想替換的內容/你想替換的結果/ g是全局替換 api.js 你想修改操做的文件 5.進行打包vue,生成靜態文件夾 dist 確保你在vue的代碼文件夾 npm install #解決vue代碼所需的模塊依賴 npm run build #進行編譯打包 6.當vue打包正確完成後,生成一個dist靜態文件夾,此時就給丟給nginx去處理啦!!!
56.須要進入那個源碼處理
56.咱們要執行命令的路徑
如今,咱們開始執行安裝,注意必須在這個目錄下面才能執行下面的兩條命令
warning不重要,error重要.不行.
這個安裝速度是取決於網速
npm install #解決vue代碼所需的模塊依賴//取決於網速
npm run build #進行編譯打包//取決於機械硬盤轉的速度
編譯打包完成以後,會出現一個dist文件,咱們進入這個dist
一個是主頁,nginx和static靜態文件
6.當vue打包正確完成後,生成一個dist靜態文件夾,此時就給丟給nginx去處理啦!!!
目前nginx.conf已經和crm結合了.
這裏,咱們先拷貝出一份nginx.conf,防止該亂了
這樣咱們內心就有數了
此時咱們編輯
咱們先開一個窗口,找到相應的路徑
不要忘了加上分號
這個時候,咱們須要加上上邊的兩行參數.
先不搞反向代理,先保存退出
這個時候,咱們須要從新讀取nginx
這個時候,咱們訪問不到
爲何是空的?報錯?
咱們看一下架構圖
上圖,咱們獲得vue代碼的位置
這個時候,咱們發現有兩個入口
以前,配置crm的static,找的是crm裏邊的,如今不找這裏邊的靜態文件了.
咱們幹掉,下面的靜態文件
保存,退出,從新讀取這個文件
從新加載這個文件.
再次刷新,咱們獲得下面的界面:
之因此出現上圖中報錯的緣由是,咱們的虛擬主機尚未配置
咱們再次編輯
咱們再次須要配置第二個虛擬主機
上圖是咱們須要配置反向代理的虛擬主機,保存退出
再次重啓nginx
也就是上圖中須要寫成9001
如今咱們進入supervisor
先中止,再啓動,再次查看一下,這個時候,已經出來了
可能出現錯誤的緣由,排錯步驟,重啓,從新加載
確保9000是nginx的
9001是uwsgi的
這個時候就刷新出來了.
6379redis
alex &&alex3714
如今是能夠登陸了
存在問題,加入不了購物車
報服務器端錯誤
如今咱們啓動的是redis請求
咱們須要安裝一個redis數據庫,下面咱們須要安裝redis數據庫
咱們發現是sqlite3,代碼須要本身寫
虛擬環境不會影響yum的
如今,咱們須要啓動redis,而後查看一下端口
咱們發現6379redis服務器已經啓動了 redis-server是服務端//redis-cli是客戶端
這個時候,咱們已經進入數據庫了
上圖的命令,表示已經通了
如今,咱們再次運行,就會顯示加入購物車成功了
這個時候購物車裏邊就有東西了
再加入一條linux數據,回到服務端進行測試一下
這個時候就有了2條數據了.這樣就成功完成了.