Django + Nginx + Uwsgi 配置服务器

来源:互联网 发布:sql 求平均值 编辑:程序博客网 时间:2024/05/01 15:35

Django + Nginx + Uwsgi 配置服务器


Django

  • 安装
    密码:qrzd
tar -zxvf Django-1.6.11.tar.gzcd Django-1.6.11python setup.py install
  • 新建项目、应用
django-admin.py startproject ~/jiarenyf # 项目名为jiarenyfcd ~/jiarenyfpython manage.py startapp ydf # 应用名为ydf
  • 运行应用
 python manage.py runserver 0.0.0.0:4567 # 发布的ip

Uwsgi

  • 安装
sudo apt-get install python-dev pip # 需要更新pythonsudo pip install uwsgi # 需要pip安装,才能直接支持django
  • 支持django
cd ~/jiarenyfuwsgi --http :4567 --chdir ~/jiarenyf --module ydf.uwsgi# 但是css、js文件无法加载,需结合nginx
  • 配置文件写法(结合nginx)
<!-- 文件路径:~/jiarenyf/uwsgi/ydf_socket.xml --><uwsgi>    <socket>/dev/shm/ydf.sock</socket>    <!-- <socket>127.0.0.1:9000</socket> -->    <!-- 上述两种选一种即可,对应的nginx配置要相同 -->    <chdir>~/jiarenyf</chdir>    <module>ydf.wsgi</module>    <processes>4</processes>    <enable-threads/>    <chmod-socket>666</chmod-socket>    <!-- 必须是666…… -->    <listen>1024</listen>    <!-- linux默认是128,要修改配置,如下小节 -->    <!-- <daemonize>~/jiarenyf/uwsgi/ydf_uwsgi.log</daemonize> -->    <!-- 若使用daemonize参数,则uwsgi会在后台运行,并将输出记录在~/jiarenyf/uwsgi/ydf_uwsgi.log中> --></uwsgi><!-- 命令行: uwsgi -x ~/jiarenyf/uwsgi/ydf_socket.xml -->
  • 修改系统socket最大连接数
vim /etc/sysctl.conf# 添加:net.core.somaxconn=1024# 退出vimsysctl -p # 使之生效

Nginx

  • 安装
sudo apt-get install nginx
  • 收集静态文件
vim ~/jiarenyf/jiarenyf/settings.py# 添加:    STATIC_ROOT=~/jiarenyf/ydf/static# 退出vimcd ~/jiarenyfpython manage.py collectstatic
  • 配置文件编写
# 文件路径:~/jiarenyf/nginx/ydf_nginx.confupstream ydf_django{    server unix:///dev/shm/ydf.sock;    # server 127.0.0.1:9000;    # 二选一,要与~/jiarenyf/uwsgi/ydf_socket.xml中socket对应}server{    listen 4567;    server_name  0.0.0.0;    charset utf-8;    client_max_body_size 5M;    access_log ~/jiarenyf/nginx/access.log;    error_log ~/jiarenyf/nginx/error.log;    location /{        include /etc/nginx/uwsgi_params;        uwsgi_pass ydf_django;    }    location /static{        alias ~/jiarenyf/ydf/static;    }    location /media{        alias ~/jiarenyf/ydf/media;    }}
  • 使配置文件生效
sudo ln ~/jiarenyf/nginx/ydf_nginx.conf -s /etc/nginx/site-enabledsudo service nginx restart# 或 sudo nginx -s reload

0 0