添加uwagi配置文件

在你项目的根目录中创建mysite.xml(名字无所谓),或者创建mysite.ini,输入以下内容:

<uwsgi>
<socket>127.0.0.1:8000</socket> <!-- 内部端口,自定义 -->
<chdir>/data/project1</chdir> <!-- 项目路径 -->
<module>project1.wsgi</module> <!-- mysite为wsgi.py所在目录名-->
<!-- 因为是module(模块),所以用 . 表示下一级-->
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>
[uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /opt/mysite
# Django's wsgi file
module = mysite.wsgi
# the virtualenv (full path)
home = /opt/venv
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 1
# the socket (use the full path to be safe
socket = 0.0.0.0:8000
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true

保存退出

安装nginx并配置nginx.conf文件

cd /home/downloads/
wget http://nginx.org/download/nginx-1.13..tar.gz
下载完解压
tar -zxvf nginx-1.13..tar.gz
解压完进入文件夹,执行编译安装
./configure
make
make install
nginx一般安装在/usr/local/nginx

为了防止意外,在***/conf/中备份一下nginx.conf文件 

cd /usr/local/nginx/conf/
cp nginx.conf nginx.conf.bak

打开这个配置文件,删除 所有内容,加入以下内容(括号太多,注释太多,简便操作,后期需要什么,就按照配置文件中的格式再往里面加)

events {
worker_connections ;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen ;
server_name www.i-sekai.site; #改为自己的域名,没域名修改为127.0.0.1:80
charset utf-;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT mysite.wsgi; #wsgi.py所在的目录名+.wsgi(解释过了)
uwsgi_param UWSGI_CHDIR /data/project1; #项目路径 }
location /static/ {
alias /data/project1/static/; #静态资源路径
}
#媒体文件也要放在这里吧?
}
}

在配置中(.conf)可能会出现错误,

/usr/local/nginx/sbin/nginx -t 测试配置文件是否正确
vim /usr/local/nginx/conf/nginx.conf 改写配置文件

最后,没有错误

cd /usr/local/nginx/sbin/
./nginx
此时,nginx已经启动了。
cd /data/project1/
uwsgi -x mysite.xml
配置生效
/usr/local/nginx/sbin/nginx -s reload

重启nginx,网站打开你的域名

ps:

一定要注意Uwsgi和Nginx配置文件里的项目路径和静态资源路径,填写正确了才能成功访问。不然会出现502错误。还有就是,修改Django文件和其它配置文件之后,一定要重启Uwsgi和Nginx,不然不生效。

停止uwsgi

ps -ef | grep uwsgi
killall - uwsgi

启动uwsgi

uwsgi -x mysite.xml

重启nginx

/usr/lcoal/nginx/sbin/nginx -s reload

把nginx添加到环境变量中

cd /etc
vim profile
将PATH=$PATH:/usr/local/nginx/sbin添加到最后,wq。
source profile
nginx 可以直接使用,无需加前面的/usr/local/nginx/sbin

部署django的更多相关文章

  1. mac osx 上面部署Django项目 apache+mysql+mod_wsgi

    1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...

  2. Ubuntu上通过nginx部署Django笔记

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式.今天在Ubuntu上使用Nginx部署Django服务,虽然不是第一次搞这个了,但是发现还是跳进了好多坑,g ...

  3. Apache2.4部署django出现403 Forbidden错误解决办法

    前言:Apache2.4部署django出现403 Forbidden错误最好要结合apache中的错误日志来观察出现何种错误导致出现403错误 下午百度了一下午没找到解决办法,试了n种方法,简直坑爹 ...

  4. 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...

  5. Ubuntu16.04 apache2 wsgi 部署django

    在Ubuntu16.04上部署django其实还算简单直观,最重要的问题就是路径设置正确,并且保证版本统一,这个测试是在 Apache/2.4.18 (Ubuntu)  apt-get install ...

  6. 通过Nginx部署Django(基于ubuntu)

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...

  7. apache部署django记录

    在ubuntu下通过apache部署django 首先需要下载python,django,apache以及wsgi模块 python基本已经自带,我用的是2.7,不是的话可以重新装一个 下载djang ...

  8. Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈

    版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98 来源:腾云阁 https://www.qclou ...

  9. Windows下Apache部署Django过程记录

    Win7/Apache/Python2.7/Django1.9部署Web   环境: Windows7 Apache httpd-2.4.16-win64-VC14 Python2.7.11 Djan ...

  10. fabric自动化部署django

    使用fabric部署django应用 使用fabric部署django应用 本文是我的网站易读中文网自动化部署的脚本实现,以下代码在ubuntu和debian中测试通过 由于网站使用的是python技 ...

随机推荐

  1. SpringBoot系列:Spring Boot集成Spring Cache,使用RedisCache

    前面的章节,讲解了Spring Boot集成Spring Cache,Spring Cache已经完成了多种Cache的实现,包括EhCache.RedisCache.ConcurrentMapCac ...

  2. The usage of Markdown---列表

    目录 1. 序言 2. 有序列表 3. 多级有序列表 3. 无序列表 4. 多级无序列表 5. 列表中的转义字符 6. 无效化 7. 任务列表 更新时间:2019.09.14 1. 序言   其实我昨 ...

  3. vue 动态数据绑定

    动态数据绑定(一) 我的github iSAM2016 实现的步骤: 1.监听对象属性的读取与变化 Object.defineProperty() 方法会直接在对象上定义一个新的的属性,或者已经存在的 ...

  4. C++ 11标准

    C++11,也称为C++0x.为目前C++编程语言的最新正式标准(ISO/IEC 14882:2011).它将取代第二版标准ISO/IEC 14882:2003(第一版ISO/IEC 14882:19 ...

  5. OptimalSolution(9)--其他问题(1)

    一.从5随机到7及其扩展 题目1:给定一个等概率随机产生1~5的随机函数rand1to5: public int rand1To5() { return (int)(Math.random() * 5 ...

  6. Linux sh脚本用spool导出oracle数据库指定表表数据

    脚本如下,已验证可用,可配合crontab使用. 1 #!/bin/bash cd /opt/oracle/datafor_kf #redirect environment variables sou ...

  7. ThinkCMF X1.6.0-X2.2.3框架任意内容包含漏洞分析复现

    ThinkCMF X1.6.0-X2.2.3框架任意内容包含漏洞分析复现 一.ThinkCMF简介 ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理系统框架,底层采用ThinkPHP3. ...

  8. open_basedir限制目录

    1.open_basedir介绍 前言:前些日我用lnmp一键安装包出现了open_basedir的问题,因为我把项目目录变了,所以要在的fastcgi.conf下面加上open_basedir的目录 ...

  9. xtrabackup备份原理及流式备份应用

    目录 xtrabackup备份原理及流式备份应用 0. 参考文献 1. xtrabackup 安装 2. xtrabackup 备份和恢复原理 2.1 备份阶段(backup) 2.2 准备阶段(pr ...

  10. Educational Codeforces Round 71 (Rated for Div. 2)E. XOR Guessing

    一道容斥题 如果直接做就是找到所有出现过递减的不同排列,当时硬钢到自闭,然后在凯妹毁人不倦的教导下想到可以容斥做,就是:所有的排列设为a,只考虑第一个非递减设为b,第二个非递减设为c+两个都非递减的情 ...