參考博客html
技術棧前端
路飛學城部署 vue + nginx + uwsgi + django + mysql + redis(就是一個key - value型數據庫,緩存型數據庫,內存型數據庫)vue
部署步驟以下(4步)node
1.前端vue部署 python
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生效便可 vim /etc/profile source /etc/profile 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去作反向代理處理!!!
2.後端uwsgi部署mysql
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
3.nginx反向代理轉發linux
修改nginx.conf內容以下 虛擬主機1 server { #第一個虛擬主機,監聽的80端口 listen 80; server_name 192.168.226.128; location / { root /opt/s18luffy/07-luffy_project_01/dist; index index.html; } } 虛擬主機2 server { listen 9000; server_name 192.168.226.128; location / { uwsgi_pass 0.0.0.0:9001; include uwsgi_params; } } 重啓nginx生效
4.啓動redis,路飛學城用的是sqllite,不須要mysqlnginx
yum install redis -y #安裝命令 systemctl start redis redis登陸命令 redis-cli 登陸命令 登陸後輸入 ping 返回一個pong表明正確啓動
5.windows訪問路飛學城首頁,查看課程列表 ,進行alex帳戶登陸 帳戶: alex 密碼: alex3714 登陸後,添加django課程信息後,能夠查看購物車信息,表明正確啓動路飛學城
1.路飛學城部署 2.先把vue靜態文件和nginx部署起來,能夠看到路飛首頁 vue部署 1.下載vue代碼 2.配置node環境 3.修改vue代碼向後臺發送數據接口的地址 4.代碼確認無誤後,進行編譯安裝 npm instlal npm run build 5.以上4步,目的是爲了,獲得最後一步的 那個 dist文件夾 裏面有我須要的index.html static靜態文件夾 6.將這個dist丟給 nginx去返回頁面便可 3.把後端uwsgi+django+mysql運行起來 備註,先別用supervisor了 使用 uwsgi --ini uwsgi.ini方式去啓動 將uwsgi --ini uwsgi.ini 這個命令進程,運行在後臺的方式 1. 第一種方式 、 uwsgi --ini uwsgi.ini & 2.第二種方式 在uwsgi.ini中寫入 daemonize = uwsgi.log 就是將後臺運行的日誌寫入到uwsgi.log 3.確保nginx,vue,uwsgi,redis都正常後,路飛便可訪問