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/

posted @ 2021-10-28 23:01  甜甜de微笑  阅读(55)  评论(0编辑  收藏  举报