由于用的新版本系统,和旧的稍有差别,在网上搜了很多相关资料,搞了三天终于搞好在Ubuntu16.04下的部署,接下来就详细写写步骤以及其中遇到的问题。前提是安装有虚拟环境pyenv+virtualenv。

一、安装uwsgi

  1. 在虚拟环境下安装uwsgi

1 # 启动环境
2 pyenv activate your_env_name
3 pip install uwsgi

  2. 测试uwsgi,创建test.py

def application(env, start_response):start_response('200 OK', [('Content-Type','text/html')])return [b"Hello uwsgi!"]

  3. uwsgi运行该文件

 当时用的命令: uwsgi --http  :8088  --wsgi-file  test.py, 终端提示没有--wsgi-file选项,一直不成功,后来改用 --http-socket可以了。但是现在试了--http竟然也可以运行了,竟然不知道当初为什么不行。

uwsgi --http-socket  :8088   --wsgi-file   test.py

  

二、安装nginx

  1.nginx不需要在虚拟环境下装,在终端直接用命令安装

  sudo apt-get install nginx

  2.nginx启动与关闭命令

cln@Aspire:~$ service nginx start     #启动
cln@Aspire:~$ service nginx stop     #关闭
cln@Aspire:~$ service nginx restart    #重启

nginx -t      # 检查配置文件是否有语法错误

cln@Aspire:~$ nginx -V      #查看nginx版本
nginx version: nginx/1.10.0 (Ubuntu)
built with OpenSSL 1.0.2g-fips  1 Mar 2016
TLS SNI support enabled

  3.修改nginx默认端口

  nginx1.10.0版本 配置文件有/etc/nginx/nginx.conf, /etc/nginx/conf.d/* 和 /etc/nginx/sites-available下的default, nginx.conf包含default、conf.d里的配置,端口号在default文件里修改。

  打开nginx文件夹下default文件,修改其端口号为88,如下,端口已改好

cln@Aspire:~$ sudo gedit /etc/nginx/sites-available/default 

  4.重启nginx服务,访问http://127.0.0.1:8088, 会打开nginx欢迎welcome页面。

三、部署django+uwsgi+nginx

  1. 在你的django项目文件夹下建立 yourProjectName_uwsgi.ini文件,具体的参数配置如下:最重要的是配置pythonpath,它指定django所在的位置,当时没有配置准确这一点,一直报错no moudle  django,花了很长时间也不知道为什么,后来查了很多资料后,才知道配置pythonpath。主要的参数有注释。

  

  当时 socket = :8088, 我写的是http-socket = :8088,  一直报错 502  Bad Gateway,花了很长时间后才知道把这句改成socket。

  2. 之前提到nginx.conf配置所包含的配置,那就可以在/etc/nginx/conf.d下建一个nginx.conf来关联uwsgi

cln@Aspire:~$ sudo vi /etc/nginx/conf.d/nginx.conf

在里面添加如下内容:

  3.重启nginx服务,激活虚拟环境,运行.ini文件

# 激活虚拟环境
cln@Aspire:~/PycharmProjects/webapp$ pyenv activate webenv
# 在.ini文件的父目录下运行命令
(webenv) cln@Aspire:~/PycharmProjects/webapp$ uwsgi --ini web_uwsgi.ini 

如下所示,表示成功。

  访问http://127.0.0.1:88, 便可以通过nginx访问到你的django项目的网站。

总结: 一点粗心大意,就会让你花费很多时间去找问题所在,现在我写下自己遇到的问题以及解决方法,希望能帮助遇到类似问题的你。

转载于:https://www.cnblogs.com/logicalsky/p/5685603.html

Ubuntu16.04下部署 nginx+uwsgi+django1.9.7(虚拟环境pyenv+virtualenv)相关推荐

  1. Ubuntu16.04下配置nginx + RTMP流媒体服务器

    目录 前言 1.安装nginx需要的环境 1.1 查看gcc版本 gcc -v 1.2 pcre.pcre-devel安装 1.3 zlib安装 1.4 安装openssl 2.开始安装 2.1 创建 ...

  2. ubuntu16.04下FastDFS+Nginx分布式文件系统

    前言: 以前的项目上传的文件都是保存到本地或者是局域网内的共享文件夹下,由于数据量,服务器的负载均衡(分机的某些图片无法访问的问题处理)等因素的情况下,就想到用fastdfs来文件管理, FastDF ...

  3. Ubuntu16.04下Mongodb官网卸载部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐) https://docs.mongodb.com/manual/tutorial/ins ...

  4. Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu16.04下Mongodb(离线安 ...

  5. Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 16.04.1 LTS ...

  6. Centos 6.5部署nginx+uwsgi+django

    Centos 6.5部署nginx+uwsgi+django 一.安装python3,系统默认是python2.6 1.安装依赖软件 yum -y install sqlite-devel yum - ...

  7. Ubuntu16.04下caffe CPU版的详细安装步骤

    一.caffe简介 Caffe,是一个兼具表达性.速度和思维模块化的深度学习框架. 由伯克利人工智能研究小组和伯克利视觉和学习中心开发. 虽然其内核是用C++编写的,但Caffe有Python和Mat ...

  8. ubuntu16.04 下安装Opencv2.4.9

    ubuntu16.04 下安装Opencv2.4.9 OpenCV的源码download from:  https://sourceforge.net/projects/opencvlibrary/? ...

  9. ubuntu16.04下ROS最新换源方法,解决Hash sum mismatch 问题

    1.更换源 备份原始数据 cd /etc/apt/ sudo cp sources.list sources.list.bak sudo gedit sources.list 科大源: deb htt ...

最新文章

  1. 会考flash中文字变形为三角形_关于信息技术会考 Flash操作题实用模版
  2. php facade模,PHP 设计模式之外观模式 Facade
  3. python模块导入_Python模块导入详解
  4. XY插值算法C语言,常用的插值算法有哪些?
  5. 求多个数的最小公倍数
  6. java复习系列[5] - Java 中的设计模式
  7. thinkphp 控制器继承
  8. 想去机器学习初创公司做数据科学家?这些问题值得你三思!
  9. import itchat ModuleNotFoundError: No module named 'itchat'
  10. linux 拼音输出繁体_ubuntu输入法是繁体 寻找Ubuntu中繁体字输入法 - Linux - 服务器之家...
  11. python设置代理_python使用代理proxy
  12. 天梯赛L2-016 愿天下有情人都是失散多年的兄妹
  13. 神工鬼斧惟肖惟妙,M1 mac系统深度学习框架Pytorch的二次元动漫动画风格迁移滤镜AnimeGANv2+Ffmpeg(图片+视频)快速实践
  14. android添加浮动组件,添加悬浮操作按钮  |  Android 开发者  |  Android Developers
  15. Java学习笔记day18-红黑树-Map
  16. 3.11 污点和容忍度
  17. 短链接的生成之工具类的编写--三种方式(亲测可用)
  18. 无法解析大于号和小于号
  19. 联想微型计算机如何设置u盘启动,联想bios设置u盘启动图文教程
  20. Alertmanager报警使用webhook飞秋通知

热门文章

  1. k8s核心技术-Controller(Deployment)_发布应用---K8S_Google工作笔记0029
  2. 移动项目工作笔记0002---使用Weex开发移动端应用
  3. C/C++线程与多线程工作笔记0005---c/c++中的wchar_t类型
  4. Netty工作笔记0077---handler链调用机制实例4
  5. STM32工作笔记002---STM32初探-概述
  6. 排列组合算法之一: 01转换法_java改变后的c++版
  7. 如何有效的保护计算机,如何保护计算机-20210717095143.pdf-原创力文档
  8. java 两个list相等_java 怎么比较两个list是否相同
  9. 去除dataframe中的空行_Word中这些一键操作实在太强了!折腾半天的工作,一秒就能搞定!...
  10. 微信小程序傻瓜制作_傻瓜式教程:做一个带优惠券的微信小程序