• 服务器管理项目


    perfey项目服务器修改代码注意事项:
    1,静态文件是有nginx响应的,所有的app下的static文件夹都由python3 manage.py collectstatic收集到了指定目录
    2,所以项目中的media和files这些包含大文件的内容不应放到static中
    3,nginx的上传文件大小是有限制的,需要在nginx 配置中改client_max_body_size  2000m;  #最大限制为2000M
    4,修改完代码后
    	1) 杀死nginx,uwsgi,supervisor 这些进程 , 查看进程 ps -ef|grep uwsgi  netstat -tulpn|grep :80   杀死进程 kill -9 进程号
    	2) 使用 Python3 manage.py runserver 0.0.0.0:8000单独开启django程序,看是否有bug,能否正常运行
    	3) 开启nginx  在/opt/nginx1-12 目录下执行    sbin/nginx
    	4) 开启uwsgi  在/home/perfey 项目目录下执行  
    		uwsgi --uwsgi 0.0.0.0:8002 --chdir=/home/perfey  --module=perfey.wsgi  
    	   测试nignx + uwsgi是否正常 在浏览器输入 www.perfey.top,成功后ctrl +c 关闭uwsgi
    	5) 使用supervisor管理Python程序 
    	   开启supervisor    supervisord -c /etc/supervisord.conf
    	   如果报错 Unlinking stale socket /tmp/supervisor.sock  执行unlink /tmp/supervisor.sock命令即可
    报这个错unix:///tmp/supervisor.sock refused connection 执行supervisord -c /etc/supervisord.conf 启动项目 supervisorctl -c /etc/supervisord.conf start perfey,如果显示已经启动改为重启 restart
    nginx 添加rtmp-model模块时注意服务器要开放 1935端口,配置文件见代码 websocket是没有跨域的问题的,所以不用考虑跨域,直接发请求进行了 uwsgi --uwsgi 0.0.0.0:8002 --chdir=/home/perfey --module=perfey.wsgi master = true processes = 5 socket=/home/perfey/perfey.sock 可以考虑,写两个服务程序,一个使用nginx + uwsgi 另一个使用django自带的uwsiref,然后前后端分离,这样添加功能就不必再原项目上改了,只需该前端的请求地址就行了,当然服务程序要使用端口号区分开来

      

    引用博客:https://www.cnblogs.com/laifu/p/3633063.html
    supervisord,初始启动Supervisord,启动、管理配置中设置的进程。
    supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值,这个示例就是chatdemon。
    supervisorctl start programxxx,启动某个进程
    supervisorctl restart programxxx,重启某个进程
    supervisorctl stop groupworker: ,重启所有属于名为groupworker这个分组的进程(start,restart同理)
    supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
    supervisorctl reload,载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
    supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。
    注意:显示用stop停止掉的进程,用reload或者update都不会自动重启
     
     
     
     vim /etc/supervisord.conf
     
     # 在supervisord配置文件中加入以下内容
    [program:perfey]
    command=/usr/local/python3/bin/uwsgi --uwsgi 0.0.0.0:8002 --chdir=/home/perfey  --module=perfey.wsgi
    directory=/home/perfey
    startsecs=0
    stopwaitsecs=0
    autostart=true
    autorestart=true
    
    [program:chat]
    command=python3 manage.py runserver 0.0.0.0:8006
    directory=/home/test_dwebsocket
    startsecs=0
    stopwaitsecs=0
    autostart=true
    autorestart=true
    
    #配置完后再重新加载
    supervisorctl reload
    

      

    # nginx.conf 文件
    #websocket
    #不搞了,弄不了
    #搞了几天也没配好websocket的nginx,不过也有收获, 
    #一般http请求是  nginx ->   uwsgi  -> django
    #websocket也是这样  nginx  -> uwsgi -> django (nginx可以配置请求了,当请求路由是/chat/ws/时,就走下面的地址 59.110.140.100:8002,然后更改请求协议变为websocket),可是怎么传给uwsgi是个事,我就是卡在这了
    location  /chat/ws/{      
    include /opt/nginx1-12/conf/uwsgi_params;
    #uwsgi_pass unix:/home/perfey/perfey.sock;
    proxy_pass http://59.110.140.100:8002;
    #proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Origin "";
    }
    

      

  • 相关阅读:
    C#中的Byte,String,Int,Hex之间的转换函数。
    js继承之原型继承
    node.js module初步理解
    手游热更新方案--Unity3D下的CsToLua技术
    像素迷踪,当Unity的Frame Debugger力不从心时
    Unity内存理解(转)
    Unity5的AssetBundle(二、加载&卸载)
    Sprite Atlas与Sprite Mask详解
    Unity2017新功能Sprite Atlas详解
    Util应用程序框架公共操作类(一):数据类型转换公共操作类(介绍篇)
  • 原文地址:https://www.cnblogs.com/perfey/p/10028655.html
Copyright © 2020-2023  润新知