巨蟒python全棧開發linux之centos7

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
View Code
        
        三,經過配置文件,啓動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條數據了.這樣就成功完成了.

相關文章
相關標籤/搜索