Centos下Python2和3并存环境部署
第一部分:

python环境部署
我们今天学习的内容是如何将Django项目部署到linux服务器上,我们部署的linux系统是centos7首先,我们先在linux上搭建我们的Python3环境:

在这里首先强调一下,Centos7系统自带的Python2我们不要删除,我们要做的是在Python2和python3并存。

1、 安装Python3的依赖包

2、 命令:
[root@localhost Desktop]#

 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y




3、 然后下载Python3的安装包

命令:wget https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tar.xz


解压安装包

命令 tar -xvJf Python-3.5.4.tar.xz


切入目录,进行编译安装

[root@localhost Desktop]# cd Python-3.5.4/
[root@localhost Python-3.5.4]# ./configure prefix=/usr/local/python3


make && make install



3、配置环境变量

命令: ln -s /usr/local/python3/bin/python3 /usr/bin/python3

效果如下:

上面完成了python的安装,接下来安装python的依赖包和项目的依赖包

第二部分:

1、 python-devel

命令:yum -y install python-devel

安装Django2.1.2 pillow django-ckeditor5.4.0

pip3 install django==2.1.2

pip3 install pillow

pip3 install django-ckeditor==5.4.0


python uwsgi
上面我们已经完成了python+Django环境的部署,接下来我们需要了解python 的uwsgi框架。接下来我们需要了解python 的uwsgi模块。

Python manager.py runserver, 这是一款适合开发阶段使用的服务器,只支持最高200的并发,显然不适合在生产中使用。我们在生产环境当中,通常会用到apache或者nginx服务器作为Django的生产服务器。今天我们以nginx为例子。但是在学习部署之前,我们首先要掌握在Django和nginx之间的一个程序,就是wsgi,web服务器网关接口,英文叫, Web Server Gateway Interface 缩写叫WSGI,是Python应用程序或框架和web服务器之间的一种接口。

我们今天部署用的是uwsgi模块,首先安装

pip3 install uwsgi


然后配置环境变量

命令:ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi


Django和WSGI的结合

我们把我们准备好的Django项目存放到/opt/下

       [root@localhost bin]# cp -r /root/Desktop/OurBlog/ /opt/[root@localhost bin]#


然后尝试使用uwsgi启动Django项目

在这里我们要关注到之前大家一直忽视的一个文件了


这个就是我们项目的uwsgi文件

uwsgi --http 192.168.1.69:8000 --file OurBlog/wsgi.py --static-map=/static=static

当然,这里我们要配置seLinux,防火墙和Django的settings        关闭selinux命令: setenforce 0关闭防火墙命令:systemctl stop firewalld.serviceSettings配置ED_HOSTS = ["*"] 允许所有访问然后发起访问

django+nginx+uwsgi
上面我们用命令启动了uwsgi,但是体验不太好,所以我们在这里使用ini文件启动uwsgi服务器

在项目同等级目录下创建script目录


然后在当中编写uwsgi.ini文件,内容如下


[uwsgi]chdir=/opt/OurBlog   #项目目录module=OurBlog.wsgi:application  #指定项目的applicationsocket=/opt/script/uwsgi.sock  #指定sock的文件路径workers=5  #进程个数pidfile=/opt/script/uwsgi.pidhttp=192.168.2.69:8000  #指定IP端口static-map=/static=/opt/OurBlog/static  #指定静态文件uid=root  #用户gid=root  #组master=true  #启用主进程vacuum=true  #自动移除unix Socket和pid文件当服务停止的时候enable-threads=true #启用线程thunder-lock=true #序列化接受的内容,如果可能的话harakiri=30 #设置自中断时间post-buffering=4096 #设置缓冲daemonize=/opt/script/uwsgi.log #设置日志目录然后启动uwsgi服务Uwsgi --ini uwsgi.ini(脚本名称)

然后可以正常访问

安装nginx服务器

我们直接安装nginx是没有的,所以,需要我们wget

命令:wget -c https://nginx.org/download/nginx-1.12.2.tar.gz


解压

命令:tar -zxvf nginx-1.12.2.tar.gz && cd nginx-1.12.2

自定义配置

命令:./configure \

编译安装

命令:make && make install


然后配置环境变量

命令:ln sbin/nginx /usr/bin/nginx

启动nginx查看效果


进行nginx配置,(配置nginx.conf,配置之前进行备份)

备份

然后开始配置配置节选1http {include       mime.types;default_type  application/octet-stream;#这里规定了日志的格式,默认是注释的,我们需要解开注释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  logs/access.log  main;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {

配置节选2server {listen       80;  #监听端口server_name  OurBlog; #服务名称charset utf-8; #服务器编码access_log  /var/log/nginx/access.log  main; #访问日志路径,注意:这个目录可能没有,需要创建gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; #压缩格式error_log /var/log/nginx/error.log error; #错误日志注意:这个目录可能没有,需要创建location / {include uwsgi_params; #nginx加载uwsgi模块uwsgi_connect_timeout 30; #连键超时时间uwsgi_pass unix:/opt/script/uwsgi.sock; #nginx对应的uwsgi socket文件}location = /static/ {alias /opt/OurBlog/static;  #静态文件路径index index.html index.htm;  #首页}}

linux Centos系统下django项目在Nginx服务器上的部署相关推荐

  1. linux CentOS 系统下如何将php和mysql命令加入到环境变量中

    在Linux CentOS系统上安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到环境变量之前,执行"php -v"命令查看当前 ...

  2. 服务器主板用linux版本系统,华硕WG X299主板的服务器上安装ubuntu16.04的系统

    1.服务器参数(预购参数) CPU处理器,Intel I9-7940X,3.1GHZ,最大睿频4.3GHZ,14核28线程: 主板:Intel x299芯片,华硕ws x299SAGE主板,4路GPU ...

  3. Linux(CentOS)系统下设置nginx开机自启动

    2019独角兽企业重金招聘Python工程师标准>>> Nginx 是一个很强大的高性能Web和 反向代理服务器.下面介绍在linux下安装后,如何设置开机自启动. 首先,在linu ...

  4. linux Centos系统下mysql主从配置

    为什么80%的码农都做不了架构师?>>>    1.准备两台装好mysql的机器 mysql单机安装步骤请参考https://my.oschina.net/qbj/blog/1850 ...

  5. Linux CentOS系统下jps -l命令不生效解决方案

    问题: 1.查看确认java是否已经安装 可以看到jdk 1.8已正常安装,可是jps命令仍然不生效 解决: 1.网上找了很多方法,但jps命令无效,root和普通用户都不行 2.在网上摘抄一段关键的 ...

  6. 云服务器linux(centos)系统下Rstudio的下载及连接R语言软件

    前提为在云服务器端打开Rstudio8787的端口 1 进入Rstudio官网找到对应系统的Rstudio的rpm文件用wget下载RStudio Server - Posit好吧Rstudio官网改 ...

  7. Linux CentOS系统 图形模式下,鼠标键盘操作没有响应

    1.前言 最近在和同事一起在linux CentOS系统下部署项目,由于同事不知道执行了什么不当操作,改变了系统的权限(权限可能是被修改,也可能是被删除了),改变的权限有可能是用户权限,也可能是其它权 ...

  8. linux下安装两个nginx教程,在linux系统下安装两个nginx的简单方法

    在linux系统下安装两个nginx的简单方法 发布时间:2017-03-09 12:08 来源:互联网 当前栏目:web技术类 在linux下安装nginx的时候,一般在./configure的阶段 ...

  9. Linux/Unix系统下nginx+php安装简明教程

    本文转载自Linux/Unix系统下nginx+php安装简明教程,请保留转载信息~ 一.安装nginx: 1. 安装pcre库,nginx的rewrite模板需用到pcre库: mkdir -p / ...

最新文章

  1. 1.7 Java try catch finally语句
  2. 回调地狱解决方案之Promise
  3. 数据库:存储过程_数据科学过程:摘要
  4. go https 笔记
  5. php new static,PHP 的 new static 和 new self
  6. 怎么把GMS的软件转到HMS
  7. VulnHub渗透实战--Bytesec
  8. pm2.5计算和单位换算
  9. 大数据行业最顶尖明星人才TOP20
  10. ArcGIS亚洲字体(CJK)垂直显示
  11. 计算机DNS怎么配置,dns设置,教您怎么设置dns地址
  12. vue NavigationDuplicated: Avoided redundant navigation to current location
  13. 网上出售企业支付宝骗局,不看后悔
  14. C++函数模板非类型参数的使用介绍
  15. 查尔姆斯理工计算机教授,瑞典查尔姆斯理工大学王二刚教授系统评述:供体-受体型三元共轭聚合物实现高效太阳能电池器件构筑...
  16. 微信开发40163 40029错误总结
  17. 编译原理 C-Minus词法分析(FLEX)
  18. 在国际化中如何获取当前浏览器的语种
  19. 东软实训心得:万事开头难
  20. zigbee无线传感网技术与应用开发v2.0_物联网通讯协议——Zigbee

热门文章

  1. LabVIEW通讯-GPIB
  2. exchange 2010升级至2016步骤总结
  3. (附源码)ssm 学校疫情服务平台 毕业设计 291202
  4. 信息流广告ROI线性预测看板投放分析监控看板展示数据处理入库全流程
  5. python2 with open encoding_python with open as f写中文乱码
  6. K-近邻法(KNN算法)
  7. 在Windows上使用nginx具体步骤
  8. QT学习:QDropEvent拖拽事件
  9. SSM 框架学习(黑马程序员)
  10. 机器学习: t-Stochastic Neighbor Embedding 降维算法 (二)