设为首页 收藏本站

运维网

查看: 151|回复: 0

[经验分享] django+uwsgi+nginx实现生产环境项目部署

[复制链接]

尚未签到

发表于 2017-10-11 09:21:16 | 显示全部楼层 |阅读模式
环境:
    ubuntu 16.04
    django 1.11.6
    python 2.7
    项目位置:/home/huyuan/
    工程名称:web

     
sudo apt-get install nginx             #安装nginx
sudo apt-get install python-pip        #安装pip
sudo pip install uwsgi               #安装uwsgi
suod pip install django              #安装django


vim test.py                    #创建test.py文件,测试uwsgi
    def application(env, start_response):                                    
        start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"]

         
vim /home/huyuan/web/web/settings.py
    ALLOWED_HOSTS = ['*']         #修改
         
         
uwsgi --http :8000 --wsgi-file test.py    #测试,访问http://ip:8000,出现Hello World
uwsgi --http :8001 --chdir /home/huyuan/web/ --wsgi-file myweb/wsgi.py --master --processes 4 --threads 2 --stats :8002
        #测试django项目
     
        http           #指定协议类型和端口号
        processes      #进程数量
        workers        #进程数量,等同于processes
        chdir           #指定运行目录
        wsgi-file       #加载wsgi-file
        stats          #在指定的地址上,开启服务
        threads         #开启线程
        master          #允许主进程存在
        daemonize       #以守护进程方式运行
        pidfile        #pid文件
        vacuum             #关闭服务是,删除socket文件和pid文件


cd /home/huyuan/web/           #进入工程目录
sudo vim uwsgi.ini            #创建uwsgi配置文件
    [uwsgi]
    socket          = 127.0.0.1:8000     #监听地址
    chdir           = /home/huyuan/web      #项目位置
    module          = web.wsgi       #等于/home/huyuan/web/web/wsgi.py
    master          = true                  
    processes       = 4
    max-requests    = 5000         #最大连接数
    vacuum          = true           #以守护进程方式运行
    daemonize       = /var/log/uwsgi.log        #日志文件
    pidfile     = /tmp/django_project.pid  #pid文件
    log-maxsize    = 50000000   #以固定的文件大小(单位KB),切割日志文件



sudo vim /etc/nginx/sites-available/default  #修改nginx配置文件
    server {
        listen 80 default_server;

    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name _;
         
    location / {
        include uwsgi_params;      #固定写法
        uwsgi_pass 127.0.0.1:8000;     #127.0.0.1:8000=uwsgi.ini的socket
        uwsgi_read_timeout 120;        #超时时间
    }
    }   

sudo uwsgi --ini /home/huyuan/web/uwsgi.ini  #启动uwsgi
sudo service nginx restart           #重启nginx



运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:[email protected] 网址:www.iyunv.com

点击关注更多内容
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则  允许回帖邮件提醒楼主

关注运维网官方微信X

关注运维网官方微信

扫描二维码关注运维网官方微信,最新一手资源尽在官方微信!快快关注我们吧...

扫描微信二维码查看详情

客服 E-mail:[email protected]

本站由安畅网络和青云提供云计算服务

运维网--中国最专业的运维工程师交流社区

京ICP备14039699号-1 Copyright © 2012-2017

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

Good good study day day up !


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


合作伙伴: 青云cloud 安畅网络

快速回复 返回顶部 返回列表