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下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的问题
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、修改权限
- sudo chmod 777 /run
- sudo chmod 777 /var/log
如果没改,启动报错 IOError: [Errno 13] Permission denied: '/var/log/supervisord.log'
3、创建supervisor.sock
- sudo touch /var/run/supervisor.sock
- sudo chmod 777 /var/run/supervisor.sock
4、启动supervisord,注意stop之前的实例或杀死进程
supervisord
python3-django+uwsgi+supervisor+nginx跳坑指南(记录)的更多相关文章
- CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇
CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...
- CentOS7.4部署Python3+Django+uWSGI+Nginx
CentOS7.4部署Python3+Django+uWSGI+Nginx http://www.showerlee.com/archives/2590
- [转帖]Kubernetes - nginx-ingress 配置跳坑指南
Kubernetes - nginx-ingress 配置跳坑指南 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https:// ...
- JavaScript 跳坑指南
JavaScript 跳坑指南 坑0-String replace string的replace方法我们经常用,替换string中的某些字符,语法像这样子 string.replace(subStr/ ...
- 两百条微信小程序跳坑指南(不定时更新)
微信小程序联盟出品 跳坑textarea<二百二十三>不显示文本及textarea相关问题集合跳坑<二百一十三> background-image无法获取本地资源图片....跳 ...
- CGAL代码阅读跳坑指南
CGAL代码阅读跳坑指南 整体框架介绍 CGAL中的算法和数据结构由它们使用的对象类型和操作参数化.它们可以处理满足特定语法和语义需求的任何具体模板参数.为了避免长参数列表,参数类型被收集到一个单独的 ...
- Django Linux环境下部署CentOS7+Python3+Django+uWSGI+Nginx(含Nginx返回400问题处理、防火墙管理)
本文将介绍如何在Linux系统上部署Django web项目,本次部署基于下面的架构: CentOS7+ Python3.5 + Django1.11 + uWSGI + Nginx 亲测可行!!按照 ...
- django -- uwsgi+nginx部署
一. 安装nginx How To Install Nginx on CentOS 7 添加epel扩展仓 sudo yum install epel-release 安装Nginx yum inst ...
- Linux下Python3.6的安装及避坑指南
Python3的安装 1.安装依赖环境 Python3在安装的过程中可能会用到各种依赖库,所以在正式安装Python3之前,需要将这些依赖库先行安装好. yum -y install zlib-dev ...
随机推荐
- CXF 教程 (二)
将 Service 布署在远端 1 Overview 2 Server 3 Client 1 Overview 上例中我们的 Server 和 Client 都是在本地.下面演示如果布署在远端需如何修 ...
- TreeView树,全选,反选,平级选操作
首先事件选择,选择的是MouseUp事件.为啥?因为凡是跟Check有关的,在选中父节点或者子节点,都会二次触发.然后发生的就是死循环. Up事件就可以避免二次触发.Down事件呢?那就触发After ...
- 《C++ Primer》学习总结;兼论如何使用'书'这种帮助性资料
6.25~ 6.27,用了3天翻了一遍<C++ Primer>. ▶书的 固有坏处 一句话: 代码比 文字描述 好看多了.————> 直接看习题部分/ 看demo就行了 看文字在描述 ...
- datax分析与思考(一)
Datax 总体流程图 先看执行的第一个步骤: 在最上层抽象类,这个里面相当于获取全局公共信息,java入口部分就是这个Engine的main方法直接启动 Engine 启动 com.alibaba. ...
- Spring Security 解析(七) —— Spring Security Oauth2 源码解析
Spring Security 解析(七) -- Spring Security Oauth2 源码解析 在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因 ...
- VC/MFC如何添加启动界面
2015-05 转自 香远益清原文VC/MFC如何添加启动界面 1.基于框架类的应用程序添加启动画面的步骤(利用组件库中的Splash Screen组件生成Splash1.cpp 和Splash1.h ...
- mybatis关联映射一对一
在项目开发中,会存在一对一的关系,比如一个人只有一个身份证,一个身份证只能给一个人使用,这就是一对一关系.一对一关系使用主外键关联. table.sql,在数据库中创建如下两个表并插入数据 CREAT ...
- 【转载】C#中SqlCommand类的作用以及常用方法
在C#的数据库操作过程中,SqlCommand类一般用于Sqlserver数据库的SQL语句的执行,包括Select语句.Update语句.Delete语句以及SQL存储过程等,SqlCommand的 ...
- 小程序mpvue怎么点击按钮获取button里面的值
在小程序里面是没有dom元素的,这个我们只要会小程序的应该都知道,但是在平时开发中我们偶尔会遇到需要点击某个元素获取它的值的情况,在这里给大家列举了两种情况解决方法 方式一:数据绑定 这种情况的话,对 ...
- 摘jmeter安装之后如何汉化
下载完成后打开bin文件,选择jmeter.properties打开,搜索language,修改成zh_CN,汉化jmeter,记得去掉前面的#号,然后保存,修改完配置文件后需要重启jmeter 用的 ...