Linux 搭建Nginx+uWSGI+Django环境
安装环境
sudo apt-get install nginx
sudo apt install python3
sudo apt install python3-pip
使用 sudo pip3 install 安装 下面环境
pip3 install
uwsgi
Django
django-cors-headers # 跨域
mysqlclient # 连接MySQL
wechatpy[cryptography] #微信公众平台SDK
xlrd # 表格插件
然后在项目文件夹根目录执行下面命令,然后就可以在项目根目录下面找到后端的样式资源(static文件夹下)了
python3 manage.py collectstatic
环境配置
cd /etc/nginx/sites-enabled/
创建一个配置文件,如:demo,里面的内容如下,当前示例配置文件是前后端分离(Vue和Django):
server {
listen 80;
listen [::]:80; server_name demo.zhuchenglin.cn; # 后端Django的样式
location /static/admin/ {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /var/www/html/demo/back/static/admin/;
}
# 前端样式
location /static/ {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /var/www/html/demo/front/dist/static/; }
# 前端找到Vue的index.html
location /front/ {
alias /var/www/html/demo/front/dist/;
index index.html index.htm;
}
# 后端处理请求
location /{
include uwsgi_params;
uwsgi_pass 127.0.0.1:9000;
uwsgi_send_timeout 600;
uwsgi_connect_timeout 600;
uwsgi_read_timeout 1000; }
}
服务启动和关闭
启动uWSGI,--processes 后面的数字可以更改,代表开启进程的个数。
uwsgi --socket 127.0.0.1:9000 --chdir /var/www/html/demo/back --module back.wsgi:application --processes 1 --enable-threads
其他关于uwsgi的参数请见uwsgi官方文档
启动Nginx
sudo /usr/sbin/nginx
关闭uWSGI和Nginx
关闭uWSGI和Nginx都可以使用
ps -ef | grep uwsgi
ps -ef | grep nginx
然后使用 kill -3 进程id
nginx 命令
sudo /usr/sbin/nginx -t #检测配置文件是否有问题
sudo /usr/sbin/nginx -s stop # 快速关闭
sudo /usr/sbin/nginx -s quit # 从容关闭
sudo /usr/sbin/nginx -s reload
sudo /usr/sbin/nginx -s restart
这样就可以通过域名来访问Django项目了。
注:本文操作在ubuntu系统上进行的,在其他Linux系统上安装软件的命令可能不一样(比如Centos用yum)
如需转载请注明出处:https://www.cnblogs.com/zhuchenglin/p/10748904.html
Linux 搭建Nginx+uWSGI+Django环境的更多相关文章
- 安装Nginx+uWSGI+Django环境
Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境 今天要介绍的是利用APT源直接apt-get install安装配置我们所需要的环境,首先按惯例先安装MySQL和 ...
- Nginx+uWSGI+Django环境配置
通常项目会部署在虚拟环境,虚拟环境的使用可以参考这里,点击前往 当然你也可以直接部署,这里不多说. 一.安装uWSGI 1.通过pip安装 pip install uwsgi 这里只说明了一种安装方式 ...
- 使用nginx+uwsgi+Django环境部署
环境准备 Python点这里 nginx点这里 uwsgi点这里
- Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器
一.安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool ...
- nginx+uwsgi+django开发环境搭建
Nginx+uWSGI+Djangoi开发环境搭建 Django简介,环境搭建 uWSGI简介,安装与配置 Nginx安装与配置 Nginx+uWSGI+Django原理解析 1.django简介,环 ...
- Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器
目录 Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器 crm django项目部署流程 使用supervisro启动uwsgi,退出虚 ...
- debian完整部署 Nginx + uWSGI + Django
手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供 ...
- nginx+uWSGI+django+virtualenv+supervisor发布web服务器
nginx+uWSGI+django+virtualenv+supervisor发布web服务器 导论 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以 ...
- Nginx+uWSGI+Django部署web服务器
目录 Nginx+uWSGI+Django部署web服务器 环境说明 前言 搭建项目 Django部署 编辑luffy/luffy/settings.py 编辑luffy/app01/views.py ...
随机推荐
- 函数节流和函数防抖JavaScript实现
函数节流 function throttle(fn, delay = 1000) { let Running = false; return function () { if (Running) { ...
- 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...
- day07 数据类型间的相互转化及字符编码
今日内容: 字符间的相互转化 字符编码 今日重点: 字符间的相互转化 """ 字符间的相互转化: """ """ ...
- JAVA学习笔记(4)—— 排序算法
排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法. 排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn) ...
- dml并行
Enabling Parallel DMLA DML statement can be parallelized only if you have explicitly enabled paralle ...
- maven父子模块deploy 问题
1.问题描述:直接 deploy 子某块,但第三者确不能引用 jar(jar down不下来,但pom不报错) 原因:父子模块项目必须保证父模块pom deploy后,再 deploy 子模块才能被引 ...
- docker bulid命令
使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1. docker build -t runoob/ubuntu:v1 . 使用URL github.com/cr ...
- 马拉车算法——边界拓展时加限制hdu4513
#include<bits/stdc++.h> using namespace std; #define maxn 500005 int n,p[maxn],s[maxn],s_new[m ...
- SpringBoot 添加mybatis generator 自动生成代码插件
自动生成数据层代码,提高开发效率 1.pom添加插件,并指定配置文件路径 <!-- mybatis generator 自动生成代码插件 --> <plugin> <gr ...
- C# 防止程序多开的两种方法
互斥对象防止程序多开 private void Form1_Load(object sender, EventArgs e) { bool Exist;//定义一个bool变量,用来表示是否已经运行 ...