django在服务器上部署

 

目录

一、安装python

1、下载依赖包

2、下载python包

3、解压python包

4、切换到python包路径

5、编译安装

6、创建软链接

二、安装django

三、安装uwsgi

1、安装uwsgi

2、创建软链接

3、测试uwsgi和django的契合

4、关闭防火墙和selinux

5、使用uwsgi的命令启动django

6、使用uwsgi脚本启动django

四、安装nginx

1、下载nginx包

2、解压包

3、切入解压目录

4、编译安装

5、创建软链接

6、启动nginx测试

7、配置nginx访问uwsgi参照(nginx/conf/nginx.conf)

8、关闭nginx和uwsgi

9、先启动uwsgi然后启动nginx


 

 

一、安装python

 

1、下载依赖包

先检测当前服务器的yum是否可用

yum可用的情况下,安装python需要的依赖包

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

 

2、下载python包

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

如果已经有包的话,可以传到服务器然后直接解压

 

3、解压python包

tar -Jxvf Python3.6.2.tar.xz

 

4、切换到python包路径

cd Python3.6.2

./configure prefix=/usr/local/python3

 

5、编译安装

make && make install

 

6、创建软链接

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

给python创建软链接的时候,可以顺便把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

1、安装uwsgi

pip3 install uwsgi

2、创建软链接

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

3、测试uwsgi和django的契合

uwsgi

django在服务器上部署_第1张图片

4、关闭防火墙和selinux

systemctl stop firewalld

setenforce

setenforce 0

5、使用uwsgi的命令启动django

uwsgi --http 192.168.254.130:8000 --file /opt/QShop/wsgi.py --static-map=/static=static

   --http  ip端口

   --file   uwsgi文件位置  /opt/QShop/是django项目的路径

   --static-map  静态文件路由

 

然后就可以去浏览器输入地址,打开项目了

6、使用uwsgi脚本启动django

这个操作需要nginx的配合,所以需要安装nginx,但是准备工作可以先做

在/opt下创建script目录,在script目录下创建uwsgi.ini文件,内容为:


[uwsgi]

chdir=/opt/QShop
module=QShop.wsgi:application
socket=/opt/script/uwsgi.sock
workers=5
pidfile=/opt/script/uwsgi.pid
http=192.168.254.130:9000
static-map=/static=/opt/QShop/static
uid=root
gid=root
master=true
vacuum=true
enable-threads=true
thunder-lock=true
harakiri=30
post-buffering=4096
daemonize=/opt/script/uwsgi.log
~                                   

上面代码的分别对应的是:

[uwsgi]      声明uwsgi

chdir   #项目目录

module  #指定项目的application,尤其注意的是这个!!!下面会提到

socket  #指定sock的文件路径

workers  #进程个数

pidfile  #pid文件

http  #指定IP端口

static-map  #指定静态文件

uid  #用户

gid  #组

master  #启用主进程

vacuum  #自动移除unix Socket和pid文件当服务停止的时候

enable-threads #启用线程

thunder-lock #序列化接受的内容,如果可能的话

harakiri #设置自中断时间

post-buffering #设置缓冲

daemonize=/opt/script/uwsgi.log #设置日志目录

 

 

django在服务器上部署_第2张图片

这个东西是wsgi!!!!这个文件是python创建的,就叫wsgi,而不要自己改成uwsgi!!!

 

 

四、安装nginx

1、下载nginx包

Wget http://nginx.org/download/nginx-1.12.2.tar.gz      

2、解压包

tar -zxvf nginx-1.12.2.tar.gz

3、切入解压目录

cd nginx-1.12.2

4、编译安装

./configure \

出现了>,然后再按一下enter

make && make install

5、创建软链接

ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

6、启动nginx测试

nginx

然后进网页,查看是否启动了

 

7、配置nginx访问uwsgi参照(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;


        error_log /var/log/nginx/error.log error;

        location / {
                include uwsgi_params;
                uwsgi_connect_timeout 30;
                uwsgi_pass unix:/opt/script/uwsgi.sock;
        }

        error_page   500 502 503 504  /50x.html;
        location = /static/ {
                alias /opt/QShop/static;
                index index.html index.htm;
        }
    }
}

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;

        }

 

8、关闭nginx和uwsgi

pkill -9 uwsgi

pkill -9 nginx

9、先启动uwsgi然后启动nginx

uwsgi --ini /opt/script/uwsgi.ini

nginx

如果没有报错的话,应该已经完成了,可以根据设置好的地址,去浏览器访问

 

 

 

 

 

 

你可能感兴趣的:(django在服务器上部署)