上一篇完成了python的安装,接下来安装python的依赖包和项目的依赖包

1、  python-devel

命令:yum -y install python-devel

安装Django1.8.2 pillow django-ckeditor5.4.0

pip3 install django==1.8.2

pip3 install pillow

pip3 install django-ckeditor==5.4.0

python uwsgi

上面我们已经完成了python+Django环境的部署,接下来我们需要了解python 的uwsgi框架。接下来我们需要了解python 的uwsgi模块。

Python manager.py runserver, 这是一款适合开发阶段使用的服务器,只支持最高200的并发,显然不适合在生产中使用。我们在生产环境当中,通常会用到apache或者nginx服务器作为Django的生产服务器。今天我们以nginx为例子。但是在学习部署之前,我们首先要掌握在Django和nginx之间的一个程序,就是wsgi,web服务器网关接口,英文叫, Web Server Gateway Interface 缩写叫WSGI,是Python应用程序或框架和web服务器之间的一种接口。

我们今天部署用的是uwsgi模块,首先安装

pip3 install uwsgi

然后配置环境变量

命令:ln /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

Django和WSGI的结合

我们把我们准备好的Django项目存放到/opt/下

[root@localhost bin]# cp -r /root/Desktop/OurBlog/ /opt/

[root@localhost bin]#

然后尝试使用uwsgi启动Django项目

在这里我们要关注到之前大家一直忽视的一个文件了

这个就是我们项目的uwsgi文件

uwsgi --http 192.168.1.69:8000 --file OurBlog/wsgi.py --static-map=/static=static

当然,这里我们要配置seLinux,防火墙和Django的settings

关闭selinux

命令: setenforce 0

关闭防火墙

命令:systemctl stop firewalld.service

Settings配置

ED_HOSTS = ["*"] 允许所有访问

然后发起访问

django+nginx+uwsgi

上面我们用命令启动了uwsgi,但是体验不太好,所以我们在这里使用ini文件启动uwsgi服务器

在项目同等级目录下创建script目录

然后在当中编写uwsgi.ini文件,内容如下

[uwsgi]

chdir=/opt/OurBlog   #项目目录

module=OurBlog.wsgi:application  #指定项目的application

socket=/opt/script/uwsgi.sock  #指定sock的文件路径

workers=5  #进程个数

pidfile=/opt/script/uwsgi.pid

http=192.168.2.69:8000  #指定IP端口

static-map=/static=/opt/OurBlog/static  #指定静态文件

uid=root  #用户

gid=root  #组

master=true  #启用主进程

vacuum=true  #自动移除unix Socket和pid文件当服务停止的时候

enable-threads=true #启用线程

thunder-lock=true #序列化接受的内容,如果可能的话

harakiri=30 #设置自中断时间

post-buffering=4096 #设置缓冲

daemonize=/opt/script/uwsgi.log #设置日志目录

然后启动uwsgi服务

Uwsgi --ini uwsgi.ini(脚本名称)

然后可以正常访问

安装nginx服务器

我们直接安装nginx是没有的,所以,需要我们wget

命令:wget -c https://nginx.org/download/nginx-1.12.2.tar.gz

解压

命令:tar -zxvf nginx-1.12.2.tar.gz && cd nginx-1.12.2

自定义配置

命令:./configure \

编译安装

命令:make && make install

然后配置环境变量

命令:ln sbin/nginx /usr/bin/nginx

启动nginx查看效果

进行nginx配置,(配置nginx.conf,配置之前进行备份)

备份

然后开始配置

配置节选1

http {

include       mime.types;

default_type  application/octet-stream;

#这里规定了日志的格式,默认是注释的,我们需要解开注释

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

#access_log  logs/access.log  main;

sendfile        on;

#tcp_nopush     on;

#keepalive_timeout  0;

keepalive_timeout  65;

#gzip  on;

server {

配置节选2

server {

listen       80;  #监听端口

server_name  OurBlog; #服务名称

charset utf-8; #服务器编码

access_log  /var/log/nginx/access.log  main; #访问日志路径,注意:这个目录可能没有,需要创建

gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; #压缩格式

error_log /var/log/nginx/error.log error; #错误日志注意:这个目录可能没有,需要创建

location / {

include uwsgi_params; #nginx加载uwsgi模块

uwsgi_connect_timeout 30; #连键超时时间

uwsgi_pass unix:/opt/script/uwsgi.sock; #nginx对应的uwsgi socket文件

}

location = /static/ {

alias /opt/OurBlog/static;  #静态文件路径

index index.html index.htm;  #首页

}

}

效果如下:

白手起家Django项目发布下篇_Django项目nginx部署的更多相关文章

  1. 白手起家Django项目发布上篇_linux centos 环境部署

    在项目发布之前,首先准备好我们编写好的Django项目,这个我们在之后博客有写,大家可以去看, 首先,先开始安装linux服务器,作为Django项目的发布服务器.以Vmware虚拟机为例子,大家也可 ...

  2. 编写Django项目并使用uwsgi和nginx部署在Linux平台

    内容转载自:我自己的博客地址 这是花费了一个月的时间摸索整理出来的一份总结.分享出来一方面是给新人一个借鉴,另一方面对自己也算是个备份. --- *** 整个Django项目: ├── example ...

  3. tomcat项目发布 更改小猫图标 及自定义错误404界面

    tomcat发布项目的时候遇到些小问题 不过解决了 问题1. 整个服务器的404自定义界面问题 解决方法: 在tomcat安装目录下conf中web.xml中修改配置文件 <error-page ...

  4. Ubuntu 下使用 Nginx 部署 .NET Core 2.0 网站

    前言 本文介绍如何在 Ubuntu 16.04 服务器上安装 .NET Core 2.0 SDK.创建项目与发布,并使用 Nginx 部署 .NET Core 2.0 Web 项目. 安装 .NET ...

  5. 使用uWSGI+nginx部署Django项目

    最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...

  6. django,uwsgi, nginx部署项目

    在liunx中环境中 对于nginx来说: 1.先安装nginx sudo apt-get install nginx 2.启动nginx服务 sudo /etc/init.d/nginx resta ...

  7. node项目发布+域名及其二级域名配置+nginx反向代理+pm2

    学习node的时候也写了一些demo.但是只是限于本地测试,从来没有发布.今天尝试发布项目. 需要准备的东西 node 项目:为了突出重点,说明主要问题.我只是拿express 写了很简单的demo. ...

  8. Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)

    Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...

  9. Ubuntu+Django+uWSGI+Nginx部署Django项目

    安装uWSGI,pip依据自己要使用的python版本自行选择,python2.x版本使用pip进行安装,python3.x版本使用pip3进行安装 pip install uwsgi 配置uWSGI ...

随机推荐

  1. idea中scala项目补全变量、添加打印语句的小技巧

    1. 自动补全变量: new Person.var  ,然后按回车键:效果:代码变成: val person: Person = new Person 2.添加打印语句: person.name.pr ...

  2. vue.js ③

    1.组件使用的细节点 H5编码中的规范是tr必须在tbody里所以不能直接套用<row></row>的写法,<ul>标签下支持<li>,select标签 ...

  3. mvn无法下载fastdfs-client-java依赖解决办法

    1.下载fastdfs-client-java源码 https://github.com/happyfish100/fastdfs-client-java 2.修改pom.xml文件 添加打包插件 & ...

  4. Python开发:Python运算符

    运算符 1.算数运算: 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘或是返 ...

  5. oracle 高级函数2

    原 oracle 高级函数 2017年08月17日 16:44:19 阅读数:1731 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013278 ...

  6. ubuntu 更改pip默认源

    mkdir ~/.pip vim ~/.pip/pip.conf [global] timeout = 6000 https://pypi.tuna.tsinghua.edu.cn/simple 保存 ...

  7. vue element多图上传

    最近项目需要优化图片上传,由单个改成多个,这里记录下自己遇到的一些问题和解决方法 本以为是传全部图片到后台,然后统一处理,但后面在Network中发现upload组件其实还是单一上传,那只能依照它的方 ...

  8. Django--redis 保存session

    pipenv install django-redis settings.py: # 作为 cache backend 使用配置 使用redis保存session CACHES = { "d ...

  9. 02-10Android学习进度报告十

    今天我学习了有关ListView的基础知识,主要是学习了其中界面展示的基本方法. 首先看一个简单的列表实现代码: public class Animal { private String aName; ...

  10. Windows对应的"Hello,world"程序

    <Windows程序设计>(第五版)(美Charles Petzold著) https://docs.microsoft.com/zh-cn/windows/desktop/apiinde ...