基于Centos搭建nginx+uwsgi运行django环境
环境:
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环境相关推荐
- 学内核之二:基于QEMU搭建Linux内核运行调试环境
目录 一 接续上文 二 编译根文件系统 三 构建完善根文件系统 四 内核中指定根文件系统 五 带根文件系统启动内核 一 接续上文 在上一篇文章中,我们展示了通过QEMU仿真软件来运行Linux内核的过 ...
- 如何在CentOS 7上使用uWSGI和Nginx来运行Django应用程序
@(tigerfive)[tigerfive][linux学习笔记][uwsgi][django][nginx] 前言 先决条件和目标 安装和配置VirtualEnv和VirtualEnvWrappe ...
- 【转】Nginx+uWSGI 部署 Django 应用
原文来自: http://www.oschina.net/question/54100_30386 http://obmem.info/?p=703 常见的django webapp 部署方式采用FC ...
- hhvm mysql_Linux_在Ubuntu系统上搭建Nginx+HHVM+MySQL开发环境的教程,貌似最近这个HHVM特别火,其主 - phpStudy...
在Ubuntu系统上搭建Nginx+HHVM+MySQL开发环境的教程 貌似最近这个HHVM特别火,其主要原因大概要归咎于大的运行效率吧,安装完之后使用探针测试,计算运行的时间都是0.0*的级别,据说 ...
- nginx+uwsgi部署Django
本篇文章主要介绍了解决nginx+uwsgi部署Django的所有问题(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 最近,自己暑假写的小项目也算完毕了,想着投放 ...
- Nginx + uWSGI + Python + Django部署实例
Nginx: Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的 ...
- win7下搭建nginx+php的开发环境
win7下搭建nginx+php的开发环境,需要的朋友可以参考下 一.下载相关软件 nginx下载:http://nginx.org/en/download.html nginx常见异常:http:/ ...
- mysql sail_再谈docker搭建nginx+php+mysql开发环境 | Sail
写在前面 前几天我写了一篇博客docker搭建nginx+php+mysql开发环境.当时主要是参考一片博文搭建记录的. 可是这样搭建出来是有一些问题的,具体的原因我还没找出.当然那篇文章还是有一些参 ...
- nginx搭建文件服务器脚本,基于docker搭建nginx文件服务器的方法步骤
1.在本机新建配置文件docker_nginx.conf server { listen 7070; server_name localhost; charset utf-8; location /f ...
最新文章
- Spring 中的bean 是线程安全的吗?
- Linux下undefined reference to ‘pthread_create’问题解决 zz
- EDM营销内容撰写要注意的几个方面
- 《设计模式详解》结构型模式 - 代理模式
- 解决无法打开虚拟机的方法
- matlab 10为底指数,matlab指数函数
- 无线路由器的五种工作模式
- 七大行星排列图片_太阳系九大行星排列顺序(口诀:水金地,火木土,天海)...
- python下载m3u8视频_Python 下载m3u8格式的视频
- Python文本挖掘练习(一)// 新闻摘要
- C1任务-修改游戏存档
- 测试人员面试需要掌握的内容
- python中clear和clear()
- AODV协议的运行方式
- 自然语言处理(七):AG_NEWS新闻分类任务(TORCHTEXT)
- ECharts的讲解
- 初中数学抽象教学的案例_初中数学教学案例
- 【C++要笑着学】list 常用接口介绍 | 支持任意位置O(1)插入删除的顺序容器 list
- [DFS][打表]染色的立方体
- Leon : YoloV5 结构原理全解析 思维导图版
热门文章
- 远程控制virtual box虚拟机系统的三种方式
- Docker入门六部曲——服务
- python实现简单的用户密码登录控制(输入三次就锁定用户)
- LeetCode简单题之重新格式化字符串
- 探索 TVM 进行量化方法
- Nucleus 实时操作系统中断(上)
- 为什么您应该使用基于标准的开发实践
- 人工智能:深层神经网络
- js ajax 递归,javascript ajax循环请求/ 长轮询终极解决办法——递归
- java爬取验证码图片_JAVA HttpClient实现页面信息抓取(获取图片验证码并传入cookie实现信息获取)...