基于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里面,而且不记录正常信息,要不然就爆了。






相关文章
|
4月前
|
Ubuntu 网络协议 应用服务中间件
在 Ubuntu 上安装 Nginx
在 Ubuntu 上安装和配置 Nginx 非常简单。首先更新系统包,然后通过 `apt` 安装 Nginx,检查服务状态并配置防火墙规则。访问服务器 IP 测试是否成功显示默认页面。还可管理服务、创建虚拟主机及排查常见问题,适合新手快速上手部署高性能 Web 服务。
554 0
|
7月前
|
应用服务中间件 PHP nginx
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
简介: 本教程介绍如何基于 Dragonwell 的 Ubuntu 镜像创建一个运行 Nginx 的 Docker 容器。首先从阿里云容器镜像服务拉取基础镜像,然后编写 Dockerfile 确保 Nginx 作为主进程运行,并暴露 80 端口。最后,在包含 Dockerfile 的目录下构建自定义镜像并启动容器,确保 Nginx 在前台运行,避免容器启动后立即退出。通过 `docker build` 和 `docker run` 命令完成整个流程。
279 25
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
|
4月前
|
应用服务中间件 Linux 网络安全
技术指南:如何把docsify项目部署到基于CentOS系统的Nginx中。
总结 与其他部署方法相比,将docsify项目部署到基于CentOS系统的Nginx中比较简单。以上步骤应当帮助你在不花费太多时间的情况下,将你的项目顺利部署到Nginx中。迈出第一步,开始部署你的docsify项目吧!
183 14
|
12月前
|
弹性计算 运维 监控
快速部署 Nginx 社区版
Nginx是一个高性能的HTTP和反向代理服务器。Nginx在计算巢上提供了社区版服务,您无需自行配置云主机,即可在计算巢上快速部署Nginx服务、实现运维监控,从而方便地基于Nginx搭建您自己的应用。本文介绍使用如何通过计算巢快速部署Nginx社区版。
快速部署 Nginx 社区版
|
9月前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
2938 8
|
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
|
11月前
|
中间件 应用服务中间件 nginx
Nginx+uWSGI+Django原理
Nginx+uWSGI+Django原理
|
11月前
|
前端开发 JavaScript 应用服务中间件
使用nginx部署网站
使用nginx部署网站
|
11月前
|
Ubuntu Unix 应用服务中间件
Ubuntu16.04.1 安装Nginx
Ubuntu16.04.1 安装Nginx
|
11月前
|
JavaScript 应用服务中间件 nginx
nginx部署vue项目
本文介绍了将Vue项目部署到Nginx的步骤,包括构建Vue项目、上传dist文件夹到服务器、安装Nginx、配置Nginx代理静态文件以及重启Nginx,确保了Vue应用可以通过域名或IP地址访问。
597 1