Centos7 部署Django项目 uwsgi + nginx
启动
首先确保你的django项目是可以在虚拟环境中跑起来的,环境管理窝用的是pyenv,pyenv不知道什么东西的可以参考窝之前写过的Pyenv环境管理的安装文。
项目启动
python manager runserver
但是这里有个问题,如果你是虚拟机的话,你就无法通过127的地址来访问你的项目
所以需要配合nginx来使用
nginx配置
centos 的配置nginx和ubuntu的有点不一样,下载的教程网上很多,我就不列了,默认已经安装好nginx ,然后通过find命令找到nginx的默认配置路径
find / -name "nginx.conf"
nginx路径如下
得到nginx的路径,然后开启nginx服务
启动./usr/local/nginx/sbin/nginx
更新 ./sbin/nginx -t
重载 ./sbin/nginx -s reload
查看nginx日志可以到logs下去看配置日志
err.log为重载日志,access为日常访问日志
这时候,窝们就可以去做反向代理了,不过一般不在主配置文件nginx.conf下增加配置,需要另外起一个nginx的单独配置服务,修改
nginx.conf 在http下增加include 这的是为了配置服务可以被nginx读取到,且如果项目过多的话,好配置一点,配置如下
cd conf
mkdir vhost # 放置项目配置文件
#添加一条
include /usr/local/nginx/conf/vhost/*.conf;
这样,就可以在vhost添加自己项目的conf了
看看我们nginx启动成功没有, 输入 http:ip 地址
没问题。然后在vhost写单独的配置文件
有两种写法,一种是可以直接访问的,不经过uwsgi启动的,可以直接测试,test_centos.conf 配置 如下
server {
listen 8100;
server_name 192.168.254.128;
access_log /var/log/nginx/uwsgi-access.log; # 指定nginx日志存放路径
error_log /var/log/nginx/uwsgi-error.log; # 同上
location / {
root /home/dior/yyxx_platform_center;
proxy_pass http://127.0.0.1:8000/; # 通过ip地址来直接访问,监听的是8100端口,反向代理到8000端口
access_log off;
}
}
修改了 nginx 之后需要重载 -t 代表先测试
nginx 日志如下
这时候 访问 http://192.168.254.128:8100/ 这样就可以通过Nginx访问到你服务器本地的服务
当然我们不能让程序这样一直开着,所以我们需要用到uwsgi,来通过后台启动 写nginx的配置
server {
listen 8100;
server_name 192.168.254.128;
access_log /var/log/nginx/uwsgi-access.log;
error_log /var/log/nginx/uwsgi-error.log;
location / {
root /home/dior/yyxx_platform_center;
uwsgi_pass 127.0.0.1:8000;
include uwsgi_params;
access_log off;
}
}
注意nginx需要修改的地方,然后重载,然后就可以将启动方式改为uwsgi了
uwsgi
uwsgi用xml配置文件直接配置,配置如下
<uwsgi>
<socket>127.0.0.0:8000</socket>
<listen>128</listen>
<master>true</master>
<processes>4</processes>
<pythonpath>./</pythonpath> #此处为django项目的目录
<module>django_wsgi</module>
<profiler>true</profiler>
<memory-report>true</memory-report>
<enable-threads>true</enable-threads>
<logdate>true</logdate>
<limit-as>2010</limit-as>
<py-autoreload>0</py-autoreload>
<touch-reload>up_version</touch-reload> # 修改该文件就可以重启服务
<daemonize>uwsgi.log</daemonize> # uwsgi日志文件输出(注意需要有权限)
</uwsgi>
然后启动命令为
uwsgi -x *.xml
# 修改了之后 需要重启服务的命令为
touch up_version
uwsgi错误日志和输出日志除了自己定义下的日志下,大部分都存在 配置文件 daemonize 的uwsgi.log日志中,这样就可以看日志调试了
Centos7 部署Django项目 uwsgi + nginx的更多相关文章
- ubuntu 部署Django项目+uwsgi+Nginx
1.部署框架 Nginx负责静态资源请求,并且把无法处理的请求转发至uwsgi处理 2.安装并配置Nginx 2.1安装 apt-get install nginx (如果安装失败请先升级apt-ge ...
- docker 部署django项目(nginx + uwsgi +mysql)
最近在学习用docker部署Django项目,经过百折不挠的鼓捣,终于将项目部署成功,爬过好多坑,也发现很多技能需要提高.特此写下随笔与小伙伴们分享,希望能对大家有所启发. docker的理论我就不赘 ...
- CentOS7部署Django项目
1. 云服务器 这里使用的是腾讯云选择系统:CentOS7.3 记住云服务器登录密码 2. 配置Python3环境 默认Python环境为python2.7,yum安装是需要python2的环境的 安 ...
- CentOS7 部署 Django 项目
1. 更新系统软件包 yum update -y 2. 安装软件管理包和可能使用的依赖 yum -y groupinstall "Development tools" yum in ...
- 阿里云 Centos7 部署 Django 项目
前期准备 阿里云服务器 mysql数据库 已经本地运行成功的项目 阿里云服务器的环境配置 Git #代码管理 Gitlab #代码托管,要求服务器内存不低于2G,我选择放弃 Mysql #连接数据库 ...
- Nginx 和 Gunicorn 部署 Django项目
目录 Nginx 和 Gunicorn 部署 Django项目 配置Nginx 安装配置Gunicorn 通过命令行直接启动 Gunicorn 与 uwsgi 的区别,用哪个好呢 Gunicorn u ...
- CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇
CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...
- nginx + uwsgi 部署django项目
因项目需求,需要部署django项目,这里是基础的nginx配合uwsgi部署django,后续会采用docker部署的方式 环境: centos7 python3.5.4 django2.1.4 u ...
- linux上使用nginx、uwsgi部署django项目
参考:CentOS7下部署Django项目详细操作步骤 注意事项: 在虚拟环境中操作,虚拟环境中安装nginx.uwsgi,虚拟环境外需安装uwsgi -- 临时关闭防火墙:systemctl sto ...
- 使用uWSGI+nginx部署Django项目
最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...
随机推荐
- 手写 Java HashMap 核心源码
手写 Java HashMap 核心源码 手写 Java HashMap 核心源码 上一章手写 LinkedList 核心源码,本章我们来手写 Java HashMap 的核心源码. 我们来先了解一下 ...
- modbus通讯协议详解
1.Modbus 协议简介 Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议.通过此协议,控制器相互之间.或控制器经由网络(如以太网)可以和其它设备之间进行通信.Modbus协议使用 ...
- vulnhub靶场之HARRYPOTTER: ARAGOG (1.0.2)
准备: 攻击机:虚拟机kali.本机win10. 靶机:HarryPotter: Aragog (1.0.2),下载地址:https://download.vulnhub.com/harrypotte ...
- 论文解读(ToAlign)《ToAlign: Task-oriented Alignment for Unsupervised Domain Adaptation》
论文信息 论文标题:ToAlign: Task-oriented Alignment for Unsupervised Domain Adaptation论文作者:Guoqiang Wei, Cuil ...
- 关于 manacher 的一个小细节
在该算法中,我们需要用到一个数组 hw[i] ,代表 i 的最大回文半径.而且这个半径不包括 i 本身(若串为 ccc 则 hw 为 1). 这时最终答案为最大的 hw 减一. 为什么要减一呢?最终的 ...
- CSP2022-S游寄
游寄游寄,顾名思义,边游边寄 11.00AM 起床 复习了一下各种终端命令,然后又复习了一下对拍 虽然都没用到 然后接着睡. 有点小紧张,毕竟一年没搞OI 12.00AM 今天吃河虾 还行,只是有点扎 ...
- Markdown 的常用语法
声明(叠甲):鄙人水平有限,本文章仅供参考. 且本文章是一个不全的分享,只有我目前用的比较多的语法,如果有什么错误,欢迎大家指正.具体可以查看该网站 写博客我使用的是 Markdown,为熟悉 Mar ...
- Moebius兼容AlwaysOn
背景 数据库是信息化的基石,支撑着整个业务系统,发挥着非常重要的作用,被喻为"IT的心脏".因此,让数据库安全.稳定.高效地运行已经成为IT管理者必须要面对的问题.数据库在底层架构 ...
- 《C++ STL编程轻松入门基础》溯源
由一PDF文档(<认识 C++STL>--Vtech Electronic Ltd (SZ) VTE/TV2 terrcy tang)而来,以为不完整,寻求更完全版. 后搜索"第 ...
- QML 界面切换的几种方法(带示例代码)
QML 界面切换的几种方法(带示例代码)