基于Ubuntu16.04的django+uwsgi+nginx安装部署

简介: 基于Ubuntu16.04的django+uwsgi+nginx部署安装

最近由于导师的一点破事,我一个从来没有搞过后台的人来搞后台,由于只会用python,所以没得选,只能由题目的套装。这三个东西的网上教程坑非常之多。我们一步一步来。

首先是一台无瑕,没有被玷污过的新机子。

一、安装虚拟环境

别问为啥要装,装就完事了,ubuntu里面默认的是py2,现在一般都是py3了,按步骤来
安装python3-venv

apt-get install python3-venv

接下来cd到你想去的目录下创建虚拟环境ven(名字比较随意)

python3 -m venv ven

ven/bin中的python是3.5的
接下来激活虚拟环境,cd到ven/bin目录下

source activate

接下来你会看到你命令行的前面有个(ven),这就是激活啦。
退出虚拟环境也得cd到ven/bin目录下

source deactivate


二、安装django

这个简单哈

pip install django

注意要在虚拟环境下这么干

三、安装uwsgi

安装这个需要先装一下其他工具


sudo apt-get install python3-setuptools
sudo apt-get install python3-dev
pip install uwsgi


注意:按照这个时候,其余的教程就会让你测试了,其实这个测试容易出很多的问题,我推荐先不要急着测试,只要pip install uwsgi没有出现问题就暂时不要管这个


四、安装nginx

先更新一下哈

sudo apt-get update

再安装nginx

sudo apt-get install nginx

五、接下来干的事情

首先再项目目录下新建一个uwsgi.ini文件

[uwsgi]
chdir   = /你的路径/项目
module  = 项目名称.wsgi
master  = true
processes = 10
socket  = :8000
vacuum  = true
pythonpath = /你的虚拟环境的路径/lib/python3.5/site-packages/ #这个需要具体调整

然后再新建一个nginx.conf文件

upstream django {
    server 0.0.0.0:8000;
    }
server {
listen 80;
server_name 你的域名或者ip;
charset utf-8;
client_max_body_size 75M;
location /media {
    alias /你的路径/项目/media;  # 指向django的media目录
    }

location /static {
    alias /你的路径/项目/static; # 指向django的static目录
    }

location / {
    uwsgi_pass  django;
    include  uwsgi_params;
}
}

写好之后把这个玩意链接到uwsgi的启动配置文件中

ln -s /你的目录/项目/nginx.conf  /etc/nginx/conf.d/

都搞定之后,重启一下nginx

service nginx restart

cd到你的项目目录下,开启uwsgi

uwsgi -i uwsgi.ini

不出意外大功告成,然后这个时候如果没问题,首先回去在目录下新建run.log文件,然后修改一下uwsgi.ini文件,新增两行

daemonize = /你的路径/项目/run.log
disable-logging = true

这样的话就会将日志信息保存至run.log里面,而且不记录正常信息,要不然就爆了。






相关文章
|
5天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
2天前
|
负载均衡 网络协议 应用服务中间件
web群集--rocky9.2源码部署nginx1.24的详细过程
Nginx 是一款由 Igor Sysoev 开发的开源高性能 HTTP 服务器和反向代理服务器,自 2004 年发布以来,以其高效、稳定和灵活的特点迅速成为许多网站和应用的首选。本文详细介绍了 Nginx 的核心概念、工作原理及常见使用场景,涵盖高并发处理、反向代理、负载均衡、低内存占用等特点,并提供了安装配置教程,适合开发者参考学习。
|
23天前
|
负载均衡 前端开发 应用服务中间件
使用Nginx配置SSL以及部署前端项目
本文介绍了如何使用Nginx配置SSL证书以启用HTTPS,并展示了如何通过Nginx部署前端项目,包括配置SSL证书、设置代理和负载均衡的示例。
58 2
|
23天前
|
关系型数据库 应用服务中间件 PHP
如何在 Ubuntu 16.04 上使用 Nginx 部署 Laravel 应用
如何在 Ubuntu 16.04 上使用 Nginx 部署 Laravel 应用
15 1
|
23天前
|
缓存 Ubuntu 前端开发
在Ubuntu上手动与自动启动Nginx的踩坑经历、以及重启服务
本文分享了作者在Ubuntu系统上手动和自动启动Nginx服务的踩坑经历,包括创建启动脚本、解决依赖问题、配置服务自动启动以及通过命令行管理Nginx服务的方法。
127 0
在Ubuntu上手动与自动启动Nginx的踩坑经历、以及重启服务
|
13天前
|
Java 应用服务中间件 nginx
【Azure Spring Apps】Spring App部署上云遇见 502 Bad Gateway nginx
【Azure Spring Apps】Spring App部署上云遇见 502 Bad Gateway nginx
|
23天前
|
存储 Ubuntu 安全
在Ubuntu 16.04上安装Django并搭建开发环境的方法
在Ubuntu 16.04上安装Django并搭建开发环境的方法
12 0
|
23天前
|
关系型数据库 MySQL 应用服务中间件
在Ubuntu 16.04上使用Nginx安装和保护phpMyAdmin的方法
在Ubuntu 16.04上使用Nginx安装和保护phpMyAdmin的方法
15 0
|
23天前
|
关系型数据库 Linux 应用服务中间件
如何在 Ubuntu 14.04 服务器上使用 Nginx 安装和保护 phpMyAdmin
如何在 Ubuntu 14.04 服务器上使用 Nginx 安装和保护 phpMyAdmin
13 0
|
23天前
|
Ubuntu 应用服务中间件 nginx
在Ubuntu上离线安装Nginx的踩坑经历
本文记录了作者在Ubuntu系统上离线安装Nginx的详细过程,包括下载、配置、解决依赖问题、编译和安装步骤,以及在安装过程中遇到的PCRE库依赖问题和解决方案。
76 0
下一篇
DDNS