django云主机发布

1、安装依赖包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc* make -y
安装时出现yum lock错误
解决方法 rm -f /var/run/yum.pid
2、下载python安装包,最好下载到/opt下
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz
3、解压python安装包,最好解压到/opt下
tar -Jxvf Python-3.5.2.tar.xz
4、配置安装路径
切入到解压目录下
./configure prefix=/usr/local/python3
5、编译安装
切入到解压目录下
make && make install
6、配置软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
window下导出之前python安装的包的清单
pip freeze > package.txt
将该txt文件拖入centos7下
执行命令pip3 install -r package.txt
接下来安装python的依赖包和项目的依赖包
python-devel
命令:yum -y install python-devel
在这里插入图片描述

将本地项目的环境通过pip freeze > package.txt 生成出来,找到该文件放到云主机上
然后在云主机上通过pip3 install -r package.txt

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 /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
在这里插入图片描述
然后尝试使用uwsgi启动Django项目
在这里我们要关注到之前大家一直忽视的一个文件了
在这里插入图片描述
uwsgi --http 内网ip:8000 --file OurBlog/wsgi.py --static-map=/static=static
ip地址是内网ip地址
当然,这里我们要配置seLinux,防火墙和Django的settings
关闭selinux
命令: setenforce 0
关闭防火墙
命令:systemctl stop firewalld.service
Settings配置
ED_HOSTS = ["*"] 允许所有访问
然后发起访问
注意 此命令在虚拟机上好用,在云主机上不一定好用
上面我们用命令启动了uwsgi,但是体验不太好,所以我们在这里使用ini文件启动uwsgi服务器
在项目同等级目录下创建script目录
在这里插入图片描述
然后在当中编写uwsgi.ini文件,内容如下
[uwsgi]
chdir=/opt/OurBlog #项目目录
module=OurBlog.wsgi:application #指定项目的application
socket=/opt/script/uwsgi.sock #指定sock的文件路径
workers=5 #进程个数
pidfile=/opt/script/uwsgi.pid
http=172.16.16.4:8000 #指定IP端口这个ip指的是内网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(脚本名称)
在这里插入图片描述
然后查看script文件夹下,会有四个文件,如果缺少,配置不成功
在这里插入图片描述
然后可以正常访问内网ip
安装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
在这里插入图片描述
这里需要按2次回车
编译安装
命令:make && make install
在这里插入图片描述
然后配置环境变量
命令:ln /usr/local/nginx/sbin/nginx /usr/bin/nginx
在这里插入图片描述
启动nginx查看效果 ,这个ip指的是云主机外网ip
在这里插入图片描述
进行nginx配置,(配置nginx.conf,配置之前进行备份)下面是具体路径安装之后的路径而不是当前目录下的
命令是 cd /usr/local/nginx/conf
备份具体命令cp nginx.conf nginxback.conf
在这里插入图片描述
然后开始配置vim nginx.conf
然后开始配置
配置节选1
http {
include mime.types;
default_type application/octet-stream;
#这里规定了日志的格式,默认是注释的,我们需要解开注释
log_format main '$remote_addr - r e m o t e u s e r [ remote_user [ remoteuser[time_local] “KaTeX parse error: Double superscript at position 34: … '̲status b o d y b y t e s s e n t " body_bytes_sent " bodybytessent"http_referer” ’
‘“ h t t p u s e r a g e n t " " http_user_agent" " httpuseragent""http_x_forwarded_for”’;

#access_log  logs/access.log  main;

sendfile        on;
#tcp_nopush     on;

在这里插入图片描述
配置节选2
server {
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;  #首页
    }

在这里插入图片描述
剩下的没有注释的可以注释掉或者删除
在这里插入图片描述
然后就可以访问了,外网地址
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值