9 Nginx +uwsgi+Django+mysql
多站点部署:
项目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 换源(主要是为了加速,此步可跳过)
pip3 install pymysql
pip3 install --upgrade pip
pip3 install pillow
pip3 install bs4
5、执行数据库迁移命令
[root@web02 BBS18_day01]#cd /opt/BBS18_day01/
[root@web02 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/