大江东去,浪淘尽,千古风流人物。故垒西边,人道是,三国周郎赤壁。乱石穿空,惊涛拍岸,卷起千堆雪。江山如画,一时多少豪杰。遥想公瑾当年,小乔初嫁了,雄姿英发。羽扇纶巾,谈笑间,樯橹灰飞烟灭。故国神游,多情应笑我,早生华发。人生如梦,一尊还酹江月。

人生苦短 我用Python

扩大
缩小

Django 项目部署

Ubuntu+Django+Nginx+uWSGI+MySQL+阿里云

一、阿里云配置

  1. 购买阿里云

  2. 配置安全组

2.1 外网访问

2.2 数据库

 

  3.Navicat 连接数据库

  4. xftp项目上传

二、MySQL配置

  1. MySQL安装

  2. MySQL远程连接

修改配置文件中的bind-address 文件路径: /etc/mysql/mysql.conf.d/mysqld.cnf 将bind-address = 127.0.0.1修改为bind-address = 0.0.0.0 重新启动并登陆mysql sudo service mysql restart 2 mysql -uroot -p 修改权限: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; FLUSH PRIVILEGES; 重新启动mysql sudo service mysql restart 注意:有时重启服务器后mysql未启动导致远程无法连接只需启动mysql sudo service mysql start 总结:这就是我在Ubuntu上的配置方法,亲测可用,可能还有其他的配置方法,仅供参考,谢谢。

三、Django配置

  1.setting配置

  1.1 static静态文件

  

 

  1.2 访问

  1.3 跨域请求

  2. uWSGI

三、Ubuntu配置

  1. 虚拟环境

  2. 安装uWSGI

  WSGI:PythonWeb服务器网关接口(Python Web Server Gateway Interface),这是一种协议规范,用于规范web server(比如uWSGI)和web application(Flask、Django等)之间的通信方式。这种协议其实是将我们和更加底层的HTTP、TCP等协议分隔开来,使我们在开发的时候可以不用自己去实现这些协议的处理,只关注于更高层次的逻辑处理,实现面向对象的编程。

  uWSGI:uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。它本身可以作为一个服务器单独使用,但是也可以和nginx组合使用。一般Django部署都是用的nginx+uWSGI,可以理解为这种组合性能更优。

 

  3. 安装Nginx

  nginx:这是一个高性能的web服务器/反向代理,类似Apache。什么叫反向代理,客户端通过一个代理去访问服务器,这样的代理叫正向代理;同样的服务器前加一个代理和客户端通信,这样的代理叫反向代理。nginx就是用来放在uWSGI前做反向代理。

  4.Nginx采集静态文件

  项目中request请求中,静态文件交给nginx处理,动态文件交给django处理

  4.1  nginx配置

  root指定的目录是location匹配访问的path目录的上一级目录,这个path目录一定要是真实存在root指定目录下的;

  alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在

  4.1.1  root 目录配置

  4.1.2  alias 目录配置

  4.2  cd/var/www 静态文件

  4.2.1  建立采集静态文件夹

  4.2.2  文件夹加权限

 

  

 

 

 

 

 

posted on 2019-05-10 13:59  GuoZeping  阅读(621)  评论(0编辑  收藏  举报

导航