centos7 + nginx + uwsig + Django

Posted 风一样的男人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7 + nginx + uwsig + Django相关的知识,希望对你有一定的参考价值。

## 今天整一个线上部署环境 

## 概念性 东西自己看就好了 直接上货

## 注意我这里的python3 已经安装好了,如果没有安装的可以参考我博客进行安装

## 我这里选择的是使用虚拟环境去进行搭建的,后续也会更新在python3安装方法的博客中

 

## 第一步 如果你的项目在你的本地,就先上传在服务器中,把所有的依赖都导出来,稍后再服务器中进行安装
## 注意项目不能放在root目录下
1. 进入虚拟环境
     1、安装virtualenv

      yum install python-virtualenv

  2、创建python虚拟环境

      virtualenv env           # 执行后,执行的目录会生成一个与虚拟环境同名的文件夹

      如果你的系统里安装有不同版本的python,可以使用--python参数指定虚拟环境的python版本:
                # 这里指向的我python3的环境。如果你是python2 可以执向你python2的环境
      virtualenv --python=/usr/local/bin/python3 env
            
        cd /env/bin
        source activate 
  3、启动虚拟环境    

      source bin/activate         # 启动虚拟环境

      deactivate                      # 退出虚拟环境

 
## 我这里就不用下载python3了                             

 

 ## 进入虚拟环境 安装django 这些就都不说了,安装完成之后,在把你的依赖包都安装上 就可以了

## 在安装uwsgi之前 最好先看看你的项目能不能使用manage.py 运行起来  如果没有问题安装uwsgi

pip3 install uwsgi
##主要安装完成之后需要在 项目 manage.py 的同级创建一个uwsgi.ini的文件

 

 

vim uwsgi.ini

## 比如我项目在 /var/code/myweb
[uwsgi]
#配置和nginx连接的socket连接
# 注意这里是内网的ip 不是公网ip
socket= 内网ip:8000
chdir= /var/code/myweb
#配置wsgi接口模块文件路径
wsgi-file=myweb/wsgi.py
#配置启动的进程数
processes=4
#配置每个进程的线程数
threads=2
#配置启动管理主进程
master=True
#配置存放主进程的进程号文件
pidfile=uwsgi.pid
#配置dump日志记录
daemonize=uwsgi.log

## 在你的项目更路径启动uwsgi

(env) [root@11111]# uwsgi  --ini  uwsgi.ini

 ###  ps -ef|grep uwsgi

 

 ## 如果能出现这部分内容说明uwsgi启动成功

##安装nginx

yum install -y nginx 

在 /etc/nginx/conf.d 路径下 创建一个 配置文件 
vim **.conf #文件名称自定义

server{
    #监听端口自定义
    listen       8000;
    server_name  公网ip;
    client_max_body_size 5M;
    gzip on;
    gzip_buffers 32 4K;#压缩在内存中缓冲32块 每块4K
    gzip_comp_level 6 ;#压缩级别 推荐6
    gzip_min_length 4000;#开始压缩的最小长度4bit
        gzip_types text/plain application/json application/javascript application/x-javascript application/css application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png image/x-ms-bmp;
        location / {
              include uwsgi_params;
              uwsgi_pass 公网ip:这里的端口要和uwsgi的端口一样;
              uwsgi_ignore_client_abort on;
        }
        location /static {
                alias 静态文件路径/static;
        }
        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }

}
systemctl restart nginx #重新启动nginx
uwsgi --ini uwsgi.ini #启动uwsgi
http://ip:监听端口 (
8000
uwsgi --stop uwsgi.pid    # 关闭uwsgi
 
 

 

以上是关于centos7 + nginx + uwsig + Django的主要内容,如果未能解决你的问题,请参考以下文章

nginx__的简单搭建和 wsgi

uwsgi + nginx 配置

Django线上部署代码修改失效问题

基于django的个人博客网站建立

centos7 安装Nginx

Centos7 yum安装nginx