單機本地測試運行方式,調用django第三方的wsgifef單機模塊,性能很低 python3 manage.py runserver 0.0.0.0:8000html
使用uwsgi 去啓動django項目,支持併發更多前端
準備先後端代碼vue
先從vue前端搞起node
解決node環境python
更改vue發送請求的接口地址, 這個vue發送的地址,應該是發送給 nginx代理,而後代理再轉發請求給 DRF 後臺linux
# 用如下命令,更改vue發送的接口地址 sed -i "s/127.0.0.1/192.168.15.71/g" /opt/s16luffy/07-luffy_project_01/src/restful/api.js
待會要準備nginx的代理地址,以下 192.168.15.71:8000nginx
打包編譯vue靜態文件 npm install npm run buildredis
#若是你打包不成功 1.更換4G網絡,開始打包 2.在windows中打包,生成dist文件夾後,發送給linux 3.在同桌機器上打包,生成dist後,發送給本身 4.更換淘寶的 npm源,加速下載
生成的dist文件夾,就是路飛學成的靜態頁面,丟給nginx去返回頁面便可數據庫
配置nginx.conf找到vue的靜態頁面npm
# 配置 server{ listen 80; server_name 項目地址.com; location / { root /opt/項目目錄/dist; index index.html; # vue 結合 nginx 再也不刷新出現 404 try_files $uri $uri/ /index.html; } error_page 404 400 401 403 /jQuery404/40x.html; } # 轉發請求到 192.168.15.74:9000 server{ listen 8000; server_name vuelufei.com; location / { uwsgi_pass 192.168.15.74:9000; include /opt/nginx112/conf/uwsgi_params; } }
配置後端代碼,用uwsgi啓動luffy學誠
mkvirtualenv 虛擬環境名字 # 建立虛擬環境 pip3 list pip3 install -r requirements.txt # 導入項目依賴
準備uwsgi,以及uwsgi.ini
uwsgi.ini配置參數以下
(uwsgi_xiangmuming) [root@s16ds zhangfei]# cat uwsgi.ini [uwsgi] # Django-related settings # the base directory (full path) #指定django的項目目錄,第一層 chdir = /opt/s16luffy/luffy_boy/ # Django's wsgi file #找到django的wsgi文件 #這裏須要寫項目的第二層目錄Alibab_crm module = luffy_boy.wsgi # the virtualenv (full path) #填寫虛擬環境的絕對路徑 home =/root/Envs/uwsgi_luffycity # process-related settings # master master = true # maximum number of worker processes processes = 5 # the socket (use the full path to be safe #指定socket協議,運行django,只能與nginx結合時使用 #指定socket協議,運行django,只能與nginx結合時使用 socket = 0.0.0.0:9000 #若是你沒用nginx,只想本身啓動一個http界面,用這個 #http = 0.0.0.0:8000 # ... with appropriate permissions - may be needed # chmod-socket = 664 # clear environment on exit vacuum = true
更改django後臺的redis數據庫鏈接
更改redis鏈接
CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://192.168.15.71:6666", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", "CONNECTION_POOL_KWARGS": {"max_connections": 100}, # "PASSWORD": "密碼", "DECODE_RESPONSES":True } }, }
更改redis數據庫鏈接的驅動,用django的驅動
vim /opt/項目目錄/api/views/shoppingcart.py
import redis # REDIS_CONN = redis.Redis(decode_responses=True) REDIS_CONN = get_redis_connection()
啓動redis數據庫,注意更改redis的安全模式,
redis-6666.conf配置以下 (uwsgi_luffycity) [root@s16ds redis-4.0.10]# cat redis-6666.conf
port 6666 daemonize yes pidfile /data/6666/redis.pid loglevel notice logfile "/data/6666/redis.log" dir /data/6666 appendonly yes appendfsync everysec protected-mode no bind 192.168.15.71
啓動redis服務端
redis-server redis-6666.conf
確保vue和nginx,以及uwsgi都啓動了,測試以瀏覽器訪問
解決 vue 結合 nginx 刷新 404 解決辦法
確保 vue router 的 mode 路徑 vue項目/router/index.js 修改配置:
export default new Router({ linkActiveClass:'is-active', mode:'history', // 改爲history 模式 ... })
server { listen 80; server_name vueluffy.com; location / { root /opt/luffy/dist; index index.html; # 主要參數 try_files uri uri/ /index.html; } }
virtualenv virtualevnwrapper pyenv