Django——配置服务器上线
使用UWSGI和NGINX配置项目上线
首先你得有一个拿得出手的项目
其次,购买了域名,也备案成功了
将settings.py中的DEBUG设置为False
配置Uwsgi
在项目(哪里都可以)中创建一个test.py文件
这里推荐创建一个文件夹方便管理(deploy)
# test.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"] # python3
运行uwsgi
uwsgi --http :8000 --wsgi-file test.py
# 测试
curl 127.0.0.1:8000
或者直接在浏览器上访问服务器IP(IP:8000)
如果出现了Hello World,则说明uwsgi没有问题。
现在来设置uwsgi运行项目的配置
[uwsgi]
# 使用nginx连接时使用,Django程序所在服务器地址
# 选择内网IP和端口(ip a查看)
socket=172.19.87.124:8000 # 项目根目录(pwd)
chdir=/home/wjh/project/MyBlog #项目中wsgi.py文件的相对目录(pwd)
wsgi-file=MyBlog/wsgi.py # 进程数
processes=1 # 线程数
threads=1 # uwsgi服务器的角色
master=True # 存放进程编号的文件
pidfile=uwsgi.pid # 日志文件,因为uwsgi可以脱离终端在后台运行,日志看不见。以前的runserver是依赖终端的(pwd)
# 再deploy下新建文件夹logs,在logs中新建空文件uwsgi.log
daemonize=/home/wjh/project/MyBlog/deploy/logs/uwsgi.log # 指定虚拟环境所在目录,不能填相对目录(ls -a)
virtualenv=/home/wjh/.virtualenvs/Myblogs
启动uwsgi
# 启动uwsgi
uwsgi --ini uwsgi_conf.ini & # 停止uwsgi
uwsgi --stop uwsgi.pid
配置Nginx
需要安装docker,没有可以看我前面的教程
服务器切换到/etc/nginx/conf.d目录,新建一个nginx的配置文件,名字随意,.conf后缀(nginx_MyBlogs.conf)
upstream myblogs {
# 此处为uwsgi运行的ip地址和端口号(内网IP)
server 172.19.87.124:8000;
}
server {
# 监听端口
listen 80;
# 服务器域名或者ip地址(外网IP 域名)
server_name 101.132.181.155 .pywjh.xin;
# 编码
charset utf-8;
# 文件最大上传大小
client_max_body_size 75M;
# 媒体文件(指定docker的media)
location /media {
alias /media;
}
# 静态文件(指定docker的static)
location /static {
alias /static;
}
# 主目录
location / {
uwsgi_pass myblogs; #(名字与前面对应)
include /etc/nginx/uwsgi_params;
}
}
修改nginx.conf文件(@之前的名字)
# 修改sudo vim /etc/nginx/nginx.conf
# 第一行开头修改用户,将www-data改为你当前的用户 user username;
然后运行docker容器
# 冒号之前的是服务器的路径,之后的是docker容器中的路径
docker run --name nginx-server -p 80:80 -v /home/wjh/project/MyBlog/media:/media -v /home/wjh/project/MyBlog/static:/static -v /home/wjh/project/MyBlog/deploy/nginx_conf:/etc/nginx/conf.d -d nginx
网站就可以访问了
Django——配置服务器上线的更多相关文章
- 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置
第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本 uwsgi- ...
- 第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明
第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明 设置后台列表页面可以直接修改字段内容 在当前APP里的adminx.py文件里的 ...
- 第三百九十三节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置
第三百九十三节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置 设置后台某个字段的排序规则 在当前APP里的adminx.py文件里的数据表管理器里设置 order ...
- 第三百九十一节,Django+Xadmin打造上线标准的在线教育平台—404,403,500页面配置
第三百九十一节,Django+Xadmin打造上线标准的在线教育平台—404,403,500页面配置 路由映射在全局也就是根目录里的urls.py里配置404路由映射 注意:不是写在urlpatter ...
- 第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示
第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示 首先了解一下static静态文件与上传资源的区别,static静态文件里面一般防止的我们网站样式的文件, ...
- 第三百八十四节,Django+Xadmin打造上线标准的在线教育平台—路由映射与静态文件配置以及会员注册
第三百八十四节,Django+Xadmin打造上线标准的在线教育平台—路由映射与静态文件配置以及会员注册 基于类的路由映射 from django.conf.urls import url, incl ...
- 第三百八十一节,Django+Xadmin打造上线标准的在线教育平台—xadmin全局配置
第三百八十一节,Django+Xadmin打造上线标准的在线教育平台—xadmin全局配置 1.xadmin主题设置 要使用xadmin主题,需要在一个app下的adminx.py后台注册文件里,写一 ...
- 《玩转Django2.0》读书笔记-Django配置信息
<玩转Django2.0>读书笔记-Django配置信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 项目配置是根据实际开发需求从而对整个Web框架编写相应配置信息. ...
- 第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置
第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置 1.Linux安装配置 注意事项: 虚拟机网卡桥接模式 不要拨VPN 如果,网络怎么都 ...
随机推荐
- Django中的cookie和session实现
cookie from django.shortcuts import render, HttpResponse, redirect # 此装饰器的作用就是讲所有没有cookie验证的页面都需要验证后 ...
- _bzoj3224 Tyvj 1728 普通平衡树【Splay】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3224 保存splay模版 一刻不停写了一个小时多一点,幸好一遍过了!(其实带着freopen ...
- bzoj258 [USACO 2012 Jan Gold] Bovine Alliance【巧妙】
传送门1:http://www.usaco.org/index.php?page=viewproblem2&cpid=111 传送门2:http://www.lydsy.com/JudgeOn ...
- 最简单的struts实例介绍
struts2环境配置 struts2框架,大多数框架都在使用.由于工作需要,开始做Java项目.先学个struts2. 一.下载struts2 有好多版本,我下载的是struts-2.2.1.1 ...
- 216 Combination Sum III 组合总和 III
找出所有可能的 k 个数,使其相加之和为 n,只允许使用数字1-9,并且每一种组合中的数字是唯一的.示例 1:输入: k = 3, n = 7输出:[[1,2,4]]示例 2:输入: k = 3, n ...
- [转]linux之date命令MYSQL用户管理
转自:http://www.cnblogs.com/hencehong/archive/2013/03/19/mysql_user.html 一. 用户登录 格式: mysql -h主机 ...
- AJPFX关于代码块的总结
代码块: { 执行语句; }(1) 当出现在局部位置时, 为局部代码块. 局部位置: 如语句块中, 函数中, 构造代码块中, 静 ...
- ssm基础配置
1.导包 <dependencies> <dependency> <groupId>org.springframework</groupId> < ...
- VUE学习,is 特性,转载来源:https://segmentfault.com/q/1010000007205176/
- QPushButton注册事件过滤器后按钮消失
版权声明:本文为博主原创文章,转载需要注明出处. RT,代码如下: ui.btn_set->installEventFilter(this); bool MousrHoverTest::even ...