本人第一次進行專案部署,前前后后花了大約一周多時間,遇到了各種錯誤,才部署成功,特此記錄,一是后來再部署可以減少許多錯誤,而是朋友們也可以借鑒,不足之處,多多包涵,
首先我們要大致弄懂nginx與uwsgi的原理和作用,否則非常抽象,配起來也是糊里糊涂,簡單來說就是nginx接收http請求 nginx訪問靜態資源,把訪問動態資源的要求轉發給uwsgi服務器,具體點的講解博客如下
nginx與uwsig
安裝操作軟體Xshell
1 查看阿里云安全組
把應該打開的埠打開,否則瀏覽器不能訪問,常用的埠有8000 8001 6379 80 8002
2 安裝必要軟體
Mysql sudo apt-get install mysql-server mysql-client
安裝后建立root用戶 建立新資料庫
由于我的新專案沒有歷史資料,所以不需要把歷史資料上傳
Redis 下載壓縮包 解壓后安裝
啟動redis redis-server redis.conf(在redis目錄下)
3 安裝nginx
安裝博客如下
nginx安裝
安裝完畢一定要看是否安裝成功,安裝路徑
命令 nginx -t

如果不出現這個 就是安裝失敗 需要看看自己哪里出現了錯誤
如果安裝失敗,洗掉nginx比較麻煩,可以查看下面的博客來進行洗掉
徹底洗掉nginx
4 安裝虛擬環境
可以參考下列博客,簡單有效
安裝虛擬環境
啟動虛擬環境 source /root/虛擬環境目錄/bin/activate
安裝pip3 django 以及專案所用的包
Pip install -r requirement
安裝uwsgi,pip安裝 安裝在虛擬環境中
Sudo pip3 install uwsgi
5 配置好專案的setting檔案,修改必要的ip地址,資料庫配置等,把新建列的資料庫連接上
資料庫遷移(視自己的情況而定 ,我的資料庫不需要任何資料現在) 洗掉檔案下除了__init__.py之外的所有遷移記錄的檔案
執行命令 python manage.py makemigrations
python mangae.py migrate 建表
6 啟動專案試一下,在虛擬環境下啟動
注意啟動專案命令
python manage.py runserver 0.0.0.0:8002(埠自行設定)
~~
7配置nginx
在etc/nginx/conf.d路徑下新建test1.conf檔案
檔案內容:

前端入庫配置

靜態檔案位置:網址欄輸入ip就是訪問這里面的index.html檔案

配置完輸入命令 nginx -t 查看是否配置成功
8配置uwsgi
在專案目錄下,也就是有manage.py檔案的目錄下,新建一個uwsgi.ini檔案和一個run.log檔案,然后編輯uwsgi.ini檔案如下:

配置完啟動uwsgi : uwsgi --ini uwsgi.ini
如果前面都成功,(當然那不太可能),重啟nginx 啟動虛擬環境 進入專案根目錄,啟動專案 應該就可以了
啟動專案后 關閉與阿里云的連接后 專案保持運行的命令是
nohup python manage.py runserver 0.0.0.0:8002 &
以下是部署常用命令
mkvirtualenv:創建虛擬環境
mkdir: 創建檔案夾
deactivate:退出虛擬環境
rmvirtualenv:洗掉虛擬環境
啟動redis redis-server redis.conf
redis-cli -p 6379
查看redis是否啟動 ps aux | grep redis-server
查看埠占用情況 netstat -apn | grep 埠號
殺死行程 kill -9 行程號
netstat -nultp #查看所有埠
啟動 nginx
cd /usr/local/nginx/sbin
./nginx
#啟動虛擬環境
source /root/qilunjilast/bin/activate
啟動:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重啟:uwsgi --reload uwsgi.pid
啟動專案
1啟動nginx nginx
2啟動uwsgi 需要在服務器啟動uwsgi服務 到uwsgi.ini的檔案夾 用命令uwsgi --ini uwsgi.ini
3啟動redis redis-server redis.conf
4啟動專案 python manage.py runserver 0.0.0.0:8002
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/211731.html
標籤:其他
上一篇:磁區錯誤解決方案
下一篇:再次遇到前后端分離運維問題記錄
