python 前(flask+前端项目文件)后(django+后端项目文件)端分离项目部署

  1. 安装django sudo pip3 install Django==1.11.8
  2. 安装flask sudo pip3 install flask
  3. 安装jwt sudo pip3 install pyjwt
  4. 安装uwsgi sudo pip3 install uwsgi
  5. 安装pymsql sudo pip3 install pymsql
  6. 安装pillow sudo pip3 install pillow(注:django image字段使用)
  7. 安装跨域工具:官网下载django-cors-headers-3.0.2.tar,安装源码包
#解压
tar -zxvf django-cors-headers-3.0.2.tar
#cd到解压后的目录并执行 sudo python3 setup.py install
  1. 安装nginx sudo apt-get install nginx
  2. 配置前端(flask)关于nginx的配置
sudo su
cd /etc/nginx/conf.d/
#创建flask client配置
touch flask.conf
vim flask.conf
#添加内容如下
#前端web服务
server {
	listen 80;	#将80端口给flask,需要将nginx的默认端口改成其他的(因为nginx的默认端口是80)
	erver_name 公网ip;
	charset utf-8;
	client_max_body_size 75M;
	
	#配置把从80端口进来的请求,转发给下面的路由配置,就是uwsgi(5555)
	location / {
		include uwsgi_params;
		#导入uwsgi配 置
		uwsgi_pass 49.232.142.68:5555;	#该端口需要和uwsgi配置当中的监听端口一致

		#下面是uwsgi起flask的配置
		uwsgi-param UWSGI_PYTHON
/usr/bin/python3;	#告诉nginx,到底用哪个python环境,python解释器所在路径,如果有虚拟环境可将路径设置为虚拟环境
		uwsgi_param UWSGI_CHDIR
/home/ubuntu/xxx;	#告诉他前端项目client的根目录
		uwsgi_param UWSGI_SCRIPT	
flask_client.py:app;	#告诉nginx,flask的启动文件和里面的app对象		
		}
	
	#配置前端项目:client 中静态文件的访问路径,让nginx去解析静态文件
	location /static {	
		root /home/ubuntu/xxx
		}
	}		
  1. 配置flaks关于uwsgi的配置
    进入前端项目client目录下,创建uwsgi配置文件
touch blog_client.ini	

sudo vim blog_client.ini
#添加内容如下
[uwsgi]
socket = 公网ip:5555	#uwsgi监听的地址和端口
chdir = /home/ubuntu/xxx	#前端项目目录-绝对路径
wsgi-file = flask_client.py	#uwsgi的flask的启动文件
callable = app		#flask中初始化flask的变量
processes = 2		#开启的进程数,开你的cpu内核数(可使用linux中的top命令查看你的内核)
master = true	#启动一个主进程,去管理子进程
vacuum = true	#进程停止后,回收pid
daemonize = uwsgi.log	#日志文件
  1. 启动flask-client(启动flask的uwsgi)
#cd到项目中创建的uwsgi.ini所在目录
uwsgi --ini blog_client.ini
#这是会生成uwsgi.log和uwsgi.pid文件
  1. 测试前端是否搭建成功
    浏览器执行:公网ip:80(flask的端口)/index 显示项目前端首页,能显示的话,说明前端部分搭建完成功
  2. 搭建后端(django),修改django的settings.py文件内容
DEBUG  =True	#将开发模式改为上线模式
ALLOWED_HOSTS = [*]	#允许其他主机访问
  1. 进入后端项目目录下,与settings.py平级的目录下
#创建uwsgi配置文件
touch blog_django_uwsgi.ini
#添加内容
[uwsgi]
socket = 公网ip:8080	#django的uwsgi端口设置成8080
chdir = /home/ubuntu/xxxx	#项目目录
wsgi-file = 项目同名app名/wsgi.py	#相对chdir的wsgi.py所在位置路径(wsgi的启动文件)
pocesses = 2
pidfile  = uwsgi.pid
daemonize = uwsgi.log	#日志
vacum = True
master = True
  1. 启动django的uwsgi(就是启动django后端项目)
  2. 在nginx中添加django的配置
sudo su
cd /etc/nginx/conf.d/
touch django.conf

#添加如下内容
server{
	listen 8000;
	server_name 公网ip;
	charset utf-8;
	client_max_body_size 75M;

	location / {-
		include uwsgi_params;	#导入uwsgi配置-
		#配置转发端口,转发给uwsgi
		uwsgi_pass 公网ip:8080;	#8080为后端的uwsgi的端口,与djang_uwsgi.ini中一致
		}
	location /media {
		#指定用户上传到django中的头像静态文件
		root /home/ubuntu/xxx;	#项目目录
		}
	}
  1. 这样线上项目就搭建好了,接下来同步下数据库就可以用了
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值