环境:

CentOS 7

nginx/1.9.12

Python 2.7.5

一:安装依赖包5

yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel
sqlite-devel readline-devel tk-devel python-pip  -y

二:安装uwsgi

uwsgi:https://pypi.python.org/pypi/uWSGIuwsgi参数详解:http://uwsgi-docs.readthedocs.org/en/latest/Options.html pip install uwsgi uwsgi --version

三:测试uwsgi是否正常:

新建test.py文件,内容如下:def application(env, start_response):start_response('200 OK', [('Content-Type','text/html')]) return "liuyao" 然后在终端运行: uwsgi --http :8080 --wsgi-file test.py 在浏览器内输入:http://127.0.0.1:8080, 看是否有“liuyao”输出,若没有输出,请检查你的安装过程。

四:安装django

pip install django测试django是否正常,运行:django-admin.py startproject newsite
cd newsite
python manage.py runserver 0.0.0.0:8000 在浏览器内输入:http://127.0.0.1:8000,检查django是否运行正常。

五:安装nginx

1.下载
wget http://nginx.org/download/nginx-1.9.12.tar.gz
2.解压
tar xf nginx-1.9.12.tar.gz cd nginx-1.9.12.tar.gz 3.编译 ./configure --prefix=/usr/local/nginx-1.9.12 \ --with-http_stub_status_module \ --with-http_gzip_static_module 4.安装 make && make install 注:您可自行改变参数设置,具体请上官网学习,如果已经存在nginx服务,那么此步可省略

六:配置uwsgi

uwsgi支持ini、xml等多种配置方式,但个人感觉ini更方便:

在/ect/目录下新建uwsgi.ini,添加如下配置:
[uwsgi]
socket = 127.0.0.1:9090 //运行端口号 master = true //主进程 vhost = true //多站模式 no-stie = true //多站模式时不设置入口模块和文件 workers = 2 //子进程数 reload-mercy = 10 vacuum = true //退出、重启时清理文件 max-requests = 1000 limit-as = 512 buffer-sizi = 30000 pidfile = /var/run/uwsgi.pid //pid文件,用于下面的脚本启动、停止该进程 daemonize = /日志目录/uwsgi.log 启动方式: uwsgi /etc/uwsgi.ini

七:设置nginx

找到nginx的安装目录,打开conf/nginx.conf文件,修改server配置

server {listen       80;      //设置网站运行端口server_name  localhost;  location / {            include  uwsgi_params;uwsgi_pass  127.0.0.1:9090; //必须和uwsgi中的设置一致 uwsgi_param UWSGI_SCRIPT newsite.wsgi; //入口文件,即wsgi.py相对于项目根目录的位置,“.”相当于一层目录 uwsgi_param UWSGI_CHDIR /newsite; //项目根目录, index index.html index.htm; client_max_body_size 35m; } }

注:
1.uwsgi脚本

请放在/etc/init.d/uwsgi 设置可执行

DESC="uwsgi daemon"
NAME=uwsgi
DAEMON=/usr/bin/uwsgi
CONFIGFILE=/etc/$NAME.ini
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e [ -x "$DAEMON" ] || exit 0 do_start() { $DAEMON $CONFIGFILE || echo -n "uwsgi running" } do_stop() { $DAEMON --stop $PIDFILE || echo -n "uwsgi not running" rm -f $PIDFILE echo "$DAEMON STOPED." } do_reload() { $DAEMON --reload $PIDFILE || echo -n "uwsgi can't reload" } do_status() { ps aux|grep $DAEMON } case "$1" in status) echo -en "Status $NAME: \n" do_status ;; start) echo -en "Starting $NAME: \n" do_start ;; stop) echo -en "Stopping $NAME: \n" do_stop ;; reload|graceful) echo -en "Reloading $NAME: \n" do_reload ;; *) echo "Usage: $SCRIPTNAME {start|stop|reload}" >&2 exit 3 ;; esac exit 0

八:测试

OK,一切配置完毕,在终端运行

/etc/init.d/uwsgi start
/usr/local/nginx/sbin/nginx -s reload 或者直接启动在浏览器输入:http://127.0.0.1,恭喜你可以看到django的“It work”了~

九:多站配置

使用多个uwsgi服务的方法来实现多个站点。

重复第六步,创建uwsgi9091.ini,并相应修改文件中的

socket = 127.0.0.1:9091
pidfile = /var/run/uwsgi9091.pid daemonize = /日志目录/uwsgi9091.log

并且设置脚本 启动服务

然后新建nginx的配置文件为:

server {listen  8000;server_name 127.0.0.1;location / {            include  uwsgi_params;uwsgi_pass  127.0.0.1:9091; uwsgi_param UWSGI_SCRIPT oldsite.wsgi; uwsgi_param UWSGI_CHDIR /web/oldsite; index index.html index.htm; } } 然后我们就可以通过http://127.0.0.1:8000来访问新的网站。

转载于:https://www.cnblogs.com/nulige/p/7802429.html

基于Centos搭建nginx+uwsgi运行django环境相关推荐

  1. 学内核之二:基于QEMU搭建Linux内核运行调试环境

    目录 一 接续上文 二 编译根文件系统 三 构建完善根文件系统 四 内核中指定根文件系统 五 带根文件系统启动内核 一 接续上文 在上一篇文章中,我们展示了通过QEMU仿真软件来运行Linux内核的过 ...

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

    @(tigerfive)[tigerfive][linux学习笔记][uwsgi][django][nginx] 前言 先决条件和目标 安装和配置VirtualEnv和VirtualEnvWrappe ...

  3. 【转】Nginx+uWSGI 部署 Django 应用

    原文来自: http://www.oschina.net/question/54100_30386 http://obmem.info/?p=703 常见的django webapp 部署方式采用FC ...

  4. hhvm mysql_Linux_在Ubuntu系统上搭建Nginx+HHVM+MySQL开发环境的教程,貌似最近这个HHVM特别火,其主 - phpStudy...

    在Ubuntu系统上搭建Nginx+HHVM+MySQL开发环境的教程 貌似最近这个HHVM特别火,其主要原因大概要归咎于大的运行效率吧,安装完之后使用探针测试,计算运行的时间都是0.0*的级别,据说 ...

  5. nginx+uwsgi部署Django

    本篇文章主要介绍了解决nginx+uwsgi部署Django的所有问题(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 最近,自己暑假写的小项目也算完毕了,想着投放 ...

  6. Nginx + uWSGI + Python + Django部署实例

    Nginx: Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的 ...

  7. win7下搭建nginx+php的开发环境

    win7下搭建nginx+php的开发环境,需要的朋友可以参考下 一.下载相关软件 nginx下载:http://nginx.org/en/download.html nginx常见异常:http:/ ...

  8. mysql sail_再谈docker搭建nginx+php+mysql开发环境 | Sail

    写在前面 前几天我写了一篇博客docker搭建nginx+php+mysql开发环境.当时主要是参考一片博文搭建记录的. 可是这样搭建出来是有一些问题的,具体的原因我还没找出.当然那篇文章还是有一些参 ...

  9. nginx搭建文件服务器脚本,基于docker搭建nginx文件服务器的方法步骤

    1.在本机新建配置文件docker_nginx.conf server { listen 7070; server_name localhost; charset utf-8; location /f ...

最新文章

  1. Spring 中的bean 是线程安全的吗?
  2. Linux下undefined reference to ‘pthread_create’问题解决 zz
  3. EDM营销内容撰写要注意的几个方面
  4. 《设计模式详解》结构型模式 - 代理模式
  5. 解决无法打开虚拟机的方法
  6. matlab 10为底指数,matlab指数函数
  7. 无线路由器的五种工作模式
  8. 七大行星排列图片_太阳系九大行星排列顺序(口诀:水金地,火木土,天海)...
  9. python下载m3u8视频_Python 下载m3u8格式的视频
  10. Python文本挖掘练习(一)// 新闻摘要
  11. C1任务-修改游戏存档
  12. 测试人员面试需要掌握的内容
  13. python中clear和clear()
  14. AODV协议的运行方式
  15. 自然语言处理(七):AG_NEWS新闻分类任务(TORCHTEXT)
  16. ECharts的讲解
  17. 初中数学抽象教学的案例_初中数学教学案例
  18. 【C++要笑着学】list 常用接口介绍 | 支持任意位置O(1)插入删除的顺序容器 list
  19. [DFS][打表]染色的立方体
  20. Leon : YoloV5 结构原理全解析 思维导图版

热门文章

  1. 远程控制virtual box虚拟机系统的三种方式
  2. Docker入门六部曲——服务
  3. python实现简单的用户密码登录控制(输入三次就锁定用户)
  4. LeetCode简单题之重新格式化字符串
  5. 探索 TVM 进行量化方法
  6. Nucleus 实时操作系统中断(上)
  7. 为什么您应该使用基于标准的开发实践
  8. 人工智能:深层神经网络
  9. js ajax 递归,javascript ajax循环请求/ 长轮询终极解决办法——递归
  10. java爬取验证码图片_JAVA HttpClient实现页面信息抓取(获取图片验证码并传入cookie实现信息获取)...