Nginx +uwsgi+Django+mysql
阿新 • • 發佈:2021-10-29
多站點部署:
專案1執行在8000埠
專案2執行在8001埠
1、伺服器準備
主機 | ip | 身份 |
---|---|---|
db01 | 192.168.15.51 | 資料庫 |
web02 | 192.168.15.8 | web伺服器 |
2、上傳專案1
3、修改配置
vim /opt/BBS18_day01/BBS18_day01/settings.py
ALLOWED_HOSTS = ['*']
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django',
'HOST': '172.16.1.51',
'PORT': 3306,
'USER': 'root',
'PASSWORD': '123456',
'CHARSET': 'utf8'
}
}
4、安裝對應資料庫操作包
pip 換源(主要是為了加速,此步可跳過)蝸牛:69 python之pip換源0 贊同 · 0 評論文章
pip3 install pymysql
pip3 install --upgrade pip
pip3 install pillow
pip3 install bs4
5、執行資料庫遷移命令
cd /opt/BBS18_day01/
python3 manage.py makemigrations
再次執行資料庫遷移命令
python3 manage.py makemigrations
python3 manage.py migrate
6、啟動專案並測試專案
python3 manage.py runserver 0.0.0.0:8000
7、Nginx 代理 Django
1.配置uwsgi
cd /opt/BBS18_day01
vi myuwsgi.ini
[uwsgi]
# 埠號
socket = :8000
# 指定專案的目錄
chdir = /opt/BBS18_day01
# wsgi檔案路徑
wsgi-file = BBS18_day01/wsgi.py
# 模組wsgi路徑
module = BBS18_day01.wsgi
# 是否開啟master程序
master = true
# 工作程序的最大數目
processes = 4
# 結束後是否清理檔案
vacuum = true
2.啟動uwsgi
uwsgi -d --ini myuwsgi.ini
3.配置Nginx + uwsgi
cd /etc/nginx/conf.d
vim bbs1.conf
# 配置一個網站
server {
# 監聽的埠
listen 80;
# 配置域名
server_name bbs1.test.com;
# 配置路徑
location / {
# 載入Nginx代理uwsgi的配置項
include uwsgi_params;
# 指定uwsgi的訪問地址
uwsgi_pass 127.0.0.1:8000;
# 連線uwsgi的超時時間
uwsgi_read_timeout 2;
# 自定義uwsgi代理專案的路徑及配置項
uwsgi_param UWSGI_SCRIPT BBS18_day01.wsgi;
# 指定python專案的路徑
uwsgi_param UWSGI_CHDIR /opt/BBS18_day01;
# 索引檔案
index index.html index.htm;
# 客戶端上傳檔案的最大值
client_max_body_size 35m;
}
}
4.啟動Nginx
systemctl start nginx
5.修改Windows的host檔案
192.168.15.8 bbs1.test.com
6.測試
http://bbs1.test.com/home/
8、部署專案2
1.上傳專案:
2.安裝上面步驟一步一步執行
注意:
先要建立一個bbs的資料庫,專案2使用bbs資料庫
3.專案2uwsgi配置如下:
[uwsgi]
# 埠號
socket = :8001
# 指定專案的目錄
chdir = /opt/BBS
# wsgi檔案路徑
wsgi-file = BBS/wsgi.py
# 模組wsgi路徑
module = BBS.wsgi
# 是否開啟master程序
master = true
# 工作程序的最大數目
processes = 4
# 結束後是否清理檔案
vacuum = true
4.專案2的bbs2.conf的配置如下:
# 配置一個網站
server {
# 監聽的埠
listen 80;
# 配置域名
server_name bbs2.test.com;
# 配置路徑
location / {
# 載入Nginx代理uwsgi的配置項
include uwsgi_params;
# 指定uwsgi的訪問地址
uwsgi_pass 127.0.0.1:8001;
# 連線uwsgi的超時時間
uwsgi_read_timeout 2;
# 自定義uwsgi代理專案的路徑及配置項
uwsgi_param UWSGI_SCRIPT BBS.wsgi;
# 指定python專案的路徑
uwsgi_param UWSGI_CHDIR /opt/BBS;
# 索引檔案
index index.html index.htm;
# 客戶端上傳檔案的最大值
client_max_body_size 35m;
}
}
5.在專案2下啟動uwsgi、重啟nginx,
6.修改Windows的host檔案
192.168.15.8 bbs2.test.com
7.測試
http://bbs2.test.com/home/