Django部署

首先需购买服务器 新手推荐购买 阿里云或腾讯云进行使用 相对别的服务器更加简单易上手容易部署

一本地部署

(1)布署前需要关闭调试、允许任何机器访问,打开项目的settings.py文件。

DEBUG = False
ALLOW_HOSTS=['*',]
收集静态资源:
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

python3 manage.py collectstatic  

(2)配置uWSGI,在项目目录下创建uwsgi.ini文件,配置如下

[uwsgi]
http = 127.0.0.1:8000
chdir = /home/qq/桌面/boke#uwsgi文件的路径
module          = boke.wsgi

processes       = 4

master          = true

threads = 2

daemonize       = uwsgi.log

pidfile = uwsgi.pid
virtualenv = /home/qq/.virtualenvs/1807_01#环境的路径

(3)启动 uwsgi

    uwsgi --ini uwsgi.ini#在项目里

(4)查看进程

ps ajx|grep uwsgi

(5)停止

uwsgi --stop uwsgi.pid或 kill -9 后加进程号

(6)在浏览器中输入如下网址:

http://127.0.0.1

(7)测试没问题,将配置中启用socket,禁用http

[uwsgi]
socket = 127.0.0.1:8000
chdir = /home/qq/桌面/boke#uwsgi文件的路径
module          = boke.wsgi

processes       = 4

master          = true

threads = 2

daemonize       = uwsgi.log

pidfile = uwsgi.pid
virtualenv = /home/qq/.virtualenvs/1807_01#环境的路径

(8)下载nginx后放到桌面上,解压缩

tar zxvf nginx-1.6.3.tar.gz

(9)进入nginx-1.6.3目录,依次执行以下命令进行安装

./configure
make
sudo make install

(10)默认安装到/usr/local/nginx/目录,进入此目录

cd /usr/local/nginx/

执行 sudo vi nginx.conf 配置如下文件

        server {
              listen 80;#要监听的端口号
              server_name 127.0.0.1;#本地ip地址

              #动态请求
              location / {
                  include uwsgi_params;
                  uwsgi_pass 127.0.0.1:8000;
              }
              #静态
             location /static {
                alias /home/qq/桌面/boke/static;#静态文件夹路径

              }
}

(11)启动nginx
/etc/init.d/nginx start 启动

        /etc/init.d/nginx stop 或killall -9 nginx 关闭

        /etc/init.d/nginx restart 重启    

(二)服务器部署

(1)进入你购买服务器通过扫码进行登陆 点击控制台 找到并记住你的服务器ip 重置一下密码
然后再终端通过远程登陆操纵服务器

 ssh ubuntu#服务器名称@118.24.255.81#服务器ip

(2)在服务器终端输入:

  sudo apt update 和 sudo apt upgrade

(3)安装pip

 sudo apt install python3-pip

(4)安装虚拟环境

sudo pip3 install virtualenv 

可能会报错如果报错在终端依次执行如下代码
locale是用来设置软件运行的语言环境,所以语言环境设置有问题

    解决故障   复制这三条 命令 一条一条输入 在登入云服务器
    重新设置语言环境,最简单的解决办法:
    第一条
     echo "export  LC_ALL=en_US.UTF-8"  >>   /home/XXX/.bash_profile 代表(特定用户)
    第二条

     echo "export LC_ALL=en_US.UTF-8"  >>  /etc/profile 代表(所有用户)
    第三条
    exit

(5)配置虚拟环境

vi .bashrc

    复制这三条命令到文档
    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    source /usr/local/bin/virtualenvwrapper.sh

    激活
    source .bashrc

(6)创建虚拟环境

mkviatualenv 环境名称

(7)安装数据库

  sudo apt-get install mysql-server mysql-client

(8)导出本地数据库

mysqldump -uroot -p dbname#数据库名称 > /home/qq/桌面/blog.sql#要导出文件要放的位置路径

(9)导出本地依赖第三方

 pip freeze > requirements.txt

(10)数据库和依赖文件还有源码 上传到服务器

scp -r mz_boke.sql [email protected]:/home/ubuntu#服务器路径
scp -r requirements.txt  [email protected]:/home/ubuntu#服务器路径

(11)在云端创建一个和本地数据库一样的库,并导入数据

source  /xxx/xx/xx/blog.sql #在数据库里执行

(12)安装依赖文件

pip install -r packages.txt

(13)安装nginx 和安装uwsgi

       sudo apt-get install nginx
       pip  install uwsgi

(14)配置uwsgi和nginx 和本地部署一样
(1 5)启动uwsgi

  uwsgi --ini uwsgi.ini 启动
uwsgi --stop uwsgi.pip 关闭

(16)启动nginx

  /etc/init.d/nginx start 启动

  /etc/init.d/nginx stop 或killall -9 nginx 关闭

/etc/init.d/nginx restart 重启

完成

你可能感兴趣的:(Django部署)