Linux之部署先後端分離項目

1、部署前端代碼

部署前端代碼,就是一些靜態文件,丟給nginx去解析
前端node js + vue的部署 + nginx的部署html

一、下載vue的代碼

wget https://files.cnblogs.com/files/songzhixue/07-luffy_project_01.zip

二、編譯vue的代碼

編譯vue的代碼,生成dist靜態文件夾,須要用到node js解釋器環境前端

# 下載nodejs的源代碼包
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

四、配置環境變量

進入源碼包目錄,直接配置環境變量便可,人家已經編譯好了vue

找到node可執行程序node

# 進入目錄/opt/s20luff/node-v8.6.0-linux-x64/bin # 將上面的路徑加到/etc/profile中的PATH環境變量裏 # 配置完須要執行下
source /etc/profile node -v npm -v

五、修改vue的請求發送路徑

修改vue的請求發送路徑,vue向服務器發起請求,修改127.0.0.1爲linux的ip地址python

# 進入前端頁面(07-luffy_project_01 )找到src文件下的restful,修改ip
sed -i "s/127.0.0.1:8000/192.168.61.129:9000/g"  api.js

 

修改api.js中的請求iplinux

六、開始編譯vue的代碼

# 因爲網速問題,下載包可能超級慢 # 修改npm的下載源,如同pip 更改豆瓣源同樣  # 進入/node-v8.6.0-linux-x64/bin/ 將npm的路徑添加到環境變量 # 修改安裝源·
npm config set registry https://registry.npm.taobao.org # 找到/opt/s20luff/07-luffy_project_01執行:
npm install  #找到package.json而後安裝模塊,如同pip install
 npm run build #這一步會生成dist靜態文件夾,路飛首頁在這index.html # (若是修改了vue向向服務器發起請求的ip地址,那麼咱們修改後須要從新編譯vue的代碼,也就是從新執行第六步的操做)

在這裏執行:nginx

七、配置nginx.conf

http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; # 只須要找到第一個虛擬主機,配置dist的靜態文件夾便可
        # 第一個虛擬主機的配置
        location / { # 網站首頁的靜態文件路徑
            root   /opt/s20luff/07-luffy_project_01/dist; index index.html index.htm; # 確保刷新不出現404
            try_files $uri $uri/ /index.html; } error_page 500 502 503 504  /50x.html; location = /50x.html { root html; } } # 第二個虛擬主機的配置,用做反向代理
 server { listen 9000; server_name localhost; location / { include uwsgi_params; # django運行的ip端口
        uwsgi_pass 127.0.0.1:9999; } } }
一、客戶端訪問默認是80端口,先走nginx
二、nginx配置文件中咱們給80端口配置了,返回網站首頁的靜態文件
三、路飛學成除了首頁之外的全部請求都是用的9000端口,這時候咱們用到了反向代理

2、後端uwsgi+django的部署

1.激活虛擬環境

mkvirtualenv s20luffy workon s20luffy

2.解決運行路飛所需的依賴環境

方式二選一redis

方式1: 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 方式2:手動解決依賴關係 pip3 install -i https://pypi.douban.com/simple django==2.0 pip3 install -i https://pypi.douban.com/simple django-rest-framework 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 crypto==1.4.1 pip3 install -i https://pypi.douban.com/simple pycrypto==2.6.1

三、下載uwsgi

下載uwsgi,編寫uwsgi.ini配置文件,去運行路飛學城後端shell

 

pip3 install -i https://pypi.douban.com/simple uwsgi 【在任意位置建立uwsgi.ini文件】 【注意咱們用uwsgi啓動項目的時候也要在該目錄下】 下載項目包wget https://files.cnblogs.com/files/songzhixue/luffy_boy.zip uwsgi.ini內容以下 [uwsgi] # Django-related settings # the base directory (full path) # 項目目錄的絕對路徑【第一層】
chdir           = /opt/s20luffy/luffy_boy/
# Django's wsgi file # 項目目錄的第二層目錄【wsgi同級】
module          = luffy_boy.wsgi # the virtualenv (full path) # 虛擬環境路徑【虛擬環境中執行cdvirtualenv,pwd查看路徑】
home            = /root/Envs/s20luffy # process-related settings # master
master          = true # maximum number of worker processes # 開啓的進程數
processes       = 4
# the socket (use the full path to be safe
socket          = 0.0.0.0:9999
# clear environment on exit
vacuum          = true

4.啓動uwsgi後端

# 找到uwsgi.ini這個文件的目錄下執行下面命令
uwsgi --ini uwsgi.ini # 重啓nginx # 訪問頁面

5.還得啓動redis,才能添加購物車

# 最省事的安裝
yum install redis -y systemctl start redis

六、將商品添加到購物車,查看redis中的數據

# 登陸帳戶密碼
alex alex3714
相關文章
相關標籤/搜索