centos6.5安装nginx+python+uwsgi+django
nginx+uwsgi+django环境部署及测试
默认系统自带的python2.6.6
第一步(安装setuptools)
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz --no-check-certificate
tar zxvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py install
第二步(安装pip)
这里有较新版的pip https://pypi.python.org/pypi/pip/(需要新的版本,下面版本太旧)
解压:tar zxvf pip-8.0.3.tar.gz
cd pip-8.0.3
python setup.py install
pip list查看当前已经安装的东西
第三步(通过pip安装django)
pip install django==1.6(指定版本)
至此django的环境已经可以了,可以测试一下是否成功
第四步 (测试django)
进入目录/home/shifeixiang/python/django
创建一个django项目--django-admin.py startproject mysite
这样就能看到自己的django项目
cd ./mysite
可以看到一个文件夹,一个文件
接下来启动django自带的服务
python manage.py runserver 0.0.0.0:8011(端口是8011,0.0.0.0表示任意地址访问)
在自己电脑打开浏览器
ip地址是django所在的主机的地址
这表明django可以执行了
第五步(安装相关的软件,为nginx和uwsgi的安装做准备)
sudo yum groupinstall "Development tools" sudo yum install openssl openssl-devel sqlite-devel zlib-develbzip2-devel ncurses-devel readline-devel tk-devel sudo yum install pcre pcre-devel pcre-static
安装python-devel
yum install python-devel
否则出现错误:
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-PY2Y2u/uwsgi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-QoUtnM-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-PY2Y2u/uwsgi/
第六步(安装uwsgi)
sudo pip install uwsgi
在主目录下会有mysite/wsgi.py文件
因此在项目的主目录执行
uwsgi --http 0.0.0.0:8011 --module mysite.wsgi
在本地的浏览器中输入ip和端口,如下,表示uwsgi和django可以连通:
此时的服务方式如下:
the web client <-> uWSGI <-> Django
通过ctrl+c 停止
第七步(安装nginx)
sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm #安装nginx yum源 sudo yum info sudo yum install nginx
查看版本 nginx -v
第八步(配置相关信息)
在django项目所在的目录下面,也就是manage.py同级的目录
创建django_wsgi.py文件:
#coding=utf-8
import os
#设置系统的DJANGO_SETTINGS_MODULE参数指向django项目的settings.py文件
os.environ['DJANGO_SETTINGS_MODULE']='test_project.settings'
import django.core.handlers.wsgi
application=django.core.handlers.wsgi.WSGIHandler()
在项目主目录下配置uwsgi,mysite_uwsgi.ini
[uwsgi]
socket = 0.0.0.0:8078
listen = 16
#env = PYTHONPATH=/home/shifeixiang/workspace/python/django/mysite/3rd-packages/
processes = 8
module = django_wsgi
chdir = /home/shifeixiang/workspace/python/django/mysite
pidfile = /usr/local/nginx/uwsgi_mysite.pid
enable-threads = true
pythonpath = /home/shifeixiang/workspace/python/django/mysite
daemonize = /data/logs/mysite_uwsgi.log
socket:地址和端口号,与Nginx的uwsgi_pass配置对应
listen:设置socket的监听队列大小
env:设置一个系统环境变量
processes:开启的进程数量
pidfile:存放pid的文件
module:运行的python模块的名称
pythonpath:运行的python模块所在的路径
enable-threads:是否允许运行线程
daemonize:使进程在后台运行,并将日志打到指定的日志文件
touch-reload:当该文件被touch的时候,重启uWSGI
最后配置nginx文件
server {
listen 80;
server_name hd3.mingchao.com www.testmysite.com;
root /home/shifeixiang/python/django/mysite;
error_log /data/logs/update.center.mcmysite.com;
location / {
uwsgi_read_timeout 600;
uwsgi_send_timeout 600;
uwsgi_pass 0.0.0.0:8079;
include uwsgi_params;
}
location /static/{
alias /home/shifeixiang/python/django/mysite/static/;
break;
}
}
listen:Nginx对外的端口,也就是用浏览器访问的端口
server_name:该服务端的域名
error_log:错误日志会输出到这个文件
location:上面第一个location的配置表示的把服务器/目录的请求通过本地的9099端口重定向给uwsgi
这里可以设置uwsgi的参数,例如uwsgi_read_timeout表示等待uwsgi返回数据的超时时间,uwsgi_send_timeout表示向uwsgi发动请求的超时时间
第二个location是设置静态文件,表示/static/目录的请求,返回服务器/data/web/mcyw_test_project/static/目录下的文件
第九步(启动uwsgi和nginx)
启动uwsgi
uwsgi mysite_uwsgi.ini
启动nginx
service nginx restart
登陆时默认的是80端口,在nginx中配置listen 80;
这种服务方式为:
浏览器 <-> nginx <-> uWSGI <-> Django(python)
nginx作为反向代理
如需域名访问,需要在本地设置hosts文件,添加ip与域名的映射,或者设置DNS
成功
centos6.5安装nginx+python+uwsgi+django的更多相关文章
- Nginx+Python+uwsgi+Django的web开发环境安装及配置
Nginx+Python+uwsgi+Django的web开发环境安装及配置 nginx安装 nginx的安装这里就略过了... python安装 通常系统已经自带了,这里也略过 uwsgi安装 官网 ...
- 安装nginx python uwsgi环境 以及模拟测试
uwsgi帮助文档: http://uwsgi-docs-cn.readthedocs.io/zh_CN/latest/WSGIquickstart.html http://uwsgi-docs.re ...
- centos6.5 安装nginx
安装之前先安装VMware tools(方便于从windows上拷贝文件到linux) 1. nginx安装环境 nginx是C语言开发,建议在linux上运行,本次使用Centos6.5作为安装环境 ...
- centos6.3安装nginx
一般使用linux系统的不少网友可能都是直接使用一键安装包进行安装的,以前作者也这样,但是很多时候这些一键安装方便是方便但是可能在升级及其他很多地方不是很好,本文就说下在centos6.3安装ngin ...
- Centos6 下安装Nginx+Mysql+PHP
安装nginx https://segmentfault.com/a/1190000007928556 添加源 $ wget http://nginx.org/packages/centos/6/no ...
- Centos6 yum安装nginx
1.Centos6系统库中默认是没有nginx的rpn包的,所以我们需要先更新下rpm依赖库 (1):使用yum安装nginx,安装nginx库 rpm -Uvh http://nginx.org/p ...
- CentOS6.5安装nginx及负载均衡配置
所有的安装包可以去以下地址下载,或者自行去官网下载,下面都有介绍. 所有安装包地址:http://download.csdn.net/detail/carboncomputer/9238037 原文地 ...
- Centos6.6安装Nginx
1.在安装nginx之前,需要先安装该模块需要依赖包 yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel 2.安 ...
- nginx+vue+uwsgi+django的前后端分离项目部署
Vue+Django前后端分离项目部署,nginx默认端口80,数据提交监听端口9000,反向代理(uwsgi配置)端口9999 1.下载项目文件(统一在/opt/luffyproject目录) (1 ...
随机推荐
- C#动态操作DataTable(新增行、列、查询行、列等)
public void CreateTable() { //创建表 DataTable dt = new DataTable(); //1.添加列 dt.Columns.Add("Name& ...
- 和CISSP并肩的信息安全认证国际注册信息安全经理CISM
众所周知,信息安全认证界有一个扛把子的证书叫CISSP(国际信息安全专家认证),一般拥有CISSP证书的小哥哥还会选择考取另一个认证,这就是今天给大家介绍的CISM(国际注册信息安全经理).CISM是 ...
- ComboBox下拉列表框
属性:DropDownStyle(下拉.可编辑等).Items(条目) 事件:SelectedIndexChanged选择项改变触发 Items内容:总经理.副总经理.财务部 DropDownStyl ...
- 分布式监控系统开发【day38】:监控trigger表结构设计(一)
一.需求讨论 1.zabbix触发器的模板截图 1.zabbix2.4.7 2.zabbix3.0 2.模板与触发器关联的好处 好处就是可以批量处理,比如我说我有1000机器都要监控cpu.内存.IO ...
- [再寄小读者之数学篇](2014-06-27 向量公式: The Hall term)
$$\bex \n\cdot{\bf b}=0\ra \n\times [(\n\times {\bf b})\times {\bf b}]=\n\times [\n\cdot ({\bf b}\ot ...
- DUMP3.5 企业级电商项目
购物车模块 加入商品 更新商品数 查询商品数 移除商品 单选/取消 全选/取消 购物车列表 [浮点型商业运算精度丢失问题]ej1st 一书提到 float double只适合科研计算,BigDeci ...
- Leetcode#70. Climbing Stairs(爬楼梯)
题目描述 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 解 ...
- day 17 - 2 递归函数练习
1.斐波那契 问第n个斐波那契数是多少 #这个效率是低的,最好不要使用双递归 def fib(n): if n == 1 or n == 2: return 1 return fib(n-1) + ...
- Django模型层-单表操作
ORM介绍 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的 ...
- Python- redis缓存 可达到瞬间并发量10W+
redis是什么? mysql是一个软件,帮助开发者对一台机器的硬盘进行操作. redis是一个软件,帮助开发者对一台机器的内存进行操作. redis缓存 可达到瞬间并发量10W+ 高并发架构系列:R ...