zoukankan      html  css  js  c++  java
  • python3-django+uwsgi+supervisor+nginx跳坑指南(记录)

    首先运行django项目:在项目目录内:

    python manage.py runserver 0.0.0.0:8000

    外部服务器访问:http://www.xxx.com:8000/

    可以正常运行

     ###参考:https://blog.51cto.com/chenx1242/1859830

    如果不对,不太对?这是因为django项目里设置了ALLOWED_HOSTS的原因 我们在setting.py里设置一下

    ALLOWED_HOSTS = ['*']

     SECURE_SSL_REDIRECT=Flase

    uwsgi 选择python版本,最开始的默认python版本是2.7下载的,之后再pip3安装一直用的是那个下载的包

    ~# uwsgi --python-version
    2.7.5

    重新下载之后

    ~# uwsgi --python-version

    3.6.1

    运行

    #uswgi uwsgi.ini

    提示并且服务无法访问:

    unable to stat() /home/XXX/reload, events will be triggered as soon as the file is created

    原因:项目目录下缺少一个用于缓冲的reload文件,新建一个名为reload的空文件就解决了

    把uwsgi 和nginx结合运行:

    uwsgi uwsgi.ini & /usr/local/nginx/sbin/nginx

    停止uwsgi进程

    sudo pkill -f uwsgi -9

    用uwsgi运行项目:

    可以打开但是无法加载css样式



    supervisor 常见问题参考链接:https://segmentfault.com/a/1190000003955182
    其中

    Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.

    解决办法:

    sudo unlink /tmp/supervisor.sock

    或者:
    sudo unlink /var/run/supervisor.sock

    出现:unix:///tmp/supervisor.sock no such file

    法一:运行supervisorctl时保错,

    修改/etc/supervisor/supervisor.conf文件

    将file=/var/run/supervisor.sock 修改为/tmp/supervisor.sock

    重启supervisor服务即可

    法二:重新安装supervisor :

    sudo pip install supervisor
    
    echo_supervisord_conf > /etc/supervisord.conf
    
    sudo supervisord
    
    sudo supervisorctl
    uwsgi --http :8000 --chdir /home/ftpuser/www/untitled3 --module untitled3.wsgi

    出现no python application found, check your startup logs for errors
    我的原因是命令写错了,上面。。。。test.wsgi写成了project.wsgi



    以下为复制:

    我在Centos6安装了nginx,尝试设置虚拟主机。目前的问题是我找不到/etc/nginx/sites-available目录。
    有什么东西需要我创建的吗?目前我已经知道nginx启动了,因为我能在浏览器打开网页。

    我认为nginx自身并没有创建有你说的那目录,如果是ubuntu apt安装的话,倒是有可以有这个目录。不过你可以自己手动来创建。
    创建/etc/nginx/sites-available和/etc/nginx/sites-enabled目录,在/etc/nginx/nginx.conf配置文件中的http区块添加如下行:
    include /etc/nginx/sites-enabled/*;
    所有的虚拟主机配置文件放在sites-available目录,然后你可以在sites-enabled目录创建软链接指向sites-available里的配置文件


    分割线///////////////////////////////////////////////////////////////////////////////////////
    Nginx下Django Admin界面Css、JS丢失问题解决方法:原文链接:https://blog.csdn.net/qq_24861509/article/details/45727983
    我的项目位置在 /z/mysite/
    其中我们需要在mysite下新建一个static文件夹,
    用来存放admin需要的一些css、img、js 1.修改mysite/settings.py:
    2.使用命令将django安装目录下的static文件拷贝过来:
    python manage.py collectstatic
    OK,现在已经在/z/mysite/static/下生成admin文件夹,里边有css、img、js 3.修改Ngnix的ngnix.conf ,
    添加以下代码: location ~/static/ { root /z/mysite/ ; break; }

    4.重启uwsgi和nginx,再看看admin是不是已经恢复了呢。
    ///////////////////////////////////////////////////////////////////////
    worker_processes
    :操作系统启动多少个工作进程运行Nginx。注意是工作进程,不是有多少个nginx工程。
    在Nginx运行的时候,会启动两种进程,一种是主进程master process;一种是工作进程worker process。
    例如我在配置文件中将worker_processes设置为4,启动Nginx后,使用进程查看命令观察名字叫做nginx的进程信息,我会看到如下结果:




    解决unix:///tmp/supervisor.sock no such file的问题

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/qq_28885149/article/details/79364685

    1、打开配置文件

    vim /etc/supervisord.conf

    这里把所有的/tmp路径改掉,/tmp/supervisor.sock 改成 /var/run/supervisor.sock,/tmp/supervisord.log 改成 /var/log/supervisor.log,/tmp/supervisord.pid 改成 /var/run/supervisor.pid 要不容易被linux自动清掉

    2、修改权限

    1. sudo chmod 777 /run
    2. sudo chmod 777 /var/log

    如果没改,启动报错 IOError: [Errno 13] Permission denied: '/var/log/supervisord.log'

    3、创建supervisor.sock

    1. sudo touch /var/run/supervisor.sock
    2. sudo chmod 777 /var/run/supervisor.sock

    4、启动supervisord,注意stop之前的实例或杀死进程

    supervisord


  • 相关阅读:
    python configparser模块
    python shutil模块
    软件架构百度百科
    设计模式
    python Sys module
    python time module
    对别人的敬仰就是对自己的信心。数据和计算给了人类史无前例的巨大能力,也带来了前所未有的未知,挑战着人类的自信。
    阿波罗计划里最了不起的就是自信心,这份自信,比任何事情都重要。到今天为止,我觉得美国这个国家做的最有领导力的事情就是阿波罗登月计划。今天我们享受的很多科技,从通信技术到生物医疗,再到材料以及其他很多东西,都要感谢阿波罗登月计划打下的非常好的基础。
    打一个不太恰当的比方,我们与技术的关系就像是农夫与蛇。什么是对技术的热爱?你真的相信技术会改变很多东西吗?你有没有足够的自信和热爱,去捂暖这条蛇,哪怕它苏醒以后可能会咬你一口?
    人们熟知的一句名言是:“天才是1%的灵感加99%的汗水。”可如果没有那1%的灵感,世界上所有的汗水也就仅仅是一桶汗水而已。
  • 原文地址:https://www.cnblogs.com/donke/p/9703901.html
Copyright © 2011-2022 走看看