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/ ...
随机推荐
- linux 系统shell运行程序不退出
如果通过ssh远程连接到linux系统终端,在shell下执行程序.假如程序名称为app,且程序本身会一直执行不退出,程序执行需要参数文件paramfile. 当我们用 ./app paramfile ...
- AI-2048 注释
针对2048游戏,有人实现了一个AI程序,可以以较大概率(高于90%)赢得游戏,并且作者在 stackoverflow上简要介绍了AI的算法框架和实现思路. 有博客介绍了其中涉及的算法,讲的很好 其中 ...
- 安装WebLogic失败,出现”[VALIDATION] [ERROR]:INST-07004: Oracle 主目录(O) 位置包含一个或多个无效字符“解决方案
题如图 解决方案: 在管理员cmd窗口定位到jdk bin目录,然后输入以下命令 java -jar F:\java\fmw_12.2.1.3.0_wls_quick_Disk1_1of1\fmw_1 ...
- 从Java小白到阿里巴巴工程师,回顾我两年来的学习经历
添加描述
- boost学习目录
Boost之数值转换lexical_cast https://www.cnblogs.com/TianFang/archive/2013/02/05/2892506.html Boost之字符串算法s ...
- Linux系统下Mysql安装与配置
一,使用系统 Centos7: 在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 二,下载安装 ...
- 使用.Net Core Mvc +SqlSugar +Autofac+AutoMapper+....
开源地址:https://github.com/AjuPrince/Aju.Carefree 目前用到了 SqlSugar.Dapper.Autofac.AutoMapper.Swagger.Redi ...
- MySQL-悲观锁和乐观锁
引言 悲观锁和乐观锁指的并不是一种锁,而是一种思想,一种并发控制的方法. 在事务并发执行的情景中,可能存在多个用户同时更新同一条数据的情况,这可能会产生冲突导致丢失更新或者脏读. 丢失更新是指一个事 ...
- 在Asp.Net Core中集成Kafka
在我们的业务中,我们通常需要在自己的业务子系统之间相互发送消息,一端去发送消息另一端去消费当前消息,这就涉及到使用消息队列MQ的一些内容,消息队列成熟的框架有多种,这里你可以读这篇文章来了解这些MQ的 ...
- 在vue 里使用腾讯ditu
https://www.cnblogs.com/mrer/p/7144705.html