设为首页 收藏本站
查看: 813|回复: 0

[经验分享] 如何在CentOS 7上使用uWSGI和Nginx来运行Django应用程序

[复制链接]

尚未签到

发表于 2018-11-15 11:48:33 | 显示全部楼层 |阅读模式
  @(tigerfive)[tigerfive][linux学习笔记][uwsgi][django][nginx]

前言

  先决条件和目标
  安装和配置VirtualEnv和VirtualEnvWrapper
  创建Django项目
  设置uWSGI应用程序服务器
  安装并配置Nginx为反向代理
  结论
  原文我发了另一篇文章原文链接

如何在CentOS 7上使用uWSGI和Nginx来运行Django应用程序


介绍
  Django是一个功能强大的Web框架,可以帮助您将Python应用程序或网站变为现实。Django包含一个简化的开发服务器,用于在本地测试您的代码,但对于与生产相关的任何事情,都需要更安全,更强大的Web服务器。
  在本指南中,我们将演示如何在CentOS 7上安装和配置一些组件,以支持和服务Django应用程序。我们将配置uWSGI应用程序容器服务器与我们的接口,Nginx将代理转换为uWSGI,使我们能够访问其安全性和性能特性来为我们的应用程序提供服务。

先决条件和目标
  为了完成这个指南,你应该有一个新的CentOS 7服务器实例,配置一个非root用户,并配置了sudo权限。您可以通过运行我们的初始服务器设置指南了解如何进行设置。
  我们将在两个不同的虚拟环境中安装Django,这将允许您的项目和他们的需求分开处理。我们将创建两个示例项目,以便我们可以在多项目环境中运行这些步骤。
  一旦我们有了我们的应用程序,我们将安装和配置uWSGI应用程序服务器。这将作为我们应用程序的接口,它将使用HTTP将客户端请求转换为我们的应用程序可以处理的Python调用。然后,我们将在uWSGI之前设置Nginx,以利用其高性能的连接处理机制和易于实现的安全功能。
  我们开始吧。

安装和配置VirtualEnv和VirtualEnvWrapper
  我们将在他们自己的虚拟环境中安装我们的Django项目来隔离每个项目的需求。为此,我们将安装可以创建Python虚拟环境的virtualenv,以及virtualenvwrapper,这会为virtualenv工作流程增加一些可用性改进。
  我们将使用pip(Python包管理器)来安装这两个组件。要获得pip,我们首先需要启用EPEL库,我们可以通过键入以下命令轻松完成:
  

                        #sudo yum install epel-release           

  一旦启用EPEL,我们可以通过输入以下命令来安装pip:
  

                        #sudo yum install python-pip  

  现在你已经安装了pip,我们可以通过输入以下命令来全局安装virtualenv和virtualenvwrapper:
  

                       #sudo pip install virtualenv virtualenvwrapper  

  安装这些组件后,我们现在可以使用我们的shell来配置它所需要的与virtualenvwrapper脚本一起工作的信息。我们的虚拟环境将全部放置在我们的主文件夹Env中的一个目录中,以便于访问。这是通过一个名为WORKON_HOME的环境变量来配置的。我们可以将其添加到我们的shell初始化脚本中,并可以获取虚拟环境包装脚本。
  要将相应的行添加到您的shell初始化脚本中,您需要运行以下命令:
  

                         echo "export WORKON_HOME=~/Env" >> ~/.bashrc  echo "source /usr/bin/virtualenvwrapper.sh" >> ~/.bashrc
  

  现在,请输入您的shell初始化脚本,以便您可以在当前会话中使用此功能:
  

                         source ~/.bashrc   

  你现在应该在你的home文件夹中有一个名为Env的目录,它将保存虚拟环境信息。

创建Django项目
  现在我们有了我们的虚拟环境工具,我们将创建两个虚拟环境,分别安装Django,并启动两个项目。

创建第一个项目
  我们可以通过使用virtualenvwrapper脚本提供给我们的一些命令轻松地创建一个虚拟环境、
  通过键入以下内容创建您的第一个虚拟环境,其中包含您的第一个站点或项目
  

           mkvirtualenv firstsite  

  这将创建一个虚拟环境,在其中安装Python和PIP,并激活环境。你的提示会改变你的新虚拟环境。它看起来像这样:(firstsite)user @ hostname:〜$。圆括号中的值是你的虚拟环境的名字。 现在,通过管道安装的任何软件都可以安装到虚拟环境中,而不是安装在全局系统上。这使我们能够在每个项目的基础上分离我们的软件包。
  我们的第一步是安装Django本身,因为我们在我们的虚拟环境中安装了这个工具,所以我们可以在没有sudo的情况下使用pip。
  

          pip install django    

  安装Django后,我们可以通过键入以下命令创建我们的第一个示例项目:
  

        cd ~  django-admin.py startproject firstsite
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-635405-1-1.html 上篇帖子: Nginx 服务器 之Nginx与tomcat实现负载均衡 下篇帖子: Nginx (三)日志管理 日志自动备份
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表