搭建服务器虚拟环境

  • 在本机进入虚拟环境,执行命令导出当前需要的所有包。

  pip freeze > requirements.txt
  • 通过ftp或者scp等软件将项目代码和requirements.txt文件上传到服务器。

  mkvirtualenv 虚拟环境名称   #在ubuntu 服务器上新建一个虚拟环境​pip install -r requirements.txt #安装你的Django项目 所需要的所有的库

安装uwsgi

  pip install uwsgi
  • 配置uWSGI,在项目目录下创建uwsgi.ini文件,配置如下:

  [uwsgi]#使用nginx连接时使用#socket=127.0.0.1:8080#直接做web服务器使用http=127.0.0.1:8080#项目目录chdir=/home/jinxp/Desktop/project#项目中wsgi.py文件的目录,相对于项目目录wsgi-file=project/wsgi.pyprocesses=4threads=2master=Truepidfile=uwsgi.piddaemonize=uwsgi.log
  • 启动

  uwsgi --ini uwsgi.ini
  • 查看

  ps aux|grep uwsgi
  • 启动效果图

  • 在浏览器中输入如下网址:

  http://127.0.0.1:8080/   #看你的项目是否可以正常运行 
  • 如果项目可以正常运行 将配置中启用socket,禁用http。先停止运行项目

  uwsgi --stop uwsgi.pid
  • uwsgi.ini文件中配置如下:

  [uwsgi]#使用nginx连接时使用socket=127.0.0.1:8080#直接做web服务器使用#http=127.0.0.1:8080#项目目录chdir=/home/jinxp/Desktop/project#项目中wsgi.py文件的目录,相对于项目目录wsgi-file=project/wsgi.pyprocesses=4threads=2master=Truepidfile=uwsgi.piddaemonize=uwsgi.log
  • 配置好uwsgi.ini文件配置好 再启动uwsgi。

安装Nginx 见我博客另外一篇文章

  https://blog.csdn.net/qq_21415979/article/details/83374686

先停止nginx

  sudo sbin/nginx -s stop

指向uwsgi项目

  sudo vim conf/nginx.conf

在server节点下添加新的location项,指向uwsgi的ip与端口。

          location / {#将所有的参数转到uwsgi下include uwsgi_params;#uwsgi的ip与端口uwsgi_pass 127.0.0.1:8080;}

添加完 nginx.conf 文件中server节点配置如下

  server {listen       80;server_name  localhost;​#charset koi8-r;​#access_log  logs/host.access.log  main;​#location / {#    root   html;#   index  index.html index.htm;#}location / {#将所有的参数转到uwsgi下include uwsgi_params;#uwsgi的ip与端口uwsgi_pass 127.0.0.1:8080;}

然后启动nginx

  sudo sbin/nginx

浏览器输入127.0.0.1看项目是否可以运行 此时运行项目会缺少静态文件

接下来处理项目中的静态文件

所有的静态文件都会由nginx处理,不会将请求转到uwsgi

  • 打开conf/nginx.conf文件。

  sudo gedit conf/nginx.conf
  • 在server节点下添加新的location项,用于处理静态文件。

      location /static {alias /var/www/project/static/;}
  • 在服务器上创建如下目录。

  sudo mkdir -vp /var/www/project/static/
  • 修改目录权限。

  sudo chmod 777 /var/www/project/static/
  • 修改project/settings.py文件。

  STATIC_ROOT='/var/www/project/static/'STATIC_URL='/static/'
  • 收集所有静态文件到static_root指定目录。

  python manage.py collectstatic
  • 输入上面命令会提示你 输入yes或者no 输入 yes回车即可

然后重启nginx服务

  启动 sudo sbin/nginx停止 sudo sbin/nginx -s stop

然后打开浏览器输入127.0.0.1,会出现完整的项目

至此 项目全部部署完成

Ubuntu 16.04 + Nginx + Django 项目部署相关推荐

  1. ubuntu 16.04 Nginx源码部署安装

    nginx安装 1.安装zlib依赖库:sudo apt-get install zlib1g-dev 2.进入解压相关文件: tar –xzvf openssl-1.0.1.tar.gz tar – ...

  2. open edx: ubuntu 16.04原生native 安装部署

    1. 引言 openedx作为哈佛大学等美国顶尖大学推出的在线教育平台,在全世界有着广泛的应用.相较于同类的基于php的moodle,openedx核心代码基于python的django框架.现在,o ...

  3. Ubuntu 16.04 安装Django

    > pip install django==1.10.3 ...... 或者: > pip3 install django==1.10.3(我采用) ...... 或者: >pyth ...

  4. 阿里云 服务器 系统 php mysql_阿里云服务器配环境(Ubuntu 16.04+Nginx+MySQL+PHP)并部署hexo博客...

    购买服务器 阿里云向学生出售优惠价格的服务器,一个月只需9.5块,具体配置看图吧 更新Ubuntu源,安装Git 1 2 3sudo apt update sudo apt upgrade sudo ...

  5. laravel5.5 php7,ubuntu 16.04+nginx+mysql+php7.1+laravel5.5环境

    一.安装php7.1 #添加php源 sudo add-apt-repository ppa:ondrej/php #更新apt数据,载入php源数据 sudo apt update #安装php-f ...

  6. 为VMware vSphere创建Ubuntu 16.04 Terraform模板

    为VMware vSphere创建Ubuntu 16.04 Terraform模板 Terraform是HashiCorp创建的自动化工具.它专注于以自动方式部署云基础架构.它支持许多云提供商,例如A ...

  7. linux创建django项目,Ubuntu 16.04下配置Django项目

    记录一次在全新服务器下配置Django项目说明: Linux操作系统:Ubuntu 16.04 Django版本:1.8.7 Python版本:2.7.12 运行模式:Ubuntu+Django+Ap ...

  8. Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城

    本文档为微信小程序商城NideShop服务端api的安装部署教程 服务端api : https://github.com/tumobi/nideshop 微信小程序端 : https://github ...

  9. Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城 1

    本文档为微信小程序商城NideShop服务端api的安装部署教程 服务端api : https://github.com/tumobi/nideshop 微信小程序端 : https://github ...

最新文章

  1. MySQL主主配置说明
  2. AI 渗透应用程序开发的七种趋势及方法
  3. 中国桑叶市发展态势分析与前景动态预测报告场2022-2028年版
  4. 【数据竞赛】Kaggle GM秘技:树模型初始化技巧
  5. MySQL数据库-笔记05【查询练习题*25道(附解析)】
  6. numpy中常用的函数
  7. 内部类及静态内部类的实例化
  8. oracle11g 冷备,oracle11G Windows冷备恢复
  9. easyui datagrid在IE洌览器下reload不能刷新数据
  10. 【2021ACL】NLP的应用
  11. GitHub疯传!北大学霸的LeetCode刷题笔记火了
  12. python读取Himawari-8葵花8标准数据(HSD)
  13. 推荐10款最好的Python开发编辑器
  14. 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。剑指Offer(32)
  15. 2008~2009流行歌曲
  16. 概率论笔记3.1二维随机变量及其函数分布
  17. EMLOG模板 自适应Fontopen3 可做企业站
  18. python循环:打印小星星
  19. JavaScript 删除数组中为null的元素,过滤数组
  20. 关于Unity 中的destory 删除与预制体的克隆(怎样避免删除预制体)

热门文章

  1. node.js——麻将算法(二)赖子玩法
  2. 机器学习速成课程 | 练习 | Google Development——编程练习:使用神经网络对手写数字进行分类
  3. 数据清洗-拉格朗日插值
  4. Spring、SpringMVC、Spring Boot、Spring Cloud 概念、关系及区别
  5. Kubernetes—动态存储卷配置(StorageClass资源)(十二)
  6. 【Linux入门学习之】Linux连接文件:硬连接和软连接
  7. 使用preparedStatement执行sql语句 20210411094249744
  8. 爬虫 动态生成useragent的功能 fake-useragent库
  9. django-视图函数 00
  10. 【转】STM32中的抢占优先级、响应优先级概念