Django部署项目

环境:

    操作系统:linux(centos7) 

进入虚拟机环境

安装依赖包

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

下载python包

wget https://www.python.org/ftp/python/3.6.3/Python-3.6.2.tar.xz

解压python包

tar -Jxvf Python-3.6.2.tar.xz 

安装路径的配置

cd Python3.6.2   

./configure prefix=/usr/local/python3

编译安装

make && make install

 创建软连接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
# 测试python是否安装成功、软连接是否创建成功
python3

 Django部署项目

创建pip3软连接

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

安装django 系列

pip3 install pymysql && pip3 install pillow && pip3 install django=2.1.5 && pip3 install django-ckeditor

安装uwsgi、创建软连接

pip3 install uwsgi
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

 测试uwsgi 和 django的契合

uwsgi

 使用uwsgi启动django项目

uwsgi --http 10.10.65.40:8000 --file Ourblog/wsgi.py --static-map=/static=static

Django部署项目

Django部署项目

在/opt下创建script目录

在script目录下创建uwsgi.ini

[uwsgi]



chdir=/opt/OurBlog  项目目录

module=OurBlog.uwsgi:application 模块类型

socket=/opt/script/uwsgi.sock  sock文件

workers=5 进程

pidfile=/opt/script/uwsgi.pid 进程id

http=10.10.65.95:8000 ip和端口

static-map=/static=/opt/OurBlog/static 静态文件路由和静态文件

uid=root 用户id

gid=root 组id

master=true 是否启用主进程

vacuum=true 项目停止删除冗余文件

enable-threads=true 是否启用线程

thunder-lock=true 序列化接收内容

karakiri=30 自中断时间

post-buffering=4096 缓存

daemonize=/opt/script/uwsgi.log  日志

:wq      保存

修改ini文件权限

chmod 777 uwsgi.ini 

使用脚本运行django项目

uwsgi --ini uwsgi.ini

安装nginx、解压包

wget http://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 -s /usr/local/nginx/sbin/nginx/ /usr/bin/nginx

nginx 启动测试

nginx

开始配置nginx    (/usr/local/nginx/conf/nginx.conf)

http {
    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 {
        listen       80;
        server_name  Qshop; 服务的名称

        charset utf-8; 编码格式

        access_log  logs/host.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; 加载uwsgi_params
             uwsgi_connect_timeout 30; 连接的超时时间 不要加冒号不要加冒号不要加冒号 
             uwsgi_pass unix:/opt/script/uwsgi.sock; uwsgi.sock通讯的文件地址
        }

        location = /static/{
            alias /opt/Qshop/static; 静态文件的目录
            index index.html index.htm;
        }

关闭nginx和uwsgi

pkill -9 uwsgi
pkill -9 nginx

 先启动uwsgi 然后启动nginx

Uwsgi --ini uwsgi.ini
nginx

部署完成了  可以访问项目了