Centos django+uwsgi+nginx部署

安装Python

CentOS 7 Linux发行版默认包含Python 2。但是,Python 2将于2020年1月1日停产。尽管一些遗留应用程序可能由于各种原因需要访问Python 2,但是启动Python 3中的新项目至关重要。

通过软件管理包Yum

  1. 更新环境

    $ yum update -y
    • -y:安装包的时候会询问y/n,这个参数是所有询问默认y,下边不再提醒,在终端输入以上命令时,直接下载安装,不再要求确认。

    在7.7之前的CentOS 7版本中,CentOS基本存储库没有提供Python 3软件包。从CentOS 7.7开始,Python 3可在基本软件包存储库中使用!

  2. 安装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部署相关推荐

  1. django+uwsgi+nginx部署

    最近线上部署运维工单系统,使用django+uwsgi+nginx部署,发现这篇文章,很详细,觉得不错,转载一下: 写了那么长时间的django,一直没跟nginx结合一下,访问的时候老是得加端口号, ...

  2. 【django云服务器部署】django+uwsgi+nginx 部署的完整流程

    本篇博客完整地记录了我从购买服务器到完成部署的全过程,需要的朋友可以参考一下我的流程,看这一篇文章就能成功部署项目啦. 写这个的本意是为备忘( 保姆级步骤),同时由于我在最开始部署项目时,没有找到一个 ...

  3. Ubuntu下Django+uWSGI+nginx部署

    本文采用uwsgi+nginx来部署django 这种方式是将nginx作为服务端前端,将接受web所有的请求,统一管理,Nginx把所有的静态请求自己处理,然后把所有非静态请求通过uwsgi传递给D ...

  4. virtualvenv+django+uWSGI+nginx 部署 踩坑记录

    原创博文 转载请注明出处! uwsgi: unrecognized option '--http:8089' uwsgi: unrecognized option '--http' uwsgi trk ...

  5. django+uwsgi+nginx部署访问出现问题(无法解决寻求帮助)

    字体文件已经进行压缩

  6. 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤

    文章目录 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤 先决条件 步骤 本地运行测试 上传服务器 环境安装 准备django程序 完美解决! 瞬间心情愉 ...

  7. 如何让nginx执行python代码_生产环境部署Python语言代码(django+uwsgi+nginx)

    本文主要向大家介绍了生产环境部署Python语言代码(django+uwsgi+nginx),通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 基础环境不做介绍,在django开发w ...

  8. [转]Docker部署Django由浅入深系列(下): 八步部署Django+Uwsgi+Nginx+MySQL+Redis

    在上篇教程中,我们手动构建了两个容器,一个容器放Django + Uwsgi,另一个容器放Nginx,成功部署了一个简单的Django项目.然而在实际的生产环境中,我们往往需要定义数量庞大的 dock ...

  9. Django扩展 —— uwsgi+nginx部署

    -- uwsgi+nginx部署(django) -- 服务器环境配置 -- 导出虚拟环境的所有包 pip freeze > list.txt -- 通过ftp软件将项目以及list.txt文件 ...

最新文章

  1. ICCV2021 | SMCA:即插即用的共同注意力模型,可使DETR收敛加速10倍
  2. springCloud之配置中心学习
  3. java中pc寄存器的作用是什么_既然有PC寄存器,栈帧里的返回地址的作用是什么?...
  4. Redis的缓存雪崩、缓存击穿、缓存穿透与缓存预热、缓存降级
  5. 机器学习笔记(六):正则化
  6. wordpress主题ajax,为自制WordPress主题/插件的后台设置页面添加ajax支持
  7. 解决MYSQL不报错误详细信息的问题 Can‘t find error-message file
  8. matlab 虚数 .,关于MATLAB在复数方面的应用 – MATLAB中文论坛
  9. 【转载】哇!!!这个真的是我见过最全的端口介绍了
  10. 单片机C语言入门自学指南(前期准备)
  11. 在一个页面的多个位置同时显示不同的Toastr提示信息
  12. 如何在Excel中快速调整列宽
  13. 选择云盾抗ddos防火墙,信息安全有保障
  14. 双曲函数奇偶性_双曲函数的来历是什么,与三角函数有什么关系?
  15. 北京大学计算机考研专业课考什么,北大计算机怎样考
  16. JVm - Parallel Scavenge 垃圾回收器
  17. c语言求数组最大值最小值泡沫法,C语言选择法排序
  18. shell中test命令用法详解
  19. 批量删除github工程仓库的办法
  20. SOUI总结之常用功能

热门文章

  1. mysql数据库的主从同步,实现读写分离
  2. XGBoost论文阅毕
  3. 静态资源cdn服务是什么
  4. allinone rotator演示40种不同的焦点图轮播
  5. 安装算量软件通风专业操作问答
  6. eclipse 中的注释 快捷键 多行注释快捷键 单行注释快捷键
  7. steam搬砖项目,csgo游戏搬砖详细拆解分享
  8. 山东大学教授团畅谈ChatGPT革命座谈会,探讨ChatGPT发展趋势
  9. HMACSHA256
  10. C#实现HMACSHA256加密算法