uwsgi+anaconda+nginx部署django项目(ubuntu下)
conda 环境不必多说: conda(或source) activate test 进入test虚拟环境
接下来安装uwsgi:
pip install uwsgi 在conda环境下大概率安装不成功,可以使用一下命令代替:
conda install -c conda-forge uwsgi
运行uwsgi 有可能碰到 libiconv.so 动态库找不到的问题,同样可以用conda安装
conda install -c conda-forge libiconv
uwsgi安装好后,需要在django项目根目录下建立一个名为uwsgi.ini的文件,在里面配置好uwsgi:
[uwsgi]
socket=127.0.0.1:8000 # 指定项目执行的端口号,用nginx的时候就要配socket
pythonpath=/home/admin/test/ # 指定项目所在位置,在使用conda虚拟环境时必须要有这一条
chdir=/home/admin/test/ # 指定项目的目录
wsgi-file=test/wsgi.py # 项目上wsgi.py所在的位置,与settings目录相同
processes=1 # 开启的进程数量
threads=2
master=True # master :允许主线程存在(true)
pidfile=uwsgi.pid
daemonize=uwsgi.log # 日志,uwsgi无法启动时来这查看错误日志
uwsgi配置好后,要启动uwsgi, 启动命令:
uwsgi --ini uwsgi.ini # 启动uwsgi, 一定要在django实际使用的conda环境下,否则会报错
uwsgi --stop uwsgi.pid # 停止uwsgi
uwsgi --reload uwsgi.pid # 重启uwsgi
uwsgi配置好后,要配置nginx:
首先安装nginx, 运行命令 sudo apt install nginx
nginx 命令:
sudo service nginx start 启动
sudo service nginx stop 停止
sudo service nginx restart 重启nginx
sudo nginx -s reload 重载配置文件
sudo nginx -s quit 优雅的停止nginx
sudo nginx -s term 停止nginx
sudo nginx -s reopen 打开一份新的日志
配置nginx:
在/etc/nginx/site-available下新建文件test.conf: server {
listen ; #nginx监听的端口
charset utf-;
client_max_body_size 75M;
location / {
uwsgi_pass 127.0.0.1:; # 与uwsgi中配置的相一致
include /etc/nginx/uwsgi_params;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /static/ { # 如果用到静态文件
alias /home/test/test/static/;
}
}
然后要建立软连接:
sudo ln -s /etc/nginx/site-available/test.conf /etc/nginx/site-enabled/test.conf
最后用 sudo nginx -s reload 命令启动重载配置文件即可
最后, 如果需要配置负载均衡:
// http模块中配置upstream
upstream test {
server 127.0.0.1:8002 weight=2;
server 127.0.0.1:8003 weight=1;
} // 将server模块中的location替换为如下
location / {
proxy_pass http://test;
}
uwsgi+anaconda+nginx部署django项目(ubuntu下)的更多相关文章
- gunicorn+anaconda+nginx部署django项目(ubuntu)
首先进入conda 虚拟环境: source activate test 安装gunicorn: pip install gunicorn 运行gunicorn gunicorn -w 2 -b 12 ...
- 使用uWSGI+nginx部署Django项目
最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...
- ubuntu18+uwsgi+nginx部署django项目
更新系统软件源 sudo apt-get update pip3安装 sudo apt install python3-pip 安装virtualenvwrapper pip3 install vir ...
- uwsgi+nginx部署django项目
1. 概念解析(wsgi协议,uwsgi协议,uWSGI) 参考:https://www.cnblogs.com/wspblog/p/8575101.html 1.1 现实世界的web请求: 1.2 ...
- Ubuntu+Django+uWSGI+Nginx部署Django项目
安装uWSGI,pip依据自己要使用的python版本自行选择,python2.x版本使用pip进行安装,python3.x版本使用pip3进行安装 pip install uwsgi 配置uWSGI ...
- Nginx+uWSGI或fastcgi部署Django项目
nginx+uWSGI ubuntu下先安装下C编译器和Python环境: sudo apt-get install build-essential python-dev 使用pip安装uWSGI: ...
- uwsgi加nginx部署django restframework前后端分离项目
一.uwsgi和nginx简介 1.uwsgi(摘抄于百度百科): uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与 ...
- 阿里云轻量级服务器和NGINX部署Django项目
部署条件: 1.一台阿里云服务器(本人的是CentOS系统的服务器) 2.已经构建好的项目 3.服务器上安装并配置Nginx 首先第一步:在服务器上安装并配置Nginx 进入服务器 $ ssh roo ...
- 关于Nginx部署Django项目的资料收集
参考:https://www.cnblogs.com/chenice/p/6921727.html 参考:https://blog.csdn.net/fengzq15/article/details/ ...
随机推荐
- P4013 数字梯形问题 网络流
题目描述 给定一个由 nn 行数字组成的数字梯形如下图所示. 梯形的第一行有 mm 个数字.从梯形的顶部的 mm 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形的顶至底的路径. 分别 ...
- 【spring源码分析】IOC容器初始化(九)
前言:上篇文章末尾提到createBeanInstance方法中使用工厂方法实例化Bean对象,本文将对该方法进行分析. AbstractAutowireCapableBeanFactory#inst ...
- WEB框架-Django框架学习(一)-基础层级关系
今日主要内容为Django架构,主要有路由层,视图层和模板层 1. Django的路由层 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之 ...
- Luogu4655 [CEOI2017]Building Bridges
Luogu4655 [CEOI2017]Building Bridges 有 \(n\) 根柱子依次排列,每根柱子都有一个高度.第 \(i\) 根柱子的高度为 \(h_i\) . 现在想要建造若干座桥 ...
- openstack第六章:dashboard
第六篇horizon— Web管理界面 一.horizon 介绍: 理解 horizon Horizon 为 Openstack 提供一个 WEB 前端的管理界面 (UI 服务 )通过 ...
- centos 6.8 配置 Redis3.2.5
配置Redis3.2.5 与 php-redis 一.配置Redis 1.下载Redis3.2.5安装包 [root@zhangsan /] wget http://download.redis.io ...
- springboot整合Quartz实现定时任务
1.maven依赖: <!--quartz--> <dependency> <groupId>org.quartz-scheduler</groupId> ...
- CentOS配置svn
参考: https://www.cnblogs.com/taohaijun/p/7172939.html 1.检查已安装版本 rpm -qa subversion 卸载旧版本SVN yum remo ...
- win 解压安装mysql步骤
5 安装成功之后,启动mysql时报错: 系统错误2,找不到指定的文件.原因:有的系统安装过MySQL没有卸载干净,或者系统自带精简版的MySQL导致注册表关于MySQL的配置与实际安装路径不一致. ...
- 【JMeter】(1)---入门
JMeter入门 https://www.cnblogs.com/qdhxhz/p/9222105.html 一.概述 JMeter是Apache下一款在国外非常流行和受欢迎的开源性能测试工具,JMe ...