部署django
添加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的更多相关文章
- mac osx 上面部署Django项目 apache+mysql+mod_wsgi
1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...
- Ubuntu上通过nginx部署Django笔记
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式.今天在Ubuntu上使用Nginx部署Django服务,虽然不是第一次搞这个了,但是发现还是跳进了好多坑,g ...
- Apache2.4部署django出现403 Forbidden错误解决办法
前言:Apache2.4部署django出现403 Forbidden错误最好要结合apache中的错误日志来观察出现何种错误导致出现403错误 下午百度了一下午没找到解决办法,试了n种方法,简直坑爹 ...
- 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
- Ubuntu16.04 apache2 wsgi 部署django
在Ubuntu16.04上部署django其实还算简单直观,最重要的问题就是路径设置正确,并且保证版本统一,这个测试是在 Apache/2.4.18 (Ubuntu) apt-get install ...
- 通过Nginx部署Django(基于ubuntu)
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
- apache部署django记录
在ubuntu下通过apache部署django 首先需要下载python,django,apache以及wsgi模块 python基本已经自带,我用的是2.7,不是的话可以重新装一个 下载djang ...
- Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈
版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98 来源:腾云阁 https://www.qclou ...
- Windows下Apache部署Django过程记录
Win7/Apache/Python2.7/Django1.9部署Web 环境: Windows7 Apache httpd-2.4.16-win64-VC14 Python2.7.11 Djan ...
- fabric自动化部署django
使用fabric部署django应用 使用fabric部署django应用 本文是我的网站易读中文网自动化部署的脚本实现,以下代码在ubuntu和debian中测试通过 由于网站使用的是python技 ...
随机推荐
- PHP代码审计辅助脚本
#!/usr/bin/env python import sys import os def main(): print ''' -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ...
- 图论-最小生成树<Kruskal>
昨天: 图论-最小生成树<Dijkstra,Floyd> 以上是昨天的Blog,有需要者请先阅读完以上再阅读今天的Blog. 可能今天的有点乱,好好理理,认真看完相信你会懂得 然而,文中提 ...
- Azure EventHub快速入门和使用心得
Azure Event Hubs(事件中心)是一个大数据流式数据摄取服务平台,每秒接受数百万事件; EventHubs 是一个有数据保留期限的缓冲区,类似分布式日志:可缩放的关键在于[分区消费模型], ...
- java实现,使用opencv合成全景图,前端使用krpano展示
这周花三天做了一demo,算上之前的,怎么也有五天,上一篇是opencv介绍,以及定义native方法,通过本地图片路径传参,底层调用Opencv图像库合成,有兴趣的可以看看,这篇重点在于krpano ...
- 利用SpringBoot+Logback手写一个简单的链路追踪
目录 一.实现原理 二.代码实战 三.测试 最近线上排查问题时候,发现请求太多导致日志错综复杂,没办法把用户在一次或多次请求的日志关联在一起,所以就利用SpringBoot+Logback手写了一个简 ...
- 整理了适合新手的20个Python练手小程序
100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 本文附带基础视频教程:私信回复[基础]就可以获取的 [程序1] ...
- JVM学习记录1--JVM内存布局
先上个图 这是根据<Java虚拟机规范(第二版)>所画的jvm内存模型. 程序计数器:程序计数器是用来记录当前线程方法执行顺序的,对应的就是我们编程中一行行代码的执行顺序,如分支,跳转,循 ...
- 类和对象(day19整理)
目录 面对对象和面对过程编程 什么是面向对象 什么是面向过程编程 什么是面对对象编程 类 类的定义 定义类时发生的事情 __dict__和. 对象 名称空间 __init__函数 调用类发生的事情 对 ...
- Leetcode Tags(13)Tree
1.前序.中序.后序递归方式遍历二叉树 public void preOrderRecur(Node T) { if (T != null) { System.out.print(T.val + &q ...
- Redis(五)持久化
一.RDB RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发. 1.触发机制 (1)手动触发:save命令和bgsave命令 save命令:阻塞当前Re ...