Centos django+uwsgi+nginx部署
Centos django+uwsgi+nginx部署
安装Python
CentOS 7 Linux发行版默认包含Python 2。但是,Python 2将于2020年1月1日停产。尽管一些遗留应用程序可能由于各种原因需要访问Python 2,但是启动Python 3中的新项目至关重要。
通过软件管理包Yum
更新环境
$ yum update -y
- -y:安装包的时候会询问y/n,这个参数是所有询问默认y,下边不再提醒,在终端输入以上命令时,直接下载安装,不再要求确认。
在7.7之前的CentOS 7版本中,CentOS基本存储库没有提供Python 3软件包。从CentOS 7.7开始,Python 3可在基本软件包存储库中使用!
安装Python3
$ yum install -y python3
源码安装
环境依赖
$ yum install gcc openssl-devel bzip2-devel libffi-devel -y
下载Python
# 下载
$ wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
# 解压
$ tar -xzf Python-3.8.3.tgz
安装Python3
进入目录
$ cd Python-3.8.3/
编译
$ ./configure --enable-optimizations
安装
$ make && make install
uwsgi
安装uwsgi
由于uWSGI由EPEL提供,因此无需使用进行安装pip
。
$ yum -y install uwsgi uwsgi-plugin-python3
配置uwsgi
在django项目manage.py
同级目录下,创建uwsgi.ini
文件。
[uwsgi]
chdir=/home/wj/Project/data_analysis
module=data_analysis.wsgi:application
socket=:8000
processes=5
threads=2
master=True
pidfile=uwsgi.pid
vacuum=True
max-requests=5000
daemonize=uwsgi.log
env DJANGO_SETTINGS_MODULE=data_analysis.settings
home=/home/wj/Envs/django
注意:如果后期运行时出现以下这种错误,只需在uwsgi.ini
文件里添加plugins = python36
(python36是Python版本)
-- unavailable modifier requested: 0 --
运行uwsgi
$ uwsgi --ini uwsgi.ini
会生成指定自己指定名称的.log
文件和.pid
文件
停止uwsgi
$ uwsgi --stop uwsgi.pid
nginx
安装
$ yum install -y nginx
配置nginx
查看nginx配置文件位置
$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
查看配置文件/etc/nginx/nginx.conf
$ cat /etc/nginx/nginx.conf
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;events {worker_connections 1024;
}http {log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;include /etc/nginx/mime.types;default_type application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf;
}
我们只需关注include /etc/nginx/conf.d/*.conf;
进入/etc/nginx/conf.d/
,在此目录下创建以.conf
结尾的文件。
创建配置文件
$ vim django.conf
# mysite_nginx.confupstream django {server 127.0.0.1:8001; # 服务器的套接字
}server {# 监听的端口号listen 8000;# 编码charset utf-8;# Finally, send all non-media requests to the Django server.location / {uwsgi_pass django;include uwsgi_params; # 可下载,也可自己创建文件。}
}
uwsgi_params:https://github.com/nginx/nginx/blob/master/conf/uwsgi_params
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $scheme;
uwsgi_param HTTPS $https if_not_empty;uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
检查nginx配置
$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
启动nginx
$ service nginx restart
Centos django+uwsgi+nginx部署相关推荐
- django+uwsgi+nginx部署
最近线上部署运维工单系统,使用django+uwsgi+nginx部署,发现这篇文章,很详细,觉得不错,转载一下: 写了那么长时间的django,一直没跟nginx结合一下,访问的时候老是得加端口号, ...
- 【django云服务器部署】django+uwsgi+nginx 部署的完整流程
本篇博客完整地记录了我从购买服务器到完成部署的全过程,需要的朋友可以参考一下我的流程,看这一篇文章就能成功部署项目啦. 写这个的本意是为备忘( 保姆级步骤),同时由于我在最开始部署项目时,没有找到一个 ...
- Ubuntu下Django+uWSGI+nginx部署
本文采用uwsgi+nginx来部署django 这种方式是将nginx作为服务端前端,将接受web所有的请求,统一管理,Nginx把所有的静态请求自己处理,然后把所有非静态请求通过uwsgi传递给D ...
- virtualvenv+django+uWSGI+nginx 部署 踩坑记录
原创博文 转载请注明出处! uwsgi: unrecognized option '--http:8089' uwsgi: unrecognized option '--http' uwsgi trk ...
- django+uwsgi+nginx部署访问出现问题(无法解决寻求帮助)
字体文件已经进行压缩
- 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤
文章目录 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤 先决条件 步骤 本地运行测试 上传服务器 环境安装 准备django程序 完美解决! 瞬间心情愉 ...
- 如何让nginx执行python代码_生产环境部署Python语言代码(django+uwsgi+nginx)
本文主要向大家介绍了生产环境部署Python语言代码(django+uwsgi+nginx),通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 基础环境不做介绍,在django开发w ...
- [转]Docker部署Django由浅入深系列(下): 八步部署Django+Uwsgi+Nginx+MySQL+Redis
在上篇教程中,我们手动构建了两个容器,一个容器放Django + Uwsgi,另一个容器放Nginx,成功部署了一个简单的Django项目.然而在实际的生产环境中,我们往往需要定义数量庞大的 dock ...
- Django扩展 —— uwsgi+nginx部署
-- uwsgi+nginx部署(django) -- 服务器环境配置 -- 导出虚拟环境的所有包 pip freeze > list.txt -- 通过ftp软件将项目以及list.txt文件 ...
最新文章
- ICCV2021 | SMCA:即插即用的共同注意力模型,可使DETR收敛加速10倍
- springCloud之配置中心学习
- java中pc寄存器的作用是什么_既然有PC寄存器,栈帧里的返回地址的作用是什么?...
- Redis的缓存雪崩、缓存击穿、缓存穿透与缓存预热、缓存降级
- 机器学习笔记(六):正则化
- wordpress主题ajax,为自制WordPress主题/插件的后台设置页面添加ajax支持
- 解决MYSQL不报错误详细信息的问题 Can‘t find error-message file
- matlab 虚数 .,关于MATLAB在复数方面的应用 – MATLAB中文论坛
- 【转载】哇!!!这个真的是我见过最全的端口介绍了
- 单片机C语言入门自学指南(前期准备)
- 在一个页面的多个位置同时显示不同的Toastr提示信息
- 如何在Excel中快速调整列宽
- 选择云盾抗ddos防火墙,信息安全有保障
- 双曲函数奇偶性_双曲函数的来历是什么,与三角函数有什么关系?
- 北京大学计算机考研专业课考什么,北大计算机怎样考
- JVm - Parallel Scavenge 垃圾回收器
- c语言求数组最大值最小值泡沫法,C语言选择法排序
- shell中test命令用法详解
- 批量删除github工程仓库的办法
- SOUI总结之常用功能