腾讯云服务器centos7.2+nginx(开启gzip压缩)+uwsgi+Django+react
因为项目原因,学习了react,Django,完成react开发项目过后,打包(做好了代码分割、压缩)放入Django中,在本地运行速度很快,结果放到服务器中,虽然某些js文件很小(只有一百多kb),但是下载速度非常慢,需要3-6秒,这样导致页面加载速度很慢,通过查询,通过gzip压缩,可以使项目js文件进行进一步压缩,极大的加快项目运行速度。现将完整的流程分享如下:
一、确保项目在服务器中运行成功(暂不做任何处理):
比如我购买腾讯云服务,在服务器中启动Django项目,python manage.py runserver 0.0.0.0:80 (腾讯云服务公网ip会映射到此地址),在本机使用公网ip确保能访问
二、在centos中安装uwsgi
直接使用以下命令完成安装:
pip install uwsgi
1.配置uwsgi:在Django项目的根目录下,新建两个文件,uwsgi.ini( 配置文件)和run.log(日志文件)
2.在uwsgi.ini配置如下:
[uwsgi]
chdir = /home/myweb ----->项目根目录
module = myweb.wsgi:application ----->项目myweb/myweb/wsgi.py
socket = 127.0.0.1:8000 ----->nginx与uwsgi通信端口,与nginx配置文件中一直,下面会说
master = true ----->允许主线程存在(true)
processes=4 ----->开启的进程数量(这里是开启4个进程)
max-requests=5000 ----->最大请求数
daemonize = /home/myweb/run.log ----->上面创建的日志文件
disable-logging = true ----->表示不记录正常信息,只记录错误信息
wsgi-file = /home/myweb/myweb/wsgi.py ----->项目myweb/myweb/wsgi.py
pidfile=/home/myweb/uwsgi.pid ----->uWSGI运行后自动生成的,里面记录了uWSGI的进程号,可以用来重启uWSGI
vacuum=true ----->当服务器退出的时候自动清理环境,删除unix socket文件和pid文件
4.在项目根目录中运行以下命令进行static文件收集,这个提供ngnix静态文件
python manage.py collectstatic
3.uwsgi.ini操作
启动:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid
三、centos安装nginx
安装依赖
1.yum install gcc-c++
2.yum install pcre pcre-devel
3.yum install zlib zlib-devel
4.yum install openssl openssl--devel
下载nginx
wget http://nginx.org/download/nginx-1.12.0.tar.gz
解压缩
tar -zxvf nginx-1.12.0.tar.gz
进入目录
cd nginx-1.12.0
安装
./configure
make
make install
centos默认安装路径:/usr/local/nginx
进入此目录:cd /usr/local/nginx/sbin
输入命令启动nginx(测试是否安装成功):./nginx
如果成功会显示以下界面:

进行nginx配置
cd /usr/local/nginx/conf
vi nginx.conf进行编辑
插入:
gzip on; ----->启动gzip压缩
gzip_min_length 1k; ----->最小压缩为1k
gzip_buffers 4 16k; ----->以16k为单位,按照原始数据大小以16k为单位的4倍申请内存
#gzip_http_version 1.0; ----->识别http协议的版本,早起浏览器可能不支持gzip自解压,用户会看到乱码
gzip_comp_level 4; ----->等级1-9 最小的压缩最快 但是消耗cpu
gzip_types text/plain application/javascript application/x-javascript text/css text/javascript image/jpeg image/gif image/png; ------>压缩格式,这个很重要,只有对应格式才压缩
gzip_disable "MSIE [1-6]\."; ----->指定哪些不需要gzip压缩的浏览器
gzip_proxied any; ------>nginx做为反向代理时启用,off(关闭所有代理结果的数据的压缩),expired(启用压缩,如果header头中包括"Expires"头信息),no-cache(启用压缩,header头中包含"Cache-Control:no-cache"),no-store(启用压缩,header头中包含"Cache-Control:no-store"),private(启用压缩,header头中包含"Cache-Control:private"),no_last_modefied(启用压缩,header头中不包含"Last-Modified"),no_etag(启用压缩,如果header头中不包含"Etag"头信息),auth(启用压缩,如果header头中包含"Authorization"头信息)
gzip_vary on; ------>启用应答头"Vary: Accept-Encoding"
继续编辑在server里编辑
charset utf-8; ----->设置字符编码
location / {
uwsgi_pass 127.0.0.1:8000; ----->对应uwsgi配置的端口
include /usr/local/nginx/conf/uwsgi_params; ------conf目录下
}
location /static{ ----->静态文件
alias /home/myweb/static;
}
nginx操作:
启动:在sbin目录 ./nginx -c /usr/local/nginx/conf/nginx.conf
停止:查看进程 ps -ef|grep nginx 杀死进程 kill -TERM 2132
重启:./nginx -s reload
四:启动uwsgi、nginx服务,项目就运行成功了,如下:

参考文章:
https://blog.csdn.net/xing851483876/article/details/84306953
https://www.cnblogs.com/leechenxiang/p/7086298.html
https://www.jianshu.com/p/cc61d74104e5
https://www.cnblogs.com/codingcloud/p/5095066.html
腾讯云服务器centos7.2+nginx(开启gzip压缩)+uwsgi+Django+react的更多相关文章
- 部署Flask项目到腾讯云服务器CentOS7
部署Flask项目到腾讯云服务器CentOS7 安装git yum install git 安装依赖包 支持SSL传输协议 解压功能 C语言解析XML文档的 安装gdbm数据库 实现自动补全功能 sq ...
- Nginx 开启gzip压缩(图片,文件,css)
1.Vim打开Nginx配置文件 vim /usr/local/nginx/conf/nginx.conf 2.找到如下一段,进行修改 gzip on; gzip_min_length 1k; gzi ...
- Nginx开启Gzip压缩提升页面加载速度
1.在 nginx 的conf 目录下新建 gzip.conf 文件 #开启gzip压缩 gzip on; #设置允许压缩的页面最小字节数 gzip_min_length 1k; #申请4个单位为16 ...
- nginx 开启gzip压缩
Nginx开启Gzip压缩功能, 可以使网站的css.js .xml.html 文件在传输时进行压缩,提高访问速度,! Web网站上的图片,视频等其它多媒体文件以及大文件,因为压缩效果不好,所以对于 ...
- Hexo博客部署到腾讯云服务器全过程(Nginx,证书,HTTPS),你要的这里都有
背景 说来也惭愧,博客已经搭建很久了,一直免费的部署在 Coding 和 Github Pages 上,前者迁移到腾讯云 Serverless,导致原有的配置始终有问题,没时间仔细研究,刚好腾讯服务器 ...
- Nginx 开启gzip 压缩
随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢? gzip(GNU-ZIP)是一种压缩技术. 经过gz ...
- Nginx开启gzip压缩功能
在Nginx安装完成之后,我们可以开启Gzip压缩功能,这里Nginx默认只能对text/html类型的文件进行压缩.下面的指令为开启Gzip的指令: gzip on; gzip_http_versi ...
- Nginx 开启gzip 压缩,实现基于域名的虚拟主机。
一:gzip(GNU-ZIP)是一种压缩技术. 经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多. gzip 的压缩页面需要浏览器和服务器双方都支持,实际上 ...
- WIN2003服务器IIS下如何开启GZIP压缩
在上一篇文章黑客流谈到了关于网页打开速度对SEO的影响,其中提到了网页开启Gzip压缩的好处,接下来我来和大家分享一下WINDOWS系统IIS服务器下如何开启Gzip压缩. 首先我们来了解一下什么是G ...
随机推荐
- Spring Boot Mybatis 最基本使用mysql存储过程
首先声明:只是用最简单的方法大致了解如何用存储过程开发,如果需要查看存储过程创建语法的自行百度搜索 一.首先创建最基本的数据库 CREATE TABLE `t_user` ( `id` varchar ...
- Tomcat乱码或异常
一.控制台乱码 原因:Tomcat与Windows编码不一致导致 解决办法:首先找到conf/logging.properties文件,然后打开后找到“java.util.logging.Consol ...
- WEB UI分布式自动化测试框架
Github地址: https://github.com/zhangweixu/Autotest.git
- 我想外包开发一个APP,需要多少钱,多少时间?
在一个阳光明媚的下午,我正瘫坐在椅子上改bug.忽然有人给我发微信:“我想做个app,多长时间,多少钱?” 从我从业iOS开发到现在,这个问题被问过无数次,比那句:“你是程序员,那你会修电脑吗?”还要 ...
- [算法模板]FFT-快速傅里叶变换
[算法模板]FFT-快速傅里叶变换 感谢ZYW聚聚为我们讲解FFT~ 思路 我懒,思路和证明部分直接贴链接: rvalue LSJ-FFT与NTT基础 代码 主要思想是利用了单位根特殊的性质(n次单位 ...
- Python函数(函数定义、函数调用)用法详解
Python 中,函数的应用非常广泛,前面章节中我们已经接触过多个函数,比如 input() .print().range().len() 函数等等,这些都是 Python 的内置函数,可以直接使用. ...
- Python 从入门到进阶之路(一)
人生苦短,我用 Python. Python 无疑是目前最火的语言之一,在这里就不再夸他的 NB 之处了,本着对计算机编程的浓厚兴趣,便开始了对 Python 的自学之路,并记录下此学习记录的心酸历程 ...
- .NET轻松实现支付宝服务窗网页授权并获取用户相关信息
前言: 最近在开发一个商业街区的聚合扫码支付功能,其中需要用到的有支付宝,微信两种支付方式,当然对于开发微信支付而已作为自己的老本行已经比较熟悉了,然而对于我来说支付宝支付还是头一次涉及到.这次项目中 ...
- PlayJava Day012
今日所学: /* 2019.08.19开始学习,此为补档. */ JPanel和JFrame 1.JFrame是最底层,JPanel是置于其面上,同一个界面只有一个JFrame,一个JFrame可以放 ...
- 选择企业架构实践公开课的指导?TOGAF+ArchiMate+BangEA,EA工作者必学一门公开课
我发现身边越来越多人谈数字化.谈企业架构,但是感觉谈的总是IT?知道好像不对,但是又好像也无法告诉别人这和传统的IT架构有什么不一样?网上找资料,看了很多也摸不到门路,也不知道别人讲的对不对.对了还好 ...