zoukankan      html  css  js  c++  java
  • python+django+wusgi+nginx安装部署

    基于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/uWSGI uwsgi参数详解: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: " do_status ;; start) echo -en "Starting $NAME: " do_start ;; stop) echo -en "Stopping $NAME: " do_stop ;; reload|graceful) echo -en "Reloading $NAME: " 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来访问新的网站了。 完毕!
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 数的统计
    Java实现 蓝桥杯VIP 算法训练 和为T
    Java实现 蓝桥杯VIP 算法训练 友好数
    Java实现 蓝桥杯VIP 算法训练 连续正整数的和
    Java实现 蓝桥杯VIP 算法训练 寂寞的数
    Java实现 蓝桥杯VIP 算法训练 学做菜
    Java实现 蓝桥杯VIP 算法训练 暗恋
    Java实现 蓝桥杯VIP 算法训练 暗恋
    测试鼠标是否在窗口内,以及测试鼠标是否在窗口停留
    RichEdit 各个版本介绍
  • 原文地址:https://www.cnblogs.com/weiman3389/p/6232721.html
Copyright © 2011-2022 走看看